我有文件~/.config/evince/accels
但它是空的。禁用愚蠢的默认键盘快捷键的语法是什么?
我可以“转储”当前的快捷方式,然后进行编辑吗?
我经常会因为意外按下某些键而失去页面上的位置。
我只是想保留PageDown
它,PageUp
以便我可以滚动页面。
我在 Debian 上使用 Evince 43
我有文件~/.config/evince/accels
但它是空的。禁用愚蠢的默认键盘快捷键的语法是什么?
我可以“转储”当前的快捷方式,然后进行编辑吗?
我经常会因为意外按下某些键而失去页面上的位置。
我只是想保留PageDown
它,PageUp
以便我可以滚动页面。
我在 Debian 上使用 Evince 43
试试这些。一定要给
chmod +x filename
它们执行权限。only_direction_keys.sh
将关闭大部分键盘映射,只留下箭头键和 PgUp 和 PgDn 键,然后启动 evince。首先启动这个!Key_reset.sh
将您的按键绑定重置为之前的设置。完成后您需要运行此命令。请在运行前仔细查看代码,并进行任何您认为适合您需要的更改。更改 Evince 的键绑定有点麻烦,但当我通过一些测试运行它时,这种解决方法似乎效果很好。虽然不完美,但可以完成工作。此外,在盲目运行网络上陌生人的代码之前检查代码是个好主意 :)
首先,安装
xbindkeys
:shell脚本如下:
only_direction_keys.sh
:key_reset.sh
:如果我们查看新闻来源,我们会发现
所以我认为不再支持该功能。此外,在源代码中,我们在ev-application.c中找到了代码
我们看到固定绑定已经设置完毕。
要更改或删除绑定,我们可以编辑此代码并重新编译应用程序,或者更简单地说,我们可以在应用程序和动态加载的 gtk 库之间插入一个垫片。例如,垫片可以不调用 函数
gtk_application_set_accels_for_action()
,win.open
从而删除<Ctrl>O
该操作的绑定。或者我们可以更改绑定以使其<Ctrl>Z
工作。这是一个合适的文件shim_gtk.c
:这里
#if 0
用于禁用一些代码,并#if 1
启用一些其他示例代码来执行上述操作。使用并运行
进行适当的替换
...
。您应该删除调试fprintf()
调用,因为它们可能会干扰应用程序对 stderr 的实际使用。