我想改变键盘快捷键的“上一页”和“下一页”在evince。我有一台戴尔沃斯特罗5568笔记本电脑,在那里PgUp和PgDn键被尴尬地定位在键盘右侧。相反,我想使用Ctrl+Left和Ctrl+Right (目前被绑定为“左转”和“右转”),或者使用Ctrl+Up和Ctrl+Down。
从Gnome帮助页面中,我想我必须使用dconf-editor。这里有两个屏幕截图显示我的设置:


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

我正在使用Ubuntu 16.10。对于Ubuntu10.10 这里,还有一个更老的问题。
发布于 2018-01-04 21:56:25
首先,为了防止您不知道,您可以使用Space和Shift-Space来代替PgDn和PgUp。
如果您仍然想要更改键绑定,那么不幸的是,我认为对于evince,键绑定是硬编码的。三种可能的解决办法是:
atril,它是evince的副叉,它允许对键绑定进行自定义,至少通过accels文件(在~/.config/atril/accels)。为了比较,你可以看看,比如说,~/.config/nautilus/accels。要获取Ubuntu使用的源代码:
apt-get source evince
如果这不起作用,请取消对deb-src行在/etc/apt/sources.list中的注释。
对evince中的绑定负责的违规行是:
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);在shell/ev-view.c中。(参见这里 on 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);但是,请注意,如果您自己编译它,您将不会得到自动显示的安全修复。
作为参考,如果有人希望修改evince中的其他键盘快捷键,则在shell/ev-application.c中const gchar *action_accels[] (在GitHub上)的定义中指定了一些操作(而不是动作)绑定。
https://askubuntu.com/questions/866982
复制相似问题