更改 Gnome 3 中 Alt+Tab 应用程序切换器中箭头的键绑定

更改 Gnome 3 中 Alt+Tab 应用程序切换器中箭头的键绑定

在 Gnome 3 中,您可以输入dconf-editor并浏览许多设置。除此之外,您还可以导航到/org/gnome/desktop/wm/keybindings/Alt+Tab 来调出应用程序切换器。您可以更改应用程序切换器的键绑定,甚至可以在已有的键绑定之外添加新的键绑定。但是,一旦应用程序切换器打开,并且您仍然按住 Alt,则可以使用箭头在其中导航。hjkl除了箭头之外,我还想添加自定义键盘映射,但我无法在其中的任何位置找到该键盘映射dconf-editor(是的,我实际上查看了整个内容但没有找到它)。有谁知道我在哪里可以找到这些设置?

谢谢。

答案1

我自己找到了解决这个问题的方法,甚至不需要修改 Gnome 源代码。这不是我最初想要的,但它也许也同样有效。在dconf-editor/org/gnome/dekstop/wm/keybindings/刚刚更改了以下两个设置:

switch-applications=['<Super>Tab', '<Alt>Tab', '<Alt>l']
switch-applications-backward=['<Shift><Super>Tab', '<Shift><Alt>Tab', '<Alt>h']

前两个键绑定是 Gnome 默认值,而最后一个是我添加的。当然,这会产生(最初是无意的)副作用,即每当我点击<Alt>h或时都会启动应用程序切换器<Alt>l,但由于它们以前没有用于任何用途,因此这可能是一种合理的行为。

编辑:

所提出的解决方案效果相当好!我已经对它进行了一些测试,它适合我的工作流程(hjkl作为 Vim 用户,我几乎用它来做所有事情)。然而,我对它进行了一些“压力测试”,发现了两个小的不一致之处,这是由于事件switch-applications*实际上与硬编码到应用程序切换器中的箭头的事件不同。首先,如果应用程序切换器尚不存在,<Alt>Left则和 不会启动它,这与最近提出的和不同。在我看来,这似乎是他们应该的默认行为的自然延伸。可以按如下方式修复此问题:<Alt>Right<Alt>h<Alt>l

switch-applications=['<Super>Tab', '<Alt>Tab', '<Alt>l', '<Alt>Right']
switch-applications-backward=['<Shift><Super>Tab', '<Shift><Alt>Tab', '<Alt>h','<Alt>Left']

其次,<Super>Tab可以用作<Alt>TabGnome 中的替代品(同样可以使用 Shift 键)。由于<Super>l(或h) 未映射到switch-applications*,因此在这种情况下使用hl将不起作用。添加此功能很容易,但请注意,它们默认映射为最小化窗口并锁定屏幕,因此您必须删除这些键绑定。此外,<Super>Left<Super>Right被映射到将窗口平铺到屏幕的左/右部分。如果您再次想hjkl对这些使用 Vim 风格,则可能会使用三种用途<Super>l( 和h),因此您必须进行选择(除非您要对应用程序切换器进行某些源代码编辑)。

顺便说一句,对于那些有兴趣在 Gnome 中使用 Vim 键绑定的人,我在我的 Git 存储库中维护了一组更完整的键绑定,网址为https://github.com/sigvaldm/gnome-dconf

答案2

我只是想提一下,如果您想在分组应用程序中进行切换,您还可以更改switch-groupswitch-group-backwards绑定(也在)。 /org/gnome/dekstop/wm/keybindings/(这就是我一直在寻找的......)

相关内容