在 Evince 中更改向上翻页和向下翻页的键盘快捷键

Håk*_*and 6 shortcut-keys evince

我想改变键盘快捷键“上一页”“下一页”evince。我有一台戴尔 Vostro 5568 笔记本电脑,其中的PgUpPgDn键笨拙地位于键盘右侧。相反,我想使用Ctrl+Leftand Ctrl+Right(目前绑定到"Rotate Left""Rotate Right"),或者使用Ctrl+Upand Ctrl+Down

Gnome 帮助页面我想我必须使用dconf-editor. 这是显示我的设置的两个屏幕截图:

在此处输入图片说明 在此处输入图片说明

现在,当我在 Evince 中单击“转到”菜单,并将鼠标指针向下移动到菜单项“上一页”时,我应该能够输入一个新的键盘快捷键。但是,如果我按下Ctrl+Up并关闭 Evince 并重新打开它,则快捷方式不起作用。这是 Evince 的截图:

在此处输入图片说明

我正在使用 Ubuntu 16.10。也有对Ubuntu 10.10旧的问题在这里

apl*_*ice 4

首先,以防万一您不知道,您可以使用SpaceandShift-Space代替PgDnand PgUp

如果您仍然想更改键绑定,那么不幸的是,我认为键绑定显然是硬编码的。三种可能的解决方案是:

  1. 切换到atrilevince 的 MATE 分支,并允许自定义键绑定,至少可以通过文件accels(位于~/.config/atril/accels)。为了进行比较,您可以查看,例如,~/.config/nautilus/accels.

  2. 使用具有 AutoHotkey 功能的东西(对于某些可能性,请参阅此 stackexchange 问题)。

  3. (如果您喜欢冒险)修补证据来源并重新编译:

获取Ubuntu使用的源:

apt-get source evince

如果这不起作用,请取消deb-src注释 中的行/etc/apt/sources.list

造成明显绑定的违规行是:

add_scroll_binding_keypad (binding_set, GDK_KEY_Page_Up, 0, GTK_SCROLL_PAGE_BACKWARD, GTK_ORIENTATION_VERTICAL);
add_scroll_binding_keypad (binding_set, GDK_KEY_Page_Down, 0, GTK_SCROLL_PAGE_FORWARD, GTK_ORIENTATION_VERTICAL);
Run Code Online (Sandbox Code Playgroud)

shell/ev-view.c。(请参阅GitHub 上的此处。为方便起见,提供了 GitHub 链接,但最好不要从那里获取源代码,而是通过apt-get如上所述的方式获取源代码。)

这些行需要更改为:

add_scroll_binding_keypad (binding_set, GDK_KEY_Up, GDK_CONTROL_MASK, GTK_SCROLL_PAGE_BACKWARD, GTK_ORIENTATION_VERTICAL);
add_scroll_binding_keypad (binding_set, GDK_KEY_Down, GDK_CONTROL_MASK, GTK_SCROLL_PAGE_FORWARD, GTK_ORIENTATION_VERTICAL);
Run Code Online (Sandbox Code Playgroud)

但请注意,如果您自己编译它,则不会自动显示安全修复程序。

shell/ev-application.c作为参考,如果有人希望明显修改其他键盘快捷键,则可以在定义中指定一些操作(而不是运动)绑定const gchar *action_accels[]在 GitHub 上)。