I've finally managed to resolve some timing problems with the RF link; I now have my heavily customized wireless alphagrip mostly working. Up till now I was having issues with jerky trackball movement when using the alphagrip wirelessly, now I've managed to sort that out, cursor movement is smooth, keystrokes are not getting duplicated anymore either. Here's the features I've added so far:
- Wireless and wired operation- I retrofitted the alphagrip with a lithium ion battery and USB charger IC, and ultra-low quiescent current regulator in such a way that when you plug it in the battery recharges but the alphagrip is still fully functional. When you disconnect, the alphagrip begins to work wirelessly by talking to the special USB dongle I'm using (NOT bluetooth).
- Scroll wheel emulation using the trackball- enabling numlock will lock out the trackball x-axis and all buttons except the mouse buttons. In other words when you enable numlock, the trackball no longer moves the cursor, it just acts as a scroll wheel.
- Firmware upgrade-ability on the fly- a special key sequence kicks the alphagrip into its bootloader at which point new firmware can be loaded without having to physically hit a reset button tied to the microcontroller.
- Real modifier keys- when you push Ctrl, Shift, etc. they are actually transmitted to the host. This allows things like Ctrl/Shift click multiple selection which aren't possible with the original alphagrip.
At this point the remaining tasks before I can deem this keyboard fully functional are mostly mechanical issues. Solder joints at the Ctrl key are bad, need to be retouched, but this is easy. The hard problem that I've yet to resolve is cramming all the new hardware components into the very limited amount of space inside the alphagrip. There is just barely enough room for the new microcontroller board, RF transceiver, battery+regulator, tons of wires. I may just try to dremel out any plastic that isn't absolutely critical in order to free up some space. Once things are more finalized I'll post some pics.