为什么 Hyper+Tab 不起作用? (在 Ubuntu gnome 和 Xfce 中测试)

为什么 Hyper+Tab 不起作用? (在 Ubuntu gnome 和 Xfce 中测试)

这是 gnome 中问题的示例。但是,当我在 Xfce 中尝试此操作时,出现了同样的问题。

我在键盘上设置了一个超级键。它适用于键盘快捷键,并且在使用 xev 检查时似乎没问题。但是,应用这些 gsetting 不起作用:

org.gnome.desktop.wm.keybindings switch-windows ['<Hyper>Tab']
org.gnome.desktop.wm.keybindings switch-windows-backward ['<Hyper><Shift>Tab']

即 gnome gsettings 命令是:

gsettings set org.gnome.desktop.wm.keybindings switch-windows "['<Hyper>Tab']"

当使用 Hyper 进行开关应用程序和循环窗口时,也会出现同样的问题 - 这也不起作用。然而,当使用 Super 或 Alt 等时,所有组合都会按预期工作。

我还注意到,完全可以将 Hyper+1,2, 3, ... a, b, c 绑定到操作(例如使用自动键)。重要的是,还可以将 Hyper+Tab 绑定到其他操作 - 这很好用。那么 Hyper+Tab 和窗口切换设置之间的交互似乎很奇怪?

我最近在 Xfce 中尝试过,也遇到了同样的问题。 (Ubuntu 19.04)。所以它要么与 gnome 和 Xfce 中的共享组件有关,要么与 gnome/Xfce 根本无关。

主要问题:Hyper 不工作什么?

现在,我已经在几个论坛上发布了这个问题,在 IRC 等上提问。

次要问题:为什么没有答案?这个问题真的很难吗?我是不是问错地方了?这是一个别人没有注意到的深奥问题吗?我很想知道!

编辑。xev 的输出已删除 2019-11-18

答案1

使用 xev 查看键盘的建议使我发现了可能的问题。尤其,

xmodmap -pm

显示 mod5 过于拥挤,我的修改已包含在以下默认地图(针对 xkb 美国键盘布局)中:

mod4        Super_L (0x25),  Super_R (0x86),  Super_L (0xce),  Hyper_L (0xcf)
mod5        ISO_Level3_Shift (0x5c),  Mode_switch (0xcb)

与我的地图相比

mod4        Super_L (0x25),  Super_R (0x86),  Super_L (0xce),  Hyper_L (0xcf)
mod5        <OTHER_KEYS, inc. Hyper_R> ISO_Level3_Shift (0x5c),  Mode_switch (0xcb) 

所以 ISO_Level3_Shift 是沿着 Hyper 触发的,因此不起作用。

编辑。 2019年11月18日。基本上固定为超级,然后使用不同的模组号就可以了。有关详细信息,请参阅此处的文章:https://github.com/bjohas/Ubuntu-keyboard-map-like-OS-X/blob/master/Hyper%20key.md

相关内容