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
Josh Klar
784f8885bd
Remove a ton of dict lookups for minor perf gains
2018-10-01 00:33:58 -07:00
Josh Klar
fde9b7e274
Add support for millisecond delays within a macro sequence
2018-09-30 21:34:16 -07:00
Josh Klar
2c05efa805
Support a massively-enhanced SEND_STRING equivalent
2018-09-30 21:14:30 -07:00
Josh Klar
96b5c4ee03
Ensure we always send at least four characters when sending Unicode sequences to better support MacOS/Windows
2018-09-30 20:49:40 -07:00
Josh Klar
0ccd27703d
Support Unicode sequences on Windows through WinCompose ONLY
2018-09-30 20:35:41 -07:00