Eu tenho um periférico anexado que na verdade não é um teclado, mas todos os seus botões estão sendo tratados como teclas F, todos eles enviam o mesmo código de código e teclado como chaves F padrão (baseado em showkey [-s] e xev). Eu quero mudar o código de tecla do periférico sem efetuar as teclas padrão, então eu usei o udev para remapear os scancodes com base no fabricante.
O problema que estou tendo agora é obter as chaves para remapear usando o udev. Eu criei /usr/lib/udev/hwdb.d/90-custom-keys.hwdb para teste (a versão de teste tem como objetivo alterar todos os teclados, que eu ajustarei quando conseguir algo funcionando) que se pareça com:
keyboard:usb:v*p*
keyboard:dmi:bvn*:bvr*:bd*:svn*:pn*
keyboard:*
KEYBOARD_KEY_1b=playcd (this should map F1 to keycode 200 like I want)
O periférico é USB, as seções adicionadas são tentadas para obter algum tipo de mudança de comportamento, e cada uma delas adicionada após a anterior não ajudou.
Além disso, o udev parece estar sendo executado com base em ps aux | grep udev
.
Eu preciso ser capaz de alterar os códigos de tecla que este periférico envia, que serão manipulados por outro aplicativo (que requer entradas de código de tecla específicas), e eu ainda quero manter os botões padrão. Como posso conseguir isso?
Ambiente usado:
os: RHEL 7
udev ver: 208
arch: 86_64