Хорошее решение здесь, и я могу только добавить, что вы можете сопоставить ключи с неиспользуемыми клавишами X следующим образом:
$ cat /lib/udev/rules.d/95-keymap.rules
...
ENV{ID_VENDOR}=="Microsoft", ENV{ID_MODEL_ID}=="00db", RUN+="keymap $name 0xc022d katakana 0xc022e katakanahiragana
...
Можно найти правильные имена для использования вместо katakana [d1 ] здесь .
После перезагрузки ;-) вы можете проверить, что клавиши zoomin и zoomout сопоставлены успешно, а также для поиска правильных имен ключей (для использования в rc.xml для OpenBox WM, например), используя xev:
$ xev
...
KeyRelease event, serial 46, synthetic NO, window 0x3c00001,
root 0x291, subw 0x0, time 1492891, (-261,-61), root:(573,380),
state 0x0, keycode 101 (keysym 0xff27, Hiragana_Katakana), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
...
Теперь вы можете подключить новые ключи к полностью произвольному действию. В моем случае с менеджером окон OpenBox я использовал что-то вроде этого:
$ cat <whatever>/rc.xml
...
<keybind key="Katakana">
<action name="Execute">
<command>volume_up.sh</command>
</action>
</keybind>
<keybind key="Hiragana_Katakana">
<action name="Execute">
<command>volume_down.sh</command>
</action>
</keybind>
...
Вы должны добавить строку в файл .xinitrc в своей домашней папке или добавить команду к своим сценариям запуска.
Команда, которую вы должны добавить, будет выглядеть примерно так: xmodmap -e 'keycode <value>=<action>'. Вы должны заменить «значение» на клавишу, которую вы нажмете, чтобы представить букву «действие». Например, в вашем случае вы хотите переназначить букву E правой клавише Alt (здесь приведено руководство для всех кодов клавиш). Я не знаю, как назначить S правой клавише Alt, но клавиша Left Alt не проблема. Сделайте команду следующим образом: xmodmap -e 'keycode 64=s' и добавьте ее в свои сценарии запуска.
Попробуйте xkeycaps (возможно, вам придется установить пакет, не уверен). Это предложение исходит от старого сообщения форума