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
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
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
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
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
KemoNine
99f932a47d
(feat) Allow setting underglow color by key press
2021-01-08 16:08:13 -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
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
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
Pete Johanson
cf970efb98
feat(bluetooth): Proper bond management, identity support for non-splits
...
* Add `bt` behavior that can be used to perform certain actions,
such as next/prev identity, reset identity, etc.
NOTE: Multiple identities is only supported for non-split shields,
due to missing Zephyr identity functionality for dual
central/peripheral devices.
* Proper bond reset tied to action, that honors peripheral bonds,
so folks can reset and pair to other hosts, without breaking
bonds between splt halves.
2020-09-13 22:33:05 -04:00
Pete Johanson
68e72f9275
fix: Switch to single AUTHORS file.* Closes #164
2020-09-10 10:24:23 -04:00
Okke Formsma
c9a82d71d0
fixes for feedback round 2
2020-09-02 16:41:39 +02:00
Okke Formsma
c5ca664411
some fixes based on feedback
2020-09-02 15:26:06 +02:00
Okke Formsma
c33931c72c
Initial implementation of hold-tap
2020-09-01 19:41:08 +02:00
Pete Johanson
805ea77005
feat(behaviors): Add &bootloader
behavior.
...
* Allow reset behavior to have a type property.
* Add `bootloader` node that triggers DFU UF2
bootloader mode using the AdaFruit nrf52
bootloader.
2020-08-21 11:23:45 -04:00
Pete Johanson
c054feb3c9
Merge pull request #100 from petejohanson/behaviors/add-none
...
Add `&none` behavior.
2020-08-18 14:31:20 -04:00
Pete Johanson
63e02d60dc
feat(behaviors): Add &none behavior
2020-08-18 14:28:11 -04:00
Cody McGinnis
7facb6eee8
fix(keymap): move the toggle layer logic to keymap.c
2020-08-18 14:02:25 -04:00
Cody McGinnis
a82f990d4c
feat(keymap): allow users to toggle layers
2020-08-18 14:02:24 -04:00
Nick
564f787280
Add suggested changes
2020-07-25 14:53:42 -05:00
Nick
ca569c8143
Initial RGB Underglow implementation
2020-07-24 22:37:00 -05:00
Pete Johanson
5958bfed0b
Naming tweaks for the sensor behavior.
2020-07-22 16:24:31 -04:00
Pete Johanson
34ff6190bd
Initial behavior for key presses on encoder rotate
2020-07-22 14:54:18 -04:00
Pete Johanson
c52beb78d4
LIngering "global behavior" bit.
2020-06-30 15:23:21 -04:00
Pete Johanson
57e061ac91
Lots of cleanup of old events/behavior mash.
2020-06-30 15:21:42 -04:00
Pete Johanson
9a991bf019
Initial event manager work, and two first events.
...
* Add initial event manager implementation,
roughly mimicking Nordic's API.
* Add `position_state_changed` and
`keycode_state_changed` events.
* Hook up HID and keymap to new events
instead of using behaviour global event
crazy.
2020-06-30 00:31:09 -04:00
Pete Johanson
55cf9db564
Fix consumer keys w/ refactored behaviors.
2020-06-22 11:06:01 -04:00
Pete Johanson
93635077e6
Implement momentary layer + transparent behaviors
...
* Implement "momentary layer" behavior with `&mo`
reference.
* Implement basic "transparent" behavior with `&trans`
reference.
2020-06-21 21:56:49 -04:00
Pete Johanson
223edf05ad
Refactor global bindings, implement mod-tap.
...
* Use extra comptible = "zmk,behavior-global" to add
behaviors to global bindings for event notification.
* Implement mod-tap, as a keymap binding and global one
to skip tap if other keycode pressed while held.
2020-06-21 21:43:44 -04:00
Pete Johanson
d65629b9a0
Lots more pieces toward HID working again.
2020-06-20 00:11:39 -04:00
Pete Johanson
c23d752917
Some initial work on behavior bindings for keymaps
2020-06-19 15:32:33 -04:00