xmodmap 中的修饰键有什么作用?

xmodmap 中的修饰键有什么作用?

当我运行 xmodmap 时,我得到了类似这样的信息

shift       shift_l (0x32),  shift_r (0x3e)
lock      
control     control_l (0x25),  control_l (0x42),  control_r (0x69)
mod1        alt_l (0x40),  alt_r (0x6c),  meta_l (0xcd)
mod2        num_lock (0x4d)
mod3      
mod4        super_l (0x85),  super_r (0x86),  super_l (0xce),  hyper_l (0xcf)
mod5        iso_level3_shift (0x5c),  mode_switch (0xcb)

我得到了移位和控制组。但是其他 mod1、mod2、mod3、mod4 是做什么用的?

无论如何,您似乎只能使用如下两个修饰符:

keysym <keysymname> = <key> <shift+key> <mode_switch+key> <mode_switch+shift+key>

为什么我无法设置某些内容<mod4+key>

答案1

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

mod1通常代表MetaAlt,而mod2to 则mod5代表键盘上的其他修饰键,通常标记为SuperHyper。通常它们不用于输入字符,而是由应用程序解释 - 例如,在 Emacs 中,我将Super+TAB等同于Meta+ TAB

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

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

相关内容