Gnome:将 AltGr 键映射到 Alt

Gnome:将 AltGr 键映射到 Alt

我有一个烦人的英国键盘,它有一个Alt Gr键,而美国键盘上的右键Alt却在那儿。在使用 Gnome 时,这真的很烦人,因为 Gnome 大量使用Alt/Meta键。

有谁知道我如何将Alt Gr密钥映射到Alt密钥上?

答案1

xmodmap

左侧的“shift、lock、control、modN”是 X 看到并关注的。右侧的键盘符号与它们相对应。 Mode_switch 是你的 AltGr 键. 将其移动以加入其他内容mod1

xmodmap -e 'clear mod5'
xmodmap -e 'add mod1 = Mode_switch'

答案2

gnome 调整工具让你用 GUI 来做这件事:

打字 -> 选择第 3 级的键 -> 右 Alt 键永远不会选择第 3 级

答案3

对于那些仍然为此烦恼的英国用户来说,这个对我很有用:

xmodmap -e "clear mod5"
xmodmap -e "keycode 108 = Alt_L"

解释:第一行删除了 AltGr 的当前行为(分配给 mod5 修饰符)。第二行获取 AltGr 键(在我的键盘上产生键码 108),并将其映射到 Alt_L 键所映射的键码。

如果你不知道键码和键符是怎么回事,我发现了这个xmodmap 介绍很有用。

答案4

如果上述答案仍然不起作用,则运行xev -event keyboard(您可能需要先安装它)并在事件测试器窗口处于焦点时按 AltGr。您应该在 shell 中看到类似以下内容。

KeyPress event, serial 163, synthetic NO, window 0x1600001,
    root 0x119, subw 0x0, time 21667560, (151,737), root:(1111,764),
    state 0x10, keycode 108 (keysym 0xfe03, ISO_Level3_Shift), same_screen YES,
    XKeysymToKeycode returns keycode: 92
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

在第三行,它提供了键码和键符名称,在我的情况下是ISO_Level3_Shift。现在运行xmodmap并检查输出,然后再执行

xmodmap -e "remove mod5 = ISO_Level3_Shift"
xmodmap -e "add mod1 = ISO_Level3_Shift"

如果需要,应将其中的内容ISO_Level3_Shift替换为正确的键符号。最后,您需要将其添加到用户 rc 脚本中,以使其持久化。

相关内容