如何获取 xmodmap 的修饰键(modN)的含义描述?

如何获取 xmodmap 的修饰键(modN)的含义描述?

xmodmap我已阅读以下有关(和)的文档man xmodmap

https://wiki.archlinux.org/index.php/xmodmap#Keymap_table

该文档描述了修饰键,以及如何使用以下方法显示修饰键映射xmodmap -pm

$ xmodmap -pm
xmodmap:  up to 4 keys per modifier, (keycodes in parentheses):

shift       Shift_L (0x32),  Shift_R (0x3e)
lock        Caps_Lock (0x42)
control     Control_L (0x25),  Control_R (0x69)
mod1        Alt_L (0x40),  Meta_L (0xcd)
mod2        Num_Lock (0x94)
mod3      
mod4        Super_R (0x86),  Super_L (0xce),  Hyper_L (0xcf)
mod5        ISO_Level3_Shift (0x5c),  ISO_Level3_Shift (0x6c),  Mode_switch (0x85),  Mode_switch (0xcb)

shift然而,虽然lockcontrol是不言自明的,但我似乎找不到任何关于其余修饰语含义的参考或解释modN

有谁知道?

答案1

交叉回答这篇超级用户帖子

X11 为任何按键提供了 8 个修饰键。您似乎有一个相当传统的设置,其中 shift、control 和 lock 具有明显的映射。mod1

通常代表 Meta 或 Alt,mod2 到 mod5 可用于键盘上的任何其他修饰键,通常标记为 Super 或 Hyper。

通常这些不用于输入字符,而是由应用程序解释 - 例如,在 Emacs 中,我将 Super+TAB 设置为 Meta+TAB 等同于:

(define-key function-key-map (read-kbd-macro "s-<tab>") (read-kbd-macro "ESC TAB"))

如果您希望键盘使用这些修饰符生成字符,那么 xmodmap 的功能还不够强大,您需要研究 setxkbmap。不过,这个话题太大了,无法回答。

答案2

修饰键是可以改变按键效果的键。在 X 中,有 8 个可能的修饰键,如 的输出所示xmodmap -pm。通常,并非所有这些都分配给一个键,然后该键将充当修饰键。如您所见,shift分配给左右 Shift 键、lockCaps Lock 键、control左右 Ctrl 键等。

然而,虽然 shift、lock 和 control 是不言自明的,但我似乎找不到任何关于其余 modN 修饰符含义的参考或解释。

这些名称只是名称,即,、、、等shift只是可在 X 中定义的可用修饰符状态的不同标签。按照传统惯例,前三个修饰符分配给、和键,并被赋予一个有意义的名称来引用这些键。其他五个修饰符获得并保留了通用名称()。lockcontrolmod1mod2ShiftLockControlmodx

所以归根结底,这些只是“标签”。如果您愿意,您可以交换按键分配,甚至可以开始使用mod3,尽管很少有应用程序知道如何使用它 - 他们无法预见它的用途,因为它通常没有分配给按键,因此无法使用。

相关内容