Hi,
Some of you may remember that I have made my own keyboard firmware (
AAKBD), which is not a fork of QMK (key mapping / layers / USB implementation are all custom from scratch). I've been quietly using and slowly improving it over the past few years.
These new changes may be of interest to some folks here:
I have implemented full PS/2 output support, which should work on any AVR-based keyboards (xwhatsit/wcass controllers), which include the "brand new Model F keyboards". I made it specifically to use my new Model F77 for retrocomputing, tested it on an actual IBM Personal System 2 386 computer (the IBM PS/2 is what gives PS/2 its name) and verified the implementation extensively against a real IBM Model M PS/2 keyboard. The implementation supports all three scancode sets (unlike many later commercial keyboards).
Adding the output obviously requires physically connecting to PS/2, so "hardware modification" is needed, but at its simplest it can be just wiring a PS/2 connector to the 6-pin header on the side of the connector. For the more adventurous, it is possible to share the USB connector and use one of those passive USB to PS/2 dongles to output both USB and PS/2 from the same connector. In either case, PS/2 is autodetected when powered on and the keyboard automatically chooses between USB or PS/2 accordingly.



It's all open source, and should be quite easy to port to other firmwares (there are some porting instructions in the repository's
ps2/README.md file), but for the adventurous and slightly technically-oriented I would of course suggest giving my firmware a try. I would be happy to help you set it up, or indeed if someone just wants to try the PS/2 output specifically I can even compile the firmware for you if you just give me the desired settings (my firmware should support pretty much every key map feature of QMK and completely arbitrary ones in addition to those, since it's possible to write your own macros or indeed any C code to handle keypresses – but you don't have to if you don't want to).
Apart from the PS/2 output, I've also implemented USB host operating system autodetection, i.e., the keyboard detects whether it is plugged in to Windows, macOS or Linux (detecting these three major OS work perfectly in my tests, other operating systems of course exist but unknown what they will be detected as, please let me know if you try). So, for example, my own use of this is that I have a mostly-transparent "Windows layer", which I auto-activate when plugged in to Windows to change things like Command vs Alt key positions and the Fn-key handling (on macOS the Fn key works as an actual Apple Fn/Globe key as well as a custom Fn layer toggle – this is also something that QMK will probably never support).
I've also done some other minor improvements, like the keyboard now more reliably wakes up computers from sleep on the first keypress, and outside of the Model F keyboards it's now possible to port ARM-based keyboards from QMK to AAKBD (tested on GMMK Pro 1, but waiting for the Leyden Jar controller to port that as well).
Anyway, hopefully this is of interest to someone, let me know!