Kyle Brown
af3eccd715
First keys on slave half actually type! Still needs a bit of work
2018-10-28 15:03:22 -07:00
Kyle Brown
49da93e436
Basic uart split support. Still need docs and testing
2018-10-28 15:03:22 -07:00
Josh Klar
74716c4c20
More sane default leader mode
2018-10-19 02:08:13 -07:00
Josh Klar
2d1290a12c
Add LeaderMode.TIMEOUT (QMK default Leader mode)
...
This allows leader sequences to "time out" rather than requiring an
Enter keypress to end.
This also rolls back some unnecessary changes from #72 to the matrix
scanner for performance reasons.
In theory we can use this in the future for Tap Dance support (#40 )
Resolves #1
Resolves #37
2018-10-19 01:49:37 -07:00
Josh Klar
54f7117712
Resolves #38 : Add KC.DEBUG to toggle log spew at runtime
2018-10-19 00:58:17 -07:00
Josh Klar
85ab403d22
More clear matrix scan function
2018-10-18 23:33:04 -07:00
Josh Klar
9089106316
Work out some bugs where I could get stuck on layers. Add more debugging output
2018-10-18 23:24:19 -07:00
Josh Klar
6c5a111d65
Import hacks MUST be in non-isort order
2018-10-18 12:56:02 -07:00
Josh Klar
e2ed95556a
Try to fix various advanced layers
2018-10-16 23:11:50 -07:00
Josh Klar
b92aceb682
Fix linting
2018-10-16 22:43:47 -07:00
Josh Klar
bf500d37ff
unbreak tap time
2018-10-16 22:39:17 -07:00
Josh Klar
d042b458f0
Fix Kyle board, and unbreak MO-dependent layers
2018-10-16 22:36:01 -07:00
Josh Klar
0d94bf4c06
Maybe surface errors in the right order
2018-10-16 22:30:33 -07:00
Josh Klar
16c82b1c0c
OMEGA REFACTOR! Perf grind basically complete.
...
Resolves #70 , Resolves #67
Still needs some regression testing in general, and a definite
regression is that rotary encoders are no longer (for the immediate time
being) supported.
Moves to a much simpler internal state tracking system, and FAR lighter
matrix scan.
Removes MicroPython support entirely.
2018-10-16 22:21:45 -07:00
Josh Klar
0c72554773
Add support for a Planck Rev 6 spidered to a Feather M4 Express
2018-10-16 01:05:32 -07:00
Josh Klar
ebc45d59dc
Address #52 almost entirely - target upstream builds of CircuitPython and simply copy (rsync) KMK source, a basic main.py, and the user's keymap to the CIRCUITPY drive
2018-10-15 02:49:12 -07:00
Kyle Brown
d295dc52e6
Small fix for leaving leader
2018-10-15 00:16:34 -07:00
Josh Klar
b296148631
Merge branch 'master' into topic-low-hanging-fruit
2018-10-11 20:42:03 -07:00
Kyle Brown
5313e5f5b5
Fixed caps issue on leader_dictionary and debug_enable
2018-10-11 20:41:52 -07:00
Kyle Brown
37aeeac10a
Should have been caps as these are const
2018-10-11 20:41:52 -07:00
Josh Klar
cd2eb3f1cc
Merge branch 'master' into topic-low-hanging-fruit
2018-10-11 20:41:34 -07:00
Kyle Brown
e6ddaf847f
Remove cruft
2018-10-11 20:33:47 -07:00
Josh Klar
98dfb53a83
Resolve #59 , adds MEH and HYPER modifiers
...
This also cleans up some weird potentially-buggy logic paths within the
ModifierKeycode creation and handling. I can now press a free-floating
HYPER in my keymap and see the appropriate codes in `xev` for press and
release events.
2018-10-11 19:41:00 -07:00
Josh Klar
b763dd9c4b
Resolves #53 by removing InternalState.update and moving its still-unused functionality up the stack a bit
2018-10-11 19:20:03 -07:00
Josh Klar
b14c56f708
Unbreak SAMD51 by deferring imports to runtime in the entrypoint (ref #52 )
2018-10-11 19:09:07 -07:00
Josh Klar
00899d1b0f
Resolves #56 by moving kmk.common.* up a level to kmk.*
2018-10-11 18:13:29 -07:00
Josh Klar
d5a2be38ef
Default rotary encoder to raw no-slop access, opt-in in keymap. Feels WAY better now.
2018-10-11 13:38:33 -07:00
Josh Klar
6589982eda
Support a special form of macro based on rotary encoder directions
2018-10-11 13:38:32 -07:00
Josh Klar
e2c9567bbf
Raw rotary encoder support
2018-10-11 13:38:32 -07:00
Josh Klar
3b0cd6c421
Refactor MatrixScanner to use enhanced Pins abstraction; add DEBUG_ENABLED to SAMD51 boards
2018-10-11 13:38:31 -07:00
Josh Klar
0d847f99ef
Make some events (and especially macros) faster by caching BareEvents and many key events in RAM
2018-10-08 05:04:06 -07:00
Josh Klar
aa423e3690
Fix an exhausted generator bug by converting to list
2018-10-08 03:59:16 -07:00
Josh Klar
eca4bf087e
Ability to create emote/emoji macros from strings directly, on-board.
2018-10-08 03:51:02 -07:00
Josh Klar
bf8ad1319a
Allow natural LEADER_MODE rollover
2018-10-08 03:21:39 -07:00
Josh Klar
c6d8e5b406
Simplify LeaderHelper stuff, unbreak my own boards
2018-10-08 02:41:43 -07:00
Josh Klar
8c9fc9db95
@kdb424's Leader Mode work as a clean diff
2018-10-08 02:31:30 -07:00
Josh Klar
6d204176e0
Unbreak pyboards
2018-10-07 04:54:25 -07:00
Josh Klar
392f8d7e51
Abstract away platform-dependent pin references
...
Quote taken straight from the docstring of get_pin:
>Cross-platform method to find a pin by string.
>
>The pin definitions are platform-dependent, but this provides
>a way to say "I'm using pin D20" without rolling a D20 and
>having to actually learn MicroPython/CircuitPython and the
>differences in how they handle pinouts.
>
>This also makes the keymap sanity checker actually work for
>CircuitPython boards, since it's not possible in CPY to
>define a module stub for `board` that uses Passthrough
>natively (which is how the MicroPython stub worked originally)
2018-10-07 01:40:09 -07:00
Josh Klar
a23acc6131
Update various internal key handling stuff to be CircuitPython-compatible
2018-10-07 00:45:35 -07:00
Josh Klar
d379acfc97
Support ItsyBitsy M4 Express as an effective clone of the Feather M4 Express with less pins. Because that's what it is.
2018-10-07 00:45:34 -07:00
Josh Klar
c4c28ad039
Decrease typing lag by about 80 billion percent by upping the logging threshold to WARNING on SAMD51
2018-10-07 00:45:33 -07:00
Josh Klar
472b08d77b
Support KEYBOARD and CONSUMER modes of HID on Feather M4 Express
2018-10-07 00:45:32 -07:00
Josh Klar
ae3eda26b9
Make kmk_keyboard_user importable on SAMD51 by reducing recursion (read: import) depth
2018-10-07 00:45:31 -07:00
Josh Klar
e11934ab2d
Able to build a VERY basic KMK image for Feather M4 Express, flashable over UF2 only
2018-10-07 00:45:30 -07:00
Josh Klar
d61f4470af
Make KC object lazy but cached to avoid huge AttrDict compilation (most keycodes probably are not used anyway)
2018-10-06 03:28:17 -07:00
Kyle Brown
ad3da0694b
Add advanced layers.
...
These will need more testing and some ported to tapdance. The bigest
case of this would be TT
2018-10-03 22:35:00 -07:00
Josh Klar
fbefed283b
Return state by default on Macro if not a key up or key down event
2018-10-01 21:54:01 -07:00
Josh Klar
552e848a27
Handle macros more consistently: make them a proper internal keycode-style object and not a weird one-off. Fixes sanity_checker on my keymaps.
2018-10-01 11:54:43 -07:00
Josh Klar
f80873fdd0
Roll back the tuple indexing change (now access by dot notation), optimize GESC and fix a bug in how it interacts with the reducer
2018-10-01 01:07:57 -07:00
Josh Klar
b5457534bf
Completely overhaul the entire MatrixScanner and KEY_UP/DOWN_EVENT system for efficiency. Less delay() on HID sends. Speed is only BARELY slower than QMK now.
2018-10-01 00:33:59 -07:00