Commit Graph
100 Commits
Author SHA1 Message Date
Josh Klar 375783742f Remove unused kmk.string (originally from micropython-lib) 2018-12-29 15:42:56 -08:00
Josh Klar 9bed3db9be Update all other keymaps currently in the system 2018-12-29 15:36:46 -08:00
Josh Klar 413e8b8806 Rename keycodes to keys, simpler and easier to deal with 2018-12-29 15:29:11 -08:00
Josh Klar faa61f7df1 Remove debug leftovers causing failed lints 2018-12-29 07:27:44 -08:00
Josh Klar e5c8f5587d Merge unicode handlers with the others. Prove arbitrary Macros are now doable in userspace 2018-12-29 07:10:11 -08:00
Josh Klar 8a21b4135d Restore Unicode Macro support 2018-12-29 06:58:08 -08:00
Josh Klar 57239e3163 Everything necessary to get this to boot finally. Planck types! 2018-12-29 06:03:31 -08:00
Josh Klar 39a6465658 Checkpoint alpha: Reflow macros and keycodes into a consistent structure. Most internal state functionality largely untouched (just moved) 2018-12-29 04:44:52 -08:00
Josh Klar af140a16a6 Merge pull request #103 from KMKfw/topic-kitsy-iris
kitsym4: Support the keeb.io Iris using the ProMicro<->ItsyBitsyM4 converter board
2018-12-28 23:38:22 -08:00
Josh Klar be4ca3e734 kitsym4: Support the keeb.io Iris using the ProMicro<->ItsyBitsyM4 converter board
The thumb cluster maps a little goofy and I'd like to clean up the
keymap here - it's ENTIRELY NOT OBVIOUS how this works right now. Using
this keymap as an example, the physical layout of my thumb cluster is
actually:

Far left: Left
Next to the right: Right
Bottom right: Shift
Top right: MO(2)

You can see what this maps to in code, and it's not at all intuitive.

`swap_indicies`, which we already support, is useless here because,
unlike the Planck/Klaranck, these aren't 1:1 key swaps, but an entirely
custom mapping of columns. This will require something like QMK's
solution to fully custom (or at least partially custom) keymaps at a
core level, and isn't something I feel like tackling tonight
necessarily.
2018-12-28 23:20:08 -08:00
Josh Klar 13a5f7d610 Merge pull request #102 from KMKfw/topic-community-engagement
Resolves #58: Link to new Matrix server and Discord bridge in README
2018-12-28 15:52:37 -08:00
Josh Klar 254f7bcb69 Resolves #58: Link to new Matrix server and Discord bridge in README 2018-12-28 05:42:03 -08:00
Josh Klar 6f5f54390b Merge pull request #95 from KMKfw/topic-plural-plurals
kmk.consts: rename UnicodeModes => UnicodeMode
2018-12-04 17:08:18 -08:00
Josh Klar d6a0538009 kmk.consts: rename UnicodeModes => UnicodeMode
This brings this naming into consistency with both fellow consts in the
same file (ex. LeaderMode is singular) as well as the variables in which
the consts are usually used (usually a `Firmware.unicode_mode` attribute
in a keymap).
2018-12-04 17:03:13 -08:00
Josh Klar 65b884236e Add @siddacious to contributors in README 2018-12-04 16:40:09 -08:00
Josh Klar ddafdfcade Merge pull request #88 from siddacious/master
added notes to identify the pro-micro orientation
2018-11-25 02:31:23 -08:00
Josh Klar 89f0430b88 Merge pull request #87 from siddacious/master
fixing small silk and outilne issue
2018-11-25 01:51:47 -08:00
Josh Klar 678d1d5aab Merge pull request #83 from siddacious/master
added hardware directory with an Adafruit Itsy Bitsy to the Pro Micro…
2018-11-15 17:04:12 -08:00
Josh Klar db301b802c Merge pull request #86 from KMKfw/klardotsh-patch-1
README license blob should reflect the edge cases
2018-11-09 11:46:33 -08:00
Josh Klar 628346117c README license blob should reflect the edge cases 2018-11-06 02:37:50 -08:00
Josh Klar d7ef298274 Merge pull request #84 from KMKfw/topic-cleanup
Remove lots of micropython-specific remnants, and misc. cleanup
2018-11-05 22:05:52 -08:00
Josh Klar b37f3ecdd9 Resolves #85 by bundling string polyfill directly, simplifying deploys 2018-11-05 22:05:07 -08:00
Josh Klar c6922dbfe0 Remove this leftover from a long-outdated refactor 2018-11-05 22:05:06 -08:00
Josh Klar d8b9117db9 Remove lots of micropython-specific remnants 2018-11-05 22:05:05 -08:00
Josh Klar 6a82d3da7d Merge pull request #77 from KMKfw/topic-tap-dance
Tap Dance: Part One
2018-11-05 22:04:40 -08:00
Josh Klar db741eb055 Add some documentation 2018-11-05 21:36:29 -08:00
Josh Klar 94ac6d0cbd Merge master and reconcile tapdance with splits
This took a bit of brain surgery to firmware.py that deserves its own
commit message beyond the default merge commit message - tl;dr though,
it appears to work fine.
2018-11-05 21:15:23 -08:00
Josh Klar d117005d8d Add press-and-hold support to TapDance, and clean up various ways of mangling key press states. Remove pending_keys entirely, replaced with a callback timeout) 2018-10-25 21:58:26 -07:00
Josh Klar 0c13806f1c Add key repeat support for basic alphanumeric tap dance 2018-10-25 21:58:26 -07:00
Josh Klar b0f8c58828 Beginnings of basic tap dance 2018-10-25 21:58:25 -07:00
Josh Klar cc1bfc657f Silly bugfix in ShiftedKeycodes 2018-10-25 21:58:24 -07:00
Josh Klar d60cdc6f7f Merge pull request #81 from KMKfw/klardotsh-patch-1
Heavily update the README to a more "releaseable" state
2018-10-25 15:26:10 -07:00
Josh Klar c1b1be91dd Heavily update the README to a more "releaseable" state 2018-10-25 15:12:48 -07:00
Josh Klar 5b49e6d098 Remove outdated Leader Mode doc sentences 2018-10-19 15:30:43 -07:00
Josh Klar ababc97167 Merge pull request #75 from KMKfw/topic-leader-docs
Update docs for leader mode
2018-10-19 03:35:46 -07:00
Josh Klar 1521a3ec03 Fix more typoes 2018-10-19 02:09:10 -07:00
Josh Klar 74716c4c20 More sane default leader mode 2018-10-19 02:08:13 -07:00
Josh Klar 26c40b977f Update docs for leader mode 2018-10-19 02:05:03 -07:00
Josh Klar 3cb9b762e9 Merge pull request #74 from KMKfw/topic-leader-timer
Add LeaderMode.TIMEOUT (QMK default Leader mode)
2018-10-19 01:55:26 -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 aa4b164067 Merge pull request #73 from KMKfw/topic-debug-key
Resolves #38: Add KC.DEBUG to toggle log spew at runtime
2018-10-19 01:01:56 -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 64202e2ec1 Merge pull request #72 from KMKfw/topic-planck-klaranck
Congressional Bill #72: Add support for the Planck Rev 6 when wired up to an external MCU (breadboarded), and other changes
2018-10-19 00:11:29 -07:00
Josh Klar 758e4de82b Add a bit of important documentation 2018-10-18 23:59:26 -07:00
Josh Klar 9646c89d3a Update soooo much documentation 2018-10-18 23:54:36 -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 ed64b1e79e Remove the sanity checker, it is unused and out of date 2018-10-16 23:11:50 -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 e413392826 Remove pyboard from circle 2018-10-16 22:40:36 -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 10ca6816a2 Merge pull request #69 from KMKfw/topic-circuitpy-over-msc
Address #52 almost entirely
2018-10-16 00:23:41 -07:00
Josh Klar 19a85e1385 Unbreak pyboard builds 2018-10-15 03:21:08 -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
Josh Klar 84fb105eeb Merge pull request #66 from KMKfw/topic-update-circuitpython
Update CircuitPython; restore MSC (refs #52)
2018-10-12 20:47:39 -07:00
Josh Klar 4510f037fd Update CircuitPython; restore MSC (refs #52) 2018-10-12 19:02:43 -07:00
Josh Klar ea2763fd60 Merge pull request #65 from KMKfw/topic-low-hanging-fruit
Add MEH and HYPER modifiers, refactor some cruft, and banish mostly-unused InternalState.update()
2018-10-11 22:00:12 -07:00
Josh Klar b296148631 Merge branch 'master' into topic-low-hanging-fruit 2018-10-11 20:42:03 -07:00
Josh Klar cd2eb3f1cc Merge branch 'master' into topic-low-hanging-fruit 2018-10-11 20:41:34 -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 616f7a91dc Merge pull request #63 from KMKfw/topic-hotfix-samd51
Unbreak SAMD51 by deferring imports to runtime in the entrypoint (ref #52)
2018-10-11 19:18:05 -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 53d21b14de Merge pull request #61 from KMKfw/topic-flatten-common
Resolves #56 by moving kmk.common.* up a level to kmk.*
2018-10-11 18:48:40 -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 30cd5da3f1 Merge pull request #60 from KMKfw/topic-speed-up-circle
Some backports from work on #46 to greatly speed up Circle builds
2018-10-11 18:13:16 -07:00
Josh Klar 7d2d04f070 Some backports from work on #46 to greatly speed up Circle builds
This backports from topic-docker the base image, which we can now use in
Circle to MASSIVELY speed up our CI situation.

The base image can currently only be pushed by @klardotsh as nobody else
has access to the Docker Hub org, but that can change in the future.
2018-10-11 17:50:39 -07:00
Josh Klar 3c5c95cfd7 Merge pull request #57 from KMKfw/topic-rotary-encoders-lol-reddit
Turn down for WHAT?! Rotary encoder support
2018-10-11 13:57:05 -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 f30b4aaf19 Merge pull request #51 from tannewt/patch-1
Correct SAMD chip number
2018-10-10 12:46:28 -07:00
Josh Klar 53580a1e96 Silence the "Entering directory" notices in Makefile 2018-10-08 16:16:05 -07:00
Josh Klar f79c6714f6 Merge pull request #50 from KMKfw/topic-more-makefile-improvements
Bugfixes for Makefile, almost entirely silence it (send most output to .build.log)
2018-10-08 16:10:08 -07:00
Josh Klar 21ccad7bd3 Merge pull request #49 from KMKfw/topic-faster-macros
Make some events (and especially macros) faster by caching BareEvents and many key events in RAM
2018-10-08 05:22:51 -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 c0b78fe3f2 Merge pull request #48 from KMKfw/topic-emotes-as-strings
Ability to create emote/emoji macros from strings directly, on-board.
2018-10-08 04:13:37 -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 64888f1df8 Merge pull request #47 from KMKfw/topic-leader-mode-clean
@kdb424's Leader Mode Enter work as a clean diff
2018-10-08 03:50:10 -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 914b305fee Merge pull request #45 from KMKfw/topic-feather-express-m4
Add support for Adafruit Feather+ItsyBitsy M4 Express boards through CircuitPython
2018-10-07 19:00:04 -07:00
Josh Klar 247cb28d63 More CI/Makefile fixes 2018-10-07 18:47:26 -07:00
Josh Klar f9c19a19b4 Make sure we use pipenv-provided Python within nested Make targets 2018-10-07 18:33:27 -07:00
Josh Klar 614f49759f Rewrite Circle config to hopefully support gcc-arm-embedded needed by atmel-samd 2018-10-07 18:22:27 -07:00
Josh Klar 6d204176e0 Unbreak pyboards 2018-10-07 04:54:25 -07:00
Josh Klar 7d02786959 Remove a stupid sanity check that is not always correct anyway 2018-10-07 04:51:31 -07:00
Josh Klar 50a834a9f0 Use frozen _main.py on atmel 2018-10-07 03:51:14 -07:00
Josh Klar ed593ec9d3 Bump to build of CircuitPython that trims MSC and adds frozen _main.py support 2018-10-07 03:24:47 -07:00
Josh Klar f6bebdcc24 Move off D13 to avoid clobbering the onboard LED just in case 2018-10-07 03:23:36 -07:00
Josh Klar 71af18819f Makefile: Simplify flash rules to have cleaner dependency trees. Fully remove targets for unsupported Teensy. 2018-10-07 01:55:53 -07:00