J'ai un clavier IBM 122 touches modèle M vintage que j'adapte pour une utilisation sur un ordinateur moderne. J'utilise un Teensy 2.0 pour faire l'encodage et gérer le côté USB des choses. J'ai emprunté le firmware du projet de clavier Humble Hacker ( https://github.com/humblehacker/keyboard ) et j'ai ajouté les touches supplémentaires dans la configuration de construction. Jusqu'ici tout va bien.
Toutes les clés "normales" fonctionnent, mais le noyau semble supprimer les clés supplémentaires ( F13- F24, etc.).
Running /lib/udev/keymap -i input/event0
montre les codes de scan de toutes les clés normales, mais rien pour les clés supplémentaires.
L'exécution wireshark
de la capture de paquets sur le port USB montre que le clavier envoie les codes de numérisation, mais il semble que le noyau les supprime simplement par principe.
J'ai l'impression que c'est quelque chose dans les pilotes du noyau qui ne fournit tout simplement pas de codes de numérisation auxquels il ne s'attend pas.
Je pense qu'il y aurait une sorte de mappage de clé "maître" dans un .h
fichier de la source du noyau quelque part, mais jusqu'à présent, je n'ai pas réussi à le trouver.
Il convient de souligner que je ne demande pas de mapper les clés supplémentaires dans X, comme tant d'autres avant moi. Il s'agit d'un problème de bas niveau, apparemment lié au noyau. Supposons pour le moment que je n'utiliserai pas du tout X. Ce dont j'ai besoin, c'est que les codes de numérisation apparaissent lorsque je cours /lib/udev/keymap -i
, je peux faire le reste à partir de là.
evtest
au lieu de /lib/udev/keymap -i
, ne sais pas si cela sortira différemment.