Eu tenho um teclado IBM 122 de modelo-chave vintage M que estou adaptando para uso em um computador moderno. Estou usando um Teensy 2.0 para fazer a codificação e lidar com o lado USB das coisas. Peguei emprestado o firmware do projeto de teclado do Humble Hacker ( https://github.com/humblehacker/keyboard ) e adicionei as chaves extras na configuração da compilação. Por enquanto, tudo bem.
Todas as chaves "regulares" funcionam, mas o kernel parece estar descartando as chaves extras ( F13- F24, etc.).
A execução /lib/udev/keymap -i input/event0
mostra os códigos de verificação de todas as teclas normais, mas nada para as teclas extras.
Correr wireshark
para capturar pacotes na porta USB mostra que o teclado está enviando os códigos de verificação, mas parece que o kernel os está descartando por princípio.
Eu sinto que isso é algo nos drivers do kernel que simplesmente não está fornecendo códigos de verificação que ele não espera.
Eu pensaria que haveria algum tipo de mapa-chave "mestre" em algum .h
arquivo na fonte do kernel em algum lugar, mas até agora, não tive êxito em meus esforços para encontrá-lo.
Vale ressaltar que não estou perguntando sobre o mapeamento de chaves extras em X, como tantas outras antes de mim. Este é um problema de baixo nível, aparentemente relacionado ao kernel. Suponha, por enquanto, que eu não usarei o X. O que eu preciso é que os códigos de verificação apareçam quando eu corro /lib/udev/keymap -i
, posso fazer o resto a partir daí.
evtest
vez de /lib/udev/keymap -i
, não sei se isso será diferente.