I've been working on a rudimentary firmware and have got good results, I'm thankful that the teensy keyboard and mouse libraries hide the pain of the USB spec away from me. Got keypresses working (no jittering so far) and analog mousekeys (which is really cool, I could see myself using it). There is some problem of improper grounding, not sure what is causing it but signals are much cleaner when I am touching the shielding. It doesn't seem to be too much of an issue yet but hopefully I can fix it.
You can see common mode noise and key state. Values are normalised between 0 and 1 by the calibration routine. This data was me tapping the keys as fast as I could. When touching the shield the noise reduces to around 0.03.
I have also ordered a slightly revised batch of mini PCBs to help with the wiring. Hopefully will be able to build the full keyboard soon. Until then, more firmware... which I have put on GitHub:
It is a mess and I have never written C or C++ before so please forgive me. None of the USB stuff is in that commit. Supports 128 keys (16 columns x 8 rows).
The plan is to store settings and keymaps etc in the 2kb EEPROM. We will see how that goes, maybe it isn't feasible. I like the idea of not having to compile a keyboard firmware before using it, instead just using teensy loader and configuring over serial.
I also need to design the small PCB for the other hardware parts that sit under the thumb cluster. Not quite yet though..