如何更改 Evince(和其他 GNOME 程序)的键盘快捷键?

如何更改 Evince(和其他 GNOME 程序)的键盘快捷键?

有没有办法为 GNOME 文档查看器 Evince 自定义键盘快捷键?

答案1

我下载了 evince 的源代码(Debian 9.9、evince 3.22.1 提供的源代码),并且由于每个快捷方式都是“按原样”写入国际化文件(.po)中的,所以我猜它们是硬编码的。

例如:

help/fr/fr.po:msgid "<keyseq><key>Ctrl</key><key>R</key></keyseq>"
help/fr/fr.po:msgstr "<keyseq><key>Ctrl</key><key>R</key></keyseq>"

我正在尝试挖掘更多信息,但管理快捷方式的方式非常......奇怪:)

答案2

您可以在源代码中编辑它们,它们的定义位置,并重建包:

理论上,evince 应该读取 accels 文件初始化时间并与它所拥有的合并,因此您还可以更改 ~/.config/evince/accels 中的 accels 文件。请记住,如果存在语法错误,它会被覆盖。

答案3

我辞职去定制 Gnome 程序的键盘快捷键。我无法使用 Accels 文件。我在旧版本的portage中为源代码编写了补丁。但由于源码经常变动,我放弃了。

现在,我使用mooz/xkeysnail:另一个用于 X 环境的键盘重新映射工具

我写配置文件。

define_keymap(re.compile("Evince"), {
    # t
    K("k"): K("r"),
}, "Evince")

需要注意的是,如果您触摸没有修饰键的键,则当您在搜索表单中输入它时,它会被转换。

相关内容