I have a vintage IBM 122 key model M keyboard that I am adapting for use on a modern computer. I am using a Teensy 2.0 to do the encoding and to handle the USB side of things. I borrowed the firmware from the Humble Hacker keyboard project (https://github.com/humblehacker/keyboard) and I added the extra keys in the build config. So far, so good.
All of the "regular" keys work, but the kernel appears to be dropping the extra keys (F13-F24, etc.).
Running /lib/udev/keymap -i input/event0
shows the scan codes of all the normal keys, but nothing for the extra keys.
Running wireshark
to packet capture the USB port shows that the keyboard IS sending the scan codes, but it looks like the kernel is just dropping them on principle.
I feel like this is something in the kernel drivers that is simply not delivering scan codes that it does not expect.
I would think that there would be some sort of "master" key map in some .h
file in the kernel source somewhere, but so far, I have not been successful in my efforts to find it.
It is worth stressing that I am not asking about mapping the extra keys in X, like so many others before me. This is a low level, apparently kernel related, problem. Assume for the moment that I will not be using X at all. What I need is for the scan codes to show up when I run /lib/udev/keymap -i
, I can do the rest from there.
evtest
instead of/lib/udev/keymap -i
, dunno if that will come out any different.