Модификатор xmodmap не работает

Попытка понять XKB и как настроить сопоставления клавиатуры, особенно для модификаторов.

Небольшой эксперимент по отключению модификаторов приводит к неожиданному результату:

(1) Карты модификаторов до

$ 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), 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) 

(2) Очистить модификатор блокировки

 $ xmodmap -e 'clear Lock' 

(3) Очищено нормально

 $ xmodmap -pm xmodmap: up to 4 keys per modifier, (keycodes in parentheses): shift Shift_L (0x32), Shift_R (0x3e) lock control Control_L (0x25), 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) 

Я ожидал отключить CapsLock от установки состояния блокировки, но это не так. Он работает как обычно, и, используя xev для просмотра событий нажатия клавиш, я вижу, что флаг блокировки по-прежнему изменяется ( state 0x0 когда CapsLock выключен, state 0x2 при включении).

Что на самом деле делает clear команда?

Как отключить ключи (коды клавиш), чтобы отключить их функцию в качестве модификаторов?

  • Как добавить дополнительный ключ управления?
  • Как программно установить сочетание клавиш на Mac?
  • XKB: включить светодиод для конкретной компоновки
  • setxkbmap: несколько макетов с различными вариантами
  • setxkbmap -option lv3: ralt_switch_multikey не работает со многими макетами
  • Форматирование английского языка для нажатия клавиши «Создать»
  • Будет ли загрузочный ubuntu в режиме восстановления использовать раскладку клавиатуры по умолчанию?
  • Где мне теперь редактировать «системные настройки» клавиатуры?
  • One Solution collect form web for “Модификатор xmodmap не работает”

    Фактически, функциональность CapsLock привязана к клавишам значения нажатой клавиши. Для просмотра сопоставления кодов клавиш с ключами выполните xmodmap -pke . Отображение CapsLock (keycode 66) должно быть ( | grep 'keycode 66' ):

     keycode 66 = Caps_Lock NoSymbol Caps_Lock 

    Вы можете немного xev с xev . Подробнее в ArchWiki: Xmodmap # Введение .

    Как отключить ключи (коды клавиш), чтобы отключить их функцию в качестве модификаторов?

    Вам нужно изменить отображение CapsLock .

    • Чтобы отключить CapsLock , вам необходимо отменить его:

       xmodmap -e 'keycode 66 = NoSymbol NoSymbol NoSymbol' 
    • Чтобы включить CapsLock , вам нужно снова сопоставить его с значениями по умолчанию:

       xmodmap -e 'keycode 66 = Caps_Lock NoSymbol Caps_Lock' 

    Что на самом деле делает ясная команда?

    Он очищает отображение модификатора, а не отображение кодов клавиш. Больше на ArchWiki: Xmodmap # Modifier_keys

    Linux и Unix - лучшая ОС в мире.