A solução legal está aqui , e só posso acrescentar que você pode mapear as chaves para chaves X não utilizadas assim:
$ cat /lib/udev/rules.d/95-keymap.rules
...
ENV{ID_VENDOR}=="Microsoft", ENV{ID_MODEL_ID}=="00db", RUN+="keymap $name 0xc022d katakana 0xc022e katakanahiragana
...
Os nomes adequados a serem usados em vez de katakana
podem ser encontrados aqui .
Após a reinicialização ;-), você pode testar se as chaves zoomin
e zoomout
são mapeadas com sucesso e também para descobrir um nome adequado das chaves (para usar no rc.xml
OpenBox WM, por exemplo) usando 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
...
Agora você pode conectar novas chaves a ações completamente arbitrárias. No meu caso do gerenciador de janelas OpenBox, usei algo como isto:
$ 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>
...