[Nav] wanted to change his keyboard mapping for one particular keyboard, rather than on each operating system. He used an AT90USBKey as a replacement PCB by soldering to all of the contacts on the key matrix. This allows him to remap the keys by following onscreen prompts.
The board enumerates as an HID device, and has a special mode which is accesses by plugging the keyboard in while holding down any key. If a text editor window is active you’ll see prompts from the microcontroller to press a series of keys. This is a routine used to learn how the key matrix is organized, and it’s your opportunity to change how each key is mapped. Since the mapping is saved to EEPROM, you can use any computer to map the keys, then plug the device into a systems that don’t offer software remapping. It could also be useful as a gaming keyboard, assuming there aren’t latency issues
As with the AVR-based arcade controller, this project uses the LUFA package to handle the USB stack.
or… you know.. just add a udev rule
Sounds like the old AnyKey keyboards. They just had an LED to indicate programming, but they had oodles of customizing and extra keys to do it with!
A more flexible approach is to program some sort of “usb-hid protocol mapping” , this could be used with any keyboard without soldering
So this would allow me to finally use my model M keyboard however I wanted….sweet….clack clack clack clack