This stuff is archived because I've moved on to manufacturing my own keyboards. Feel free to look around, but I don't touch this stuff at all anymore (I no longer even own an ErgoDox)
Why do you want to use my fork? 1 reason: pure, unbridled awesomeness. This awesomeness exists in 2 primary places. The first is this: I've fixed a nasty bug that didn't allow more than 254 macros (if you want all my awesomeness, you should go get my kll stuff, too, to see why I have 254 macros). The second is that I have an updated (rewritten) version of bitmap2struct (I rewrote it in NodeJS, cuz I don't really do Python) that lets you create all sorts of cool, nifty icons instead of the goofy "I:C" and the numbers 0-9. As an example, I have a little ErgoDox icon as the base layer, and then I have a Left (and Right) ErgoDox icon as 1, the Start button as 2, the Apple icon as 3, and a number of other images that indicate at a glance what your keyboard is up to.
I also have a work-around for a wacky bug that I haven't been able to track down related to the lower right button when you're using the left side as your master: it repeats indefinitely. VERY annoying! So I've added a couple of phantom locations to the base layers.
Be warned: I modified base layers for my KLL, because I found it easier to deal with.
This is the main Kiibohd Firmware. In general, this should be the only git repo you need to clone. The KLL git repo is automatically cloned during the build process.
Please refer to the KLL repo or kiibohd.com for details on the KLL (Keyboard Layout Language) Spec.
- Infinity 60%
- Infinity 60% LED
- Infinity Ergodox
- WhiteFox
- K-Type (coming soon)
The Kiibohd firmware supports a lot of other keyboards, but these are more obscure/custom/lesser known.
Compilation is possible and tested on Windows/Linux/Mac. Linux is the easiest using this VM.
For most people refer here.
For the full compilation details, please refer to the wiki.
- Teensy 2.0 (Deprecated)
- Teensy 2.0++ (Deprecated)
- Teensy 3.0
- Teensy 3.1/3.2
- mk20dx128vlf5
- mk20dx256vlh7
Adding support for more microcontrollers is possible. Some considerations for minimum specs:
- ~8 kB of SRAM
- ~25 kB of Flash
It's possible to port chips with lower specs, but will be more effort and have fewer features.
A custom bootloader (based off of McHCK) is available. This is only necessary when assembling a keybaord with a blank MCU or if you're attempting to re-flash your bootloader (requires external tools).
Contributions welcome!
- Bug reports
- Documentation and Wiki editing
- Patches (including new features)
Licensing is done on a per-file basis. Some of the source code is from PJRC/Teensy, other source code is from the McHck Project. Code written specifically for the Kiibohd Controller use the following licenses:
- MIT
- GPLv3
- Public Domain