Acontece que o kernel o pegou, mas continuou reclamando que não é reconhecido.
Para qualquer pessoa que tenha esse problema ou queira mapear uma chave que não é lida pelo sistema operacional, continue lendo.
Abra um terminal e corra dmesg | grep -A 1 -i setkeycodes
. Isso fornecerá várias entradas como esta:
[ 9.307463] atkbd serio0: Unknown key pressed (translated set 2, code 0xbe on isa0060/serio0).
[ 9.307476] atkbd serio0: Use 'setkeycodes e03e <keycode>' to make it known.
O que nos interessa é o valor hexadecimal após "setkeycodes", neste caso é e03e
. Se você tiver vários deles, poderá executar tail -f /var/log/kern.log
. Depois de fazer isso, você pode tocar no botão que procura, e isso fornecerá a mesma linha acima e, novamente, precisamos apenas do valor hexadecimal. Anote isso.
Agora execute xmodmap -pke | less
e encontre o mapeamento apropriado. No meu caso, eu precisava mapear isso para alternar meu touch pad, o que significa que estava interessado na seguinte linha:
keycode 199 = XF86TouchpadToggle NoSymbol XF86TouchpadToggle
Se você não encontrar o que está interessado, leia a resposta do @Gilles também, como também pode definir mapeamentos personalizados e continue a ler (se o kernel lê, você não precisará adicioná-lo ao xorg.conf. d)
Agora eu corri o seguinte comando: sudo setkeycodes [hexadecimal] [keycode]
, então no meu caso que se tornou: setkeycodes e03e 199
.
Agora você pode usar a seguinte linha para testar se funcionou e / ou possui o mapeamento correto:
xev | grep -A2 --line-buffered '^KeyRelease' | sed -n '/keycode /s/^.*keycode \([0-9]*\).* (.*, \(.*\)).*$/\1 \2/p'
Ao executar este comando, você precisa focar na janela recém-aberta ( xev
) e verificar a saída do console. No meu caso, é o seguinte:
207 NoSymbol
Obviamente, isso estava errado, como solicitei o código da chave 199
, por isso é mapeado para XF86TouchpadToggle
. Eu verifiquei xmodmap -pke
novamente e notei que keycode 207
realmente está mapeado para NoSymbol
, e notei que havia uma diferença de deslocamento de 8, então tentei o setkeycodes
comando novamente, mas a chave está mapeada para keycode 191
.
sudo setkeycodes e03e 191
Isso funcionou perfeitamente.
EDIT - a solução que eu forneci para trabalhar na inicialização não funciona. Eu vou descobrir isso amanhã e atualizar esta resposta. Por enquanto, suponho que você possa executar isso ao iniciar manualmente.