11 Commits

Author SHA1 Message Date
Josh Klar
9bec905fce
Holy refactor, Batman: full layer support (MO/DF)
Wow, what a trip this was. Layer support is now fully implemented. Other
changes here mostly revolve around the event dispatching model: more
floating state (hidden in clases wherever) has been purged, with the
reducer (now mutable, comments inline) serving, as it should, as the
sole source of truth. Thunk support has been added to our fake Redux
clone, allowing Action Creators to handle sequences of events (which is
arguably a cleaner way of handling matrix changes when not all matrix
changes should result in a new HID report - in the case of internal
keys). A whole class has been deprecated (Keymap) which only served as
another arbitor of state: instead, the MatrixScanner has been made
smarter and handles diffing internally, dispatching an Action when
needed (and allowing the reducer to parse the keymap and figure out what
key is pressed - this is the infinitely cleaner solution when layers
come into play).
2018-09-23 00:14:28 -07:00
Josh Klar
5787731890
Add support for changing to N layers as needed 2018-09-23 00:13:32 -07:00
Josh Klar
392917082a
Unbreak the general idea of KC_DF and KC_MO, though still needs heavy refactors 2018-09-23 00:13:32 -07:00
Josh Klar
3e99f0c8e3 Listen to KEY_DOWN_EVENT and KEY_UP_EVENT in the HIDHelper and actually send. Working keyboard! ⌨ 2018-09-16 23:20:16 -07:00
Josh Klar
6933d9c484 Allow super simple keymap keycode definitions (very QMK-ish) 2018-09-16 22:17:30 -07:00
Josh Klar
88807837d5 Misc. cleanup around the tree 2018-09-16 20:50:05 -07:00
Josh Klar
f5fc555ac5 Support the PyBoard v1.1 as much as the Feather was, at least 2018-09-16 00:17:30 -07:00
Josh Klar
5ba6f15335 Use the new debug mode 2018-09-03 13:50:27 -07:00
Josh Klar
d5de2601d9 Prepare things for the event loop, also abstract gross stuff from end users 2018-09-03 03:22:11 -07:00
Josh Klar
e4b19de009 Escape hatches: flash the user keyboard script as part of DFU rather than pushing with ampy. WAY more stable, mostly unbrickable now 2018-09-02 23:39:55 -07:00
Josh Klar
e9d448af44 A basic 2x2 matrix that can auto-flash to a Feather with a compatible bootloader 2018-09-02 20:07:07 -07:00