Модификатор 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 команда?

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

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

  • Пользовательская раскладка клавиатуры не используется дословно
  • xkb: как переключить раскладку клавиатуры с помощью win + caplock?
  • Swap alt и супер
  • xbindkeys на одной клавиатуре?
  • xkb config имеет бессмысленный вход?
  • Escape on Control, управление клавишей Capslock, клавиша Capslock on Escape
  • Как изменить выбранную раскладку клавиатуры из командной строки?
  • Сделать Compose не компоновкой после определенных нажатий клавиш
  • Будет ли загрузочный ubuntu в режиме восстановления использовать раскладку клавиатуры по умолчанию?
  • Отключить блокировку Caps при нажатии Escape
  • Использование оверлейной функции очень похоже на смену
  • Interesting Posts

    Передача файлов с помощью SSH и переключателя

    Не удалось перезагрузить или выключить Linux Mint 17.1 на VMWare Player

    Запуск 64-битной ОС, поиск всех 32-битных программ в системе

    Правильное расположение файла initramfs.cpio при компиляции ядра

    Может ли grub2 обнаруживать архитектуру процессора и соответственно отображать опции?

    Драйвер USB cdc_acm не назначает интерфейс данных любому порту

    Включить второй монитор из оболочки

    Блок автоматической установки EncFS

    Извлечение нескольких строк со вторичным поиском по ключевым словам

    базовая последовательная связь

    Я получаю E: Пакет 'libgsl0ldbl' не имеет кандидата на установку при установке ns3 в ubuntu 16.04

    Как распаковывать файлы из архива, игнорируя имена файлов?

    grep: gcov-tool.1.gz: Нет такого файла или каталога

    Поиск и устранение неисправностей HAProxy на RHEL7

    Добавить предупреждение о сообщениях, полученных Postfix без TLS

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