Meu apresentador Logitech R400 envia os seguintes códigos de chave:
keycode 112 (keysym 0xff55, Prior) [page up]
keycode 117 (keysym 0xff56, Next) [page down]
keycode 60 (keysym 0x2e, period)
keycode 71 (keysym 0xffc2, F5)
keycode 9 (keysym 0xff1b, Escape)
Basicamente, quero usar esse apresentador para controlar remotamente o Banshee, então gostaria de remapear Prior
para B
, Next
para N
e assim por diante.
Como posso alterar o mapa de teclas apenas para este dispositivo (como certamente não quero remapear esses códigos de chave globalmente)?
udev
remote-control
htorque
fonte
fonte
Respostas:
Eu nunca fiz isso, mas acho que você precisa criar um arquivo de mapa de teclas
/lib/udev/keymaps/
e adicionar uma regra para o seu dispositivo/lib/udev/rules.d/95-keymap.rules
Detalhes:
Um mapa de teclas do udev mapeia códigos de varredura para códigos de chave, portanto, você precisa encontrar os dois para criar o arquivo de mapa de chaves. Para encontrar os códigos de digitalização, execute o seguinte e pressione os botões no dispositivo:
Pode ser necessário tentar números diferentes para o evento * . A saída deve ficar assim:
Uma lista de códigos de chave pode ser encontrada aqui .
Agora crie o arquivo keymap (estou armazenando-o como / lib / udev / keymaps / logitech-r400 ):
Não faz nada de útil - apenas um teste para ver facilmente se funciona.
Para testar o novo mapa de teclas temporariamente, execute:
o que deve resultar em uma saída como esta:
Os botões agora devem mudar o brilho.
Se você deseja tornar essa alteração permanente, é necessário adicionar uma regra do udev
/lib/udev/rules.d/95-keymap.rules
que aplique o arquivo de mapa de teclas ao dispositivo.gksudo gedit /lib/udev/rules.d/95-keymap.rules
Na parte inferior do arquivo, mas antes da
LABEL="keyboard_end"
linha, adicione:Salve, feche e, após uma reinicialização, os botões devem mudar o brilho.
fonte
/lib/udev/findkeyboards
. Isso listará todos os teclados conectados no momento, para que você não precise experimentar tantos. O logitech r400 apareceu como "teclado USB: entrada / evento11" para mim./sys/class/dmi/id/sys_vendor
e/sys/class/dmi/id/product_name
mas não funcionou./lib/udev/keymap
e/lib/udev/findkeyboards
não existe mais em 13.10. forum.ubuntu-fr.org/viewtopic.php?id=1395051 diz para usar o evtest.Estou no Ubuntu 16.04. Eu fiz um guia aqui
fonte