Commit Graph

129 Commits

Author SHA1 Message Date
Okke Formsma 7b7701ae90 feature(modifiers): add explicit modifiers
this makes LS(LEFT_CONTROL) work as if shift and control were both
pressed explicitly. Previously, the left shift would have been released
as soon as another key was pressed. The implicit behavior is useful in
case of LS(NUMBER_1) when rolling over to other keys.

Also see #361.
2021-01-24 23:30:41 -05:00
Ally Parker a4aaa73f06 feat: Add WPM calculator and display widget 2021-01-23 18:38:31 -05:00
Okke Formsma 5eeb310b2f feat(grave-escape): implement grave-escape
closes #85
2021-01-22 19:27:18 -05:00
Okke Formsma feb0d5b90c feat(combos): initial implementation
closes #45
2021-01-13 21:07:41 -05:00
KemoNine d207c3c30f
(feature) Add &to keycode/behavior (#489)
feat(behaviors): Add `&to` behavior to switch to a layer.
2020-12-29 11:57:49 -05:00
innovaker 842aa5a842 refactor: replace filename hyphens with underscores
Aligns *.h and *.c to underscore naming convention.

These were kept (with warnings) for backwards compatibility with external boards/shields:
- kscan-mock.h
- matrix-transform.h
They should be removed in the future.

PR: #523
2020-12-28 01:15:35 -05:00
Okke Formsma 6927abee6e chore(tests): remove useless &cp test 2020-12-28 00:39:53 -05:00
Okke Formsma e00eceb508 fix(sticky keys): fix tapping-sticky-keys bug.
Sticky keys should be cleared when they were tapped in rapid succession before the timer runs out.
2020-12-06 00:33:20 -05:00
Okke Formsma 3bf770a364 bugfix(sticky keys): release active sticky keys properly
see https://github.com/zmkfirmware/zmk/issues/445
2020-11-29 20:16:51 -05:00
Okke Formsma 76a6d7b4c5 feat(sticky keys): initial implementation 2020-11-28 00:58:24 -05:00
Okke Formsma e48a6b659c fix momentary layer bug when top layer is not &trans
Key release events released keys on the wrong layer if the 'top layer'
was not &trans above the &mo key.

base    <&mo 1>
layer 1 <&kp B>

This was caused by overwriting
`zmk_keymap_active_behavior_layer[position]` after the &mo key was
handled.
2020-11-16 17:19:27 -05:00
Pete Johanson eff1b8223b refactor(keys): Unify usage page.
* Remove need for separate `&cp` behavior, but
  keep it for now for backward compat.
* Refactor sensor inc/dec as well.
2020-11-05 14:55:40 -05:00
innovaker aebe90908d test: Replace superseded key names in test keymaps
Replace deprecated key names (LSFT, LCTL, RCTL, M_NEXT).

Replace abbreviated names with fully qualified names (LSFT, LCTL, LALT, LGUI, RGUI).

Follow-up to #21.
2020-11-03 23:50:54 -05:00
Okke Formsma 4f258efbf1 initial implementation for modifiers
https://github.com/zmkfirmware/zmk/issues/86
2020-11-03 00:19:37 -05:00
Okke Formsma d38740cebf
Add timestamps to position and behavior events (#147)
* Add timestamps to position events and behaviors.

- Take original event timestamps into consideration so nested tap-holds have proper timing.
- Add position and timestamp to keycode state changed event so the one-shot behavior can properly identify other keypresses and timings.
- Add timestamp to position events received from peripheral

* reduce number of arguments to behaviors
2020-10-10 17:32:53 -04:00
Cody McGinnis a65de800bf fix(tests): pending tests pass now 2020-09-08 12:00:46 -04:00
Okke Formsma c5ca664411 some fixes based on feedback 2020-09-02 15:26:06 +02:00
Okke Formsma f6a9c1ee57 rename tests 2020-09-02 15:10:46 +02:00
Okke Formsma c33931c72c Initial implementation of hold-tap 2020-09-01 19:41:08 +02:00
Cody McGinnis 80bef160fc feat(tests): allow tests to be marked as pending
pending tests will not fail the build
2020-08-28 16:28:49 -04:00
Cody McGinnis 26414a6982 fix(docs): move testing docs to website docs 2020-08-28 16:21:31 -04:00
Cody McGinnis 4564d37477 feat(test): create simple docs for creating tests 2020-08-28 16:21:31 -04:00
Cody McGinnis e2f77f25c8 feat(test): add testing for transparent 2020-08-28 16:21:31 -04:00
Cody McGinnis a722cbcea3 feat(test): add tests for toggle layer 2020-08-28 16:21:31 -04:00
Cody McGinnis 3d325ccb84 feat(test): add tests for none behavior 2020-08-28 16:21:31 -04:00
Cody McGinnis abf8b5abfa fix(test): fix normal momentary-layer test snapshot 2020-08-28 16:21:31 -04:00
Cody McGinnis de92bf2b2d fix(test): use a smaller value for mock key intervals 2020-08-28 16:21:31 -04:00
Cody McGinnis 5f56266a69 feat(test): add tests for momentary layers 2020-08-28 16:21:31 -04:00
Cody McGinnis f02fa01e9a fix(test): change the layout 2020-08-28 16:21:31 -04:00