Robert U
6cb42a8060
feat(behaviors): On-release option for positional-hold-taps
2023-03-12 12:24:00 -04:00
Nick Coutsos
6e99a48696
fix(behaviors): Mark sticky key release-after-ms required
2022-12-20 20:38:26 -06:00
Joel Spadin
3eb06f137b
feat: Add global macro timing configs
...
Added ZMK_MACRO_DEFAULT_WAIT_MS and ZMK_MACRO_DEFAULT_TAP_MS to set
global defaults for the wait-ms and tap-ms properties of macros.
Also reduced the default timings for macros, since it's been reported
many times that 100 ms is too slow.
2022-12-20 20:34:25 -06:00
Robert U
ef2e6e9156
feat(behaviors): Add mod-morph keep-mods
...
* Update docs for mod-morph
* Add unit tests for mod-morph
* Add keep-mods to DT binding
Co-authored-by: Martin Aumüller <aumuell@reserv.at>
Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com>
2022-10-14 20:40:28 -05:00
Nick Conway
edec4595ae
fix(behaviors): Fix mod morph description
2022-07-03 09:11:00 -04:00
Peter Johanson
1e8224c296
feat(behaviors): Add DEL/BSPC to continue list.
...
* Continue caps word on delete/backspace by
default now.
Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com>
2022-06-04 01:38:42 -04:00
Caleb Goates
0d5bb100ba
feat(behavior): Add key toggle
2022-06-03 00:04:41 -04:00
Andrew Rae
b5efc7a7eb
feat(behaviors): Add global-quick-tap
2022-04-27 13:33:22 +01:00
Peter Johanson
f4fb5c6fba
fix(build): Add local vendor prefix file.
...
Properly document `zmk` local vendor prefix.
2022-04-03 00:10:29 -04:00
Peter Johanson
3a6a249ad0
feat(behaviors): Add macro support.
...
* Fine grainted press/release/tap actions.
* TIming between actions can be controlled.
* Processed async, to avoid blocking.
2022-03-23 23:42:54 -04:00
Kurtis Lew
32ebe2cfb5
feat(behaviors): Add Tap-Dance behavior
2022-03-16 01:08:42 -04:00
okke
cfd0d3d81a
Behaviors: Add 'ignore-modifiers' option to sticky keys
...
To combine multiple sticky modifiers, the sticky keys must ignore
other (sticky) modifier keypresses.
This behavior is important for "callum-style mods", where all modifiers
are sticky mods.
Fixes #829
2022-02-07 14:45:07 -05:00
Alessandro Bortolin
ce843825e8
refactor(backlight): code cleanup
2022-02-05 23:40:18 -05:00
ReFil
5614a8bb80
feat(backlight): initial split support
2022-02-05 23:40:18 -05:00
Alessandro Bortolin
85b2d30bd5
feat(lighting): add backlight behavior
2022-02-05 23:40:18 -05:00
Peter Johanson
4d55e60adb
refactor(behaviors): Always add reset behaviors.
...
* Don'd omit unreferenced reset behaviors, so they are always
available in split peripherals.
2022-01-31 23:03:34 -05:00
Peter Johanson
e8540f17fc
fix: Ensure power and underglow behaviors built.
...
* Remove `/omit-if-no-ref/` from the behavior nodes.
2022-01-31 23:03:34 -05:00
Pete Johanson
47f873b038
feature(split): behavior locality support.
...
* GATT characteristic allowing passng data + behavior
label to invoke the behavior on the peripheral side.
* Behaviors have a locality setting to specify where they run.
* Build reset/power/RGB on peripheral.
2022-01-31 23:03:34 -05:00
Peter Johanson
70bb7c9334
feat(behaviors): &key_repeat
behavior + tests.
...
* Add new `&key_repeat` behavior that captures and re-sends
the most recently triggered keycode.
Closes : #853
2022-01-30 22:47:34 -05:00
Lucas Yunkyu Lee
2666bd622c
fix(keymaps): add row-offset property to matrix-transform
2021-12-20 06:14:35 -05:00
Peter Johanson
54dabffd0d
feat(behaviors): Add caps word (&caps_word
).
...
* Add new `&caps_word` behavior that acts like caps lock, but
releases automatically when any "break" keycode is pressed.
2021-11-28 22:41:35 -05:00
Jonathan Rascher
e9140b2da9
feat(conditional-layers): Implement feature
...
This is a generalization of the existing concept of tri-layer support
that's already well known. Essentially, a conditional-layer
configuration activates a particular layer (the then-layer) when one or
more other layers (the if-layers) are activated.
This is commonly used on ortho keyboards to activate a third "adjust"
layer while the primary two layers ("lower" and "raise") are active.
2021-11-15 05:49:23 -05:00
jding
4e62319982
feat: hold/tap flavor tap-unless-interrupted
...
Implements new hold/tap flavor, tap-unless-interrupted
Adds tests
Adds docs
2021-11-09 01:07:05 -05:00
jmding8
19ee7849f8
feat(behaviors) Required keys for tap-hold behaviors
...
* Add optional `hold-trigger-key-positions` hold-tap configuration
* Leverage configuration for decision making around when to trigger
hold decision in hold-taps.
* Add docs for new configuration.
* Tests for the new config/decision logic.
2021-11-01 12:37:20 -04:00
Darryldh
a124eb9f9e
feat(display): IL0323 driver for EPD displays.
...
* Basic driver, using the GD7965 driver as a basis, since the ICs
are very similar.
2021-08-24 22:15:42 -04:00
Okke Formsma
89ed816c67
feature(hold-tap): Retro tapping
2021-02-24 07:24:27 -05:00
Nick Winans
57661362ea
refactor(ext-power): Add init-delay-ms option
...
Co-authored-by: Pete Johanson <peter@peterjohanson.com>
2021-02-16 14:51:32 -05:00
Okke Formsma
af9d6e9b05
style(hold-tap)!: Write hold-tap params with dashes
...
tapping_term_ms -> tapping-term-ms
quick_tap_ms -> quick-tap-ms
The old style works, although it's deprecated.
2021-02-10 07:55:12 -05:00
Pete Johanson
b84d29c384
refactor(core): Use /omit-if-no-ref/ for behaviors.
...
* Use lesser-known DT features to skip behaviors not referenced
in the user keymap
* Update the behaviors to skip code if no nodes found.
* Remove some empty config/data structs where unused in
behaviors.
2021-02-04 00:52:25 -05:00
KemoNine
cd503ed17b
Feat combo layers ( #661 )
...
feat(combos): add layer filtering
Co-authored-by: KemoNine <mcrosson@kemonine.info>
2021-02-03 23:33:09 -05:00
Okke Formsma
9a7908b632
behaviors(hold-tap): Implement quick_tap_ms (TAPPING_FORCE_HOLD)
...
Tap-and-hold a hold-tap to hold the tap behavior so it can repeat.
After a tap, if the same key is pressed within `quick_tap_ms`, the
tap behavior is always picked.
This is useful for things like `&ht LSHFT BACKSPACE` where holding
the backspace is required.
Implements #288 .
2021-02-02 15:28:16 -05:00
Okke Formsma
c925cf02dd
feature(sticky_keys): add quick-release
...
when quick-release is enabled, the sticky key is released immediately after another key is pressed
2021-01-28 17:10:04 -05:00
Okke Formsma
5eeb310b2f
feat(grave-escape): implement grave-escape
...
closes #85
2021-01-22 19:27:18 -05:00
innovaker
5978990e6d
chore(core): replace Pete Johanson
with The ZMK Contributors
...
Does not include boards and shields.
2021-01-16 11:30:37 -05:00
Okke Formsma
feb0d5b90c
feat(combos): initial implementation
...
closes #45
2021-01-13 21:07:41 -05:00
KemoNine
99f932a47d
(feat) Allow setting underglow color by key press
2021-01-08 16:08:13 -05:00
innovaker
f17584ca0e
chore: standardize # style headers
...
Changes made with regex plus some manual tweaks.
Find:
/(?:(?<!#!\/bin\/sh\n)(?:^#\n))*^#.*?[Cc]opyright.*?(\d{4}) *([0-9A-z,_\- ]+).*?\n(?:^#\n)*^#.*?SPDX-License-Identifier:? *(.+) *?\n(?:^#\n)*/gm
Replace:
# Copyright (c) $1 $2
# SPDX-License-Identifier: $3
PR: #564
2021-01-06 17:00:44 -05:00
innovaker
61893e453b
refactor(app): format with prettier ( #563 )
...
prettier --write .
PR: #563
2021-01-01 22:55:52 -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
Pete Johanson
b3f3362b50
feat(display): Initial widget/status screen work.
...
* Battery and output status widgets
* Built in status screen combining them.
* Ability to define a custom status screen factory
function.
2020-12-02 16:04:56 -05:00
Okke Formsma
76a6d7b4c5
feat(sticky keys): initial implementation
2020-11-28 00:58:24 -05:00
Okke Formsma
6dcd06bd46
add license headers to behavior dtsi files
2020-11-16 17:26:42 -05:00
Pete Johanson
7d16186b7a
fix(ble): Remove unpair combo code.
...
* Favor the settings reset images for this.
2020-11-10 14:53:03 -05:00
innovaker
348a44a8a3
refactor(app): Remove obsolete include's of hid_usage_pages.h
...
This should've been done in eff1b8223b
.
2020-11-10 14:22:53 -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
e925319e4c
refactor(hid): Replace deprecated HID usage page references
...
Deprecate `USAGE_KEYPAD` and replace with `HID_USAGE_KEY`.
Deprecate `USAGE_CONSUMER` and replace with `HID_USAGE_CONSUMER`.
Closes #217 .
2020-11-03 23:50:54 -05:00
Joel Spadin
2fe1fbb526
feat(endpoints): rename behavior to outputs
...
"Outputs" is probably easier for most people to understand than "endpoints".
2020-10-28 18:15:05 -05:00
Joel Spadin
600bba25f0
feat(endpoints): add preferred endpoint setting
...
Added a new setting to remember the user's preferred endpoint. When both USB and
BLE are connected, the preferred endpoint will be used.
Added a new behavior to control this setting. It supports commands:
&end END_USB - Prefer USB output
&end END_BLE - Prefer BLE output
&end END_TOG - Toggle between USB and BLE
2020-10-28 18:15:05 -05:00
Mega Mind
2e649b7fd4
Fix compilation errors and minor tweaks
2020-10-13 00:09:57 +08:00
Mega Mind
b5e1c8a7ad
New behavior for ext power control
2020-10-12 23:42:01 +08:00