Какова функция клавиш-модификаторов в xmodmap?

1026
user128063

Когда я запускаю 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>?

6
Я хотел бы знать, как установить ``... Ты уже нашел выход? Matthieu 7 лет назад 0
Не повезло :( вероятно, придется пройтись по коду или найти адаптивный канал IRC. Я просто использую свой оконный менеджер для управления ярлыками сейчас user128063 7 лет назад 0

1 ответ на вопрос

2
Toby Speight

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вместо этого вы захотите разобраться . Это тема, которая слишком велика для этого ответа.