Reactor is the firmware generator part of Fusion. The intention for it is to be installed as a service somewhere. It will take the JSON's exported by the Fusion project and process them in to ready-to-be-uploaded firmware.
Reactor uses the awesome qmk_firmware by Jack Humbert.
Fusion is a web-based, open source keyboard-layout maker.
It's supports multiple keyboard types: Ergodox EZ, and ortholinear's Planck and Preonic are currently supported.
As long as your keyboard firmware supports/uses keycode.h it should be relatively easy to get it supported.
This project will output JSON file for the full layout (including layers).
- Take the JSON from the request
- Generate a UUID
- Copy a cloned http://github.com/jackhumbert/qmk_firmware to /tmp/{uuid}
- Generate a .c file based on the JSON into the appropriate folder (/tmp/{uuid}/keyboard/{type}/keymaps/keymap_{uuid}.c)
- cd /tmp/{uuid}/keyboard/{type} && make KEYMAP="{uuid}"
- take the {type}.hex and serve it back in the response
TBD
Using homebrew it's easy to compile the firmware:
brew tap osx-cross/avr
brew install avr-libc
Next cd into the appropriate folder of the qmk_firmware, say keyboard/ergodox_ez
cd keyboard/ergodox_ez
Then run make
for the default keymap, or
make KEYMAP="yourown"
for your own keymap. This requires a files keymap_yourown.c in the subfolder keymaps.
You should end up with a ergodox_ez.hex
file, which you can use with the Teensy loader or Teensy GUI
TBD
MIT, see LICENSE