Ho una tastiera vintage modello IBM 122 chiave M che sto adattando per l'uso su un computer moderno. Sto usando un Teensy 2.0 per fare la codifica e per gestire il lato USB delle cose. Ho preso in prestito il firmware dal progetto della tastiera Humble Hacker ( https://github.com/humblehacker/keyboard ) e ho aggiunto le chiavi extra nella configurazione della build. Fin qui tutto bene.
Tutte le chiavi "normali" funzionano, ma sembra che il kernel stia rilasciando le chiavi extra ( F13- F24, ecc.).
L'esecuzione /lib/udev/keymap -i input/event0
mostra i codici di scansione di tutti i tasti normali, ma nulla per i tasti extra.
In esecuzione wireshark
per l'acquisizione di pacchetti la porta USB mostra che la tastiera sta inviando i codici di scansione, ma sembra che il kernel li stia semplicemente abbandonando per principio.
Sento che questo è qualcosa nei driver del kernel che semplicemente non sta fornendo codici di scansione che non si aspetta.
Penserei che da qualche parte ci sarebbe una sorta di mappa di chiavi "master" in qualche .h
file nel sorgente del kernel, ma finora non ho avuto successo nei miei sforzi per trovarla.
Vale la pena sottolineare che non sto chiedendo di mappare i tasti extra in X, come tanti altri prima di me. Questo è un problema di basso livello, apparentemente correlato al kernel. Supponiamo per il momento che non userò affatto X. Ciò di cui ho bisogno è che i codici di scansione vengano visualizzati quando corro /lib/udev/keymap -i
, posso fare il resto da lì.
evtest
invece /lib/udev/keymap -i
, non so se ne uscirà diverso.