Mam starą klawiaturę z kluczem IBM 122 model M, którą dostosowuję do użytku na nowoczesnym komputerze. Korzystam z Teensy 2.0 do kodowania i obsługi strony USB. Pożyczyłem oprogramowanie z projektu klawiatury Humble Hacker ( https://github.com/humblehacker/keyboard ) i dodałem dodatkowe klucze w konfiguracji kompilacji. Jak na razie dobrze.
Wszystkie „zwykłe” klucze działają, ale wydaje się, że jądro upuszcza dodatkowe klucze ( F13- F24, itp.).
Uruchomienie /lib/udev/keymap -i input/event0
pokazuje kody skanowania wszystkich normalnych kluczy, ale nic dla dodatkowych kluczy.
Uruchomienie wireshark
przechwytywania pakietów przez port USB pokazuje, że klawiatura wysyła kody skanowania, ale wygląda na to, że jądro po prostu je upuszcza.
Wydaje mi się, że jest to coś w sterownikach jądra, które po prostu nie dostarcza kodów skanowania, których się nie spodziewa.
Sądzę, że w jakimś .h
pliku źródłowym jądra będzie jakaś „kluczowa” mapa kluczy , ale jak dotąd nie udało mi się jej znaleźć.
Warto podkreślić, że nie pytam o mapowanie dodatkowych kluczy w X, tak jak wielu innych przede mną. Jest to problem niskiego poziomu, prawdopodobnie związany z jądrem. Załóżmy na chwilę, że w ogóle nie będę używać X. Potrzebuję tylko, aby kody skanowania były wyświetlane po uruchomieniu /lib/udev/keymap -i
, a resztę mogę zrobić stamtąd.
evtest
zamiast /lib/udev/keymap -i
, nie wiem, czy to wyjdzie inaczej.