Как изменить неиспользуемый ключ клавиатуры в ключ-модификатор

У меня есть корейская клавиатура, которая выглядит так:

введите описание изображения здесь

Hanja ( 한자 ), только слева от места , так мало используется даже при вводе на корейском языке, но в основном это реальная недвижимость для моего большого пальца левой руки, как ключ мод модуля i3 . Это освободит Alt для использования в моем редакторе кода.

Мой вопрос : как я могу превратить ключ Hanja в ключ-модификатор?

Я проверил ключ с xev :

 KeyPress event, serial 32, synthetic NO, window 0x2200001, root 0x281, subw 0x0, time 11955968, (-132,626), root:(491,646), state 0x0, keycode 131 (keysym 0xff34, Hangul_Hanja), same_screen YES, XLookupString gives 0 bytes: XmbLookupString gives 0 bytes: XFilterEvent returns: False KeyRelease event, serial 32, synthetic NO, window 0x2200001, root 0x281, subw 0x0, time 11955968, (-132,626), root:(491,646), state 0x20, keycode 131 (keysym 0xff34, Hangul_Hanja), same_screen YES, XLookupString gives 0 bytes: XFilterEvent returns: False 

Keycode 131 = 0x83

Из вывода xmodmap я вижу, что mod3 доступен.

 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) 

Я попробовал xmodmap -e "add mod3 = Hangul_Hanja" привело к следующему …

 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 Hangul_Hanja (0x83) mod4 Super_L (0x85), Super_R (0x86), Super_L (0xce), Hyper_L (0xcf) mod5 ISO_Level3_Shift (0x5c), Mode_switch (0xcb) 

… после добавления set $mod Mod3 в мой конфигурационный файл i3 и перезапуска, у меня не было никакого ключа-модификатора, т. е. он не работал.

Кроме того, клавиша Hanja не ведет себя как обычный ключ-модификатор. Если я нажимаю и удерживаю клавишу, она создает повторяющиеся нажатия клавиш, тогда как типичный ключ-модификатор не работает.

Надеюсь, в доме есть несколько экспертов по клавиатуре, которые могут предложить некоторые из своих знаний.

Linux Mint 18 (Cinnamon) i3 Window Manager

One Solution collect form web for “Как изменить неиспользуемый ключ клавиатуры в ключ-модификатор”

Обработка модификатора X11 немного странная. Вы не можете взять ключ и объявить его модификатором: некоторые вещи должны быть согласованы между настройками модификатора и настройками keysym.

Классическими модификаторами являются Shift , Control , Alt , Meta , Hyper и Super (с двумя ключами каждый, например Shift_L и Shift_R ) (плюс Caps Lock и Num Lock, которые ведут себя несколько иначе). Большинство приложений не будут работать с другими клавишами, используемыми в качестве модификаторов.

Поэтому, чтобы использовать ключ Hanja в качестве модификатора, сделайте его Hyper_L (например).

 keycode 131 = Hyper_L remove Mod4 = Hyper_L add Mod3 = Hyper_L 

Это делает ключ больше не использован как ключ Hanja вообще. Возможно, есть способ сохранить обе функции, если вы используете XKB вместо xmodmap, но я не знаю, как это сделать.

  • Странная проблема. Моя левая клавиша со стрелкой не работает и иногда заглушает звук
  • Связь раскладки клавиатуры и xmodmap
  • Глобальная vim-подобная (hjkl) навигация с numlock & xmodmap?
  • Команды SM- * не распознаются Emacs
  • xmodmap проблемы и несоответствия с более чем 4 альтернативными символами на ключ
  • Отображение AltGr налево
  • Переназначить ключи Ctl и Alt - ошибка xmodmap
  • xmodmap подвешивает систему на 20 секунд и не прилипает
  • Сопоставление комбинации клавиш с xmodmap
  • Создайте конфигурацию xkb из xmodmap
  • xmodmap не работает для Alt-a
  • Linux и Unix - лучшая ОС в мире.