Made progress, but definitely not at the finish line yet.
First off, I wired up the Zenith to the Teensy. I needed to use a Teensy because this keyboard needs the reset wire connected, which goes at PB7, which the pro micro doesn't have.
After that, I tried a couple things.
repository/TMK fork, and ran Make in 'Z:\Keyboard_Firmware\Zenith\tmk_z150-master\tmk_z150-master\converter\xt_usb'[/list]
- This produced the hex file 'xt_usb_lufa.hex', which I loaded onto the teensy with the teensy loader.
- With this firmware, the keyboard outputs utter gibberish. In fact such utter gibberish that it "locks up" or something and makes it so that even my normal keyboard wigs out, like I'll start pressing normal buttons and it will open drop down menus or new windows or select all the text on the screen, stuff like that. No idea why that happens and the only way I can fix it as far as I can tell is restarting the computer. Really annoying.
Here's an example of HID listen with the TMK firmware loaded (this is me typing 'qwertyuiop'):
Code: Select all
Waiting for device:....
Waiting for new device:...
On a whim, I decided to try QMK. I ran make converter/xt_usb:default, and loaded the produced hex file to the teensy.
- This ALMOST works perfectly. All the keys act exactly as they should. I even was able to make my own own layout by modifying the keymap.c file (at qmk_firmware\keyboards\converter\xt_usb\keymaps\default), where I successfully made the CTRL key act as caps lock and the left alt key act as CTRL.
- UNFORTUNATELY, the qmk firmware is unstable. Randomly, keys "lock up," repeating strokes until I've mashed on the keyboard enough to somehow get it to stop (or unplugged it), I think I MIGHT be getting dropped strokes occasionally but it's hard to tell, and invariably, eventually, it does that thing where it completely screws up the keyboard input rendering my computer unusable until I've restarted it (see above).
The way I see it (though I'd like to hear from deskthority on this), there are three options:
- Easiest, pull-up resistors? Could those be causing the problem?
- Not so easy, but maybe possible, modify the TMK files that guy worked on for the Zenith to work. It's not at all obvious how to do this, and I could really use some guidance.
- Probably impossible: Add the TMK implementation of the Zenith to QMK. That is, whatever this guy did to get the Zenith working in TMK, do the same thing in QMK to get it working. I have truly no idea how to do this, although all the stuff he worked on is indicated on his github repo. It would be great if someone more knowledgeable than me could work out how to get that into QMK?