Commit Graph

481 Commits

Author SHA1 Message Date
Kyle Brown
09096abe35 Mostly working. Can even game on it 2018-09-25 12:40:49 -07:00
Kyle Brown
b8a27b9605 Set better keycode values for KC_NO and KC_TRANSPARENT which is an alias to KC_TRNS 2018-09-24 18:01:03 -07:00
Josh Klar
dd69ca5422 Merge pull request #24 from KMKfw/topic-shifted-keycodes
Support ShiftedKeys, though the CODE_ stuff is odd
2018-09-23 05:40:30 -07:00
Josh Klar
ef921a5b99 Support ShiftedKeys, though the CODE_ stuff is odd 2018-09-23 05:19:57 -07:00
Josh Klar
84b7b42b0f Merge pull request #23 from KMKfw/topic-fix-makefile
Remove useless crap from Makefile
2018-09-23 04:55:15 -07:00
Josh Klar
c39c91af12 Remove useless crap from Makefile 2018-09-23 04:51:27 -07:00
Josh Klar
d377f26bca Merge pull request #22 from KMKfw/topic-declarative-keymaps
Make user keymaps fully declarative
2018-09-23 03:32:39 -07:00
Josh Klar
7aaaad5eef Remove unused keymap, unbreak Kyle layout I think 2018-09-23 03:23:42 -07:00
Josh Klar
c90d75321a Finish renaming targets in circle 2018-09-23 03:16:53 -07:00
Josh Klar
32dd2cecc4 Run the keymap tester on board builds usually 2018-09-23 03:12:31 -07:00
Josh Klar
94130740c4 Write a basic keymap sanity checker utility 2018-09-23 03:03:49 -07:00
Josh Klar
3f83e6a85b Remove the auto-build 2018-09-23 03:03:48 -07:00
Josh Klar
91c6a2128e Build the Unix port of MicroPython so we can sanity-check layouts using the actual target Python, rather than CPython with all its niceties 2018-09-23 03:03:48 -07:00
Josh Klar
97091ff4fd Make user keymaps fully declarative
This removes the need for the user to define... most things, honestly.
Notably, `main()` is no longer the end user's responsibility. This also
allows us to do fun stuff going forward like validating keymaps for
sanity (ex: the key assigned to `KC_MO(x)` should be assigned to
`KC_TRNS` on the target layer or the user will never be able to escape
that layer).

This also disambiguates `BOARD` to always refer to an actual slab of
silicon, renaming to `USER_KEYMAP`.

Entrypoints are now a bit more wild, and mostly-unsupported boards no
longer have working entrypoints. It's probably just time to scrap those
boards for now (until we have BLE HID and/or bitbang USB HID, at least).
2018-09-23 03:03:47 -07:00
Josh Klar
5f9f3be966 Merge pull request #21 from KMKfw/topic-internal-keycodes
Internal Keycodes and partial layer support (MO, DF, TO, TG)
2018-09-23 03:03:26 -07:00
Josh Klar
6977ae94b4 Finish unbreaking my own layout... 2018-09-23 01:06:04 -07:00
Josh Klar
666f36d41a Unbreak my own layout 2018-09-23 01:04:10 -07:00
Josh Klar
5cdd678073 We do not support the NRF52832 anyway, stop building it in Circle 2018-09-23 00:22:59 -07:00
Josh Klar
634e6f14e6 Support TO and TG layer switching 2018-09-23 00:14:30 -07:00
Josh Klar
579c32f703 Disable line-length checks on user-defined keymaps 2018-09-23 00:14:30 -07:00
Josh Klar
8c7c9958f9 Unbreak the reset key by removing dead code path (for now) 2018-09-23 00:14:29 -07:00
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
Kyle Brown
0ae3adcc84 Added more work to shifted keycodes. 2018-09-23 00:14:28 -07:00
Kyle Brown
fb053b7de4 Fix keycodes, and update keymap in prep for working layers 2018-09-23 00:14:24 -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
8a55dcca04 Helper makefile task to autofix some linter noise 2018-09-23 00:13:31 -07:00
Kyle Brown
7ae2d18e45 Very broken, but some work done probably 2018-09-23 00:13:30 -07:00
Kyle Brown
d0f35100b3 Start of internal keycodes 2018-09-23 00:13:28 -07:00
Kyle Brown
f84c58a03e Added more keycodes 2018-09-20 14:50:59 -07:00
Kyle Brown
39c95d7e57 Renamed board because, duh 2018-09-20 13:10:16 -07:00
Kyle Brown
2106f975c7 Planck running KMK? Why the hell not 2018-09-20 13:10:16 -07:00
Josh Klar
eb686f3799 Merge pull request #17 from KMKfw/topic-in-house-forks
Move to the in-org forks of Micro/Circuit Python
2018-09-17 18:21:34 -07:00
Josh Klar
fecf820aef Move to the in-org forks of Micro/Circuit Python 2018-09-17 18:16:16 -07:00
Josh Klar
3de95fc330 Merge pull request #18 from KMKfw/topic-circle-builds
CircleCI: Ensure all boards can at least compile a hex on each commit
2018-09-17 16:00:56 -07:00
Josh Klar
904e7641e7 CircleCI: Ensure all boards can at least compile a hex on each commit 2018-09-17 15:30:31 -07:00
Josh Klar
a69f180260 Merge pull request #16 from KMKfw/topic-update-readme-badge
Update README to reflect new org
2018-09-17 12:31:53 -07:00
Josh Klar
f29a846824 Update README to reflect new org 2018-09-17 12:31:06 -07:00
Josh Klar
ac67868ba0 Merge pull request #14 from klardotsh/topic-readme-is-wrong-yet-again
Update the woefully out of date (again) README
2018-09-17 00:07:07 -07:00
Josh Klar
91e6dcd5f2 Update the woefully out of date (again) README 2018-09-17 00:06:05 -07:00
Josh Klar
1ab98162ce Merge pull request #13 from klardotsh/topic-hid
Turn this semi-automatic keyboard into a full auto
2018-09-16 23:35:32 -07:00
Josh Klar
fa195a3e3d Save a shit ton of perf, turns out making huge dicts every keystroke was AWFUL 2018-09-16 23:31:00 -07:00
Josh Klar
712b0e4888 Merge pull request #12 from klardotsh/topic-hid
Implement a basic HID keyboard on a PyBoard!
2018-09-16 23:25:49 -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
7f88f4f415 Implement basic HID keyboard support (send_string works great!) 2018-09-16 20:49:47 -07:00
Josh Klar
27f1e971b0 Add HID keycodes in a semi-structured manner 2018-09-16 18:30:44 -07:00
Josh Klar
2476a65b30 Merge pull request #11 from klardotsh/topic-pyboard
Support the PyBoard v1.1 as much as the Feather was, at least
2018-09-16 00:21: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