KemoNine
99f932a47d
(feat) Allow setting underglow color by key press
4 years ago
Okke Formsma
319ce30270
chore(behavior): use ZMK_BEHAVIOR_OPAQUE in to-layer behavior
4 years ago
Okke Formsma
fa07ba9d32
refactor(behaviors): use ZMK_BEHAVIOR_OPAQUE and ZMK_BEHAVIOR_TRANSPARENT
...
Use these instead of the magic return values 0 and 1 for
behavior_driver_api return values.
4 years ago
Okke Formsma
caa285852a
refactor(events): return 'ZMK_EV_EVENT_BUBBLE' instead of magic number 0
4 years ago
KemoNine
d207c3c30f
(feature) Add &to keycode/behavior ( #489 )
...
feat(behaviors): Add `&to` behavior to switch to a layer.
4 years ago
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
4 years ago
innovaker
89532eadeb
fix(sticky keys): add 0xFF mask to usage_page
...
Aligns unpacking of usage_page with its equivalent line in keycode-state-changed.h
PR: #520
4 years ago
Okke Formsma
b115f16f4c
refactor(sticky keys): use DT_HAS_COMPAT_STATUS_OKAY(DT_DRV_COMPAT) instead of DT_NODE_EXISTS(DT_DRV_INST(0))
4 years ago
Okke Formsma
1c2796d1c9
refactor(sticky keys): use pointer to avoid repetition in store_sticky_key
4 years ago
Okke Formsma
bc8803ba50
refactor(sticky keys): rename ZMK_BHV_STICKY_KEY_POSITION_NOT_USED to ZMK_BHV_STICKY_KEY_POSITION_FREE
4 years ago
Okke Formsma
26af11b390
refactor(sticky keys): rename timer_is_started to timer_started
4 years ago
innovaker
00ca0d2f1c
refactor(app): replace `struct device *` with `const struct device *`
...
Replaced with RegExp: /(?<!const )(struct device \*)/g
See: https://docs.zephyrproject.org/latest/releases/release-notes-2.4.html
PR: #467
4 years ago
innovaker
3d7376d2e5
refactor(app): replace `config_info` with `config`
...
See: https://docs.zephyrproject.org/latest/releases/release-notes-2.4.html
PR: #467
4 years ago
innovaker
bac1f17cf6
refactor(app): replace Zephyr integer types with C99 integer types
...
u8_t → uint8_t
u16_t → uint16_t
u32_t → uint32_t
u64_t → uint64_t
s8_t → int8_t
s16_t → int16_t
s32_t → int32_t
s64_t → int64_t
Prerequisite for #223
See: https://github.com/zephyrproject-rtos/zephyr/releases/tag/zephyr-v2.4.0
PR: #467
4 years ago
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.
4 years ago
Okke Formsma
f86e0fff14
fix(sticky keys): always clear sticky key when releasing the behavior
4 years ago
Okke Formsma
2ba16c2f3d
fix(sticky keys): use correct timestamp when clearing sticky key in timer
4 years ago
Okke Formsma
37946ff57b
fix(sticky keys): simplify timer management
4 years ago
Okke Formsma
3bf770a364
bugfix(sticky keys): release active sticky keys properly
...
see https://github.com/zmkfirmware/zmk/issues/445
4 years ago
Okke Formsma
76a6d7b4c5
feat(sticky keys): initial implementation
4 years ago
Okke Formsma
bee45f9b3a
feat(events): add timestamp to keycode_state_changed and sensor_event
...
These timestamps are necessary to correctly deal with delayed events due to hold-tap shenanigans.
4 years ago
Nick
076fcc1f70
fix(underglow): Fix error on release of rgb_ug
4 years ago
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.
4 years ago
innovaker
d748d8a749
refactor: Replace superseded key names
...
Replace deprecated key names (LCTL, NUM_0, NUM_1).
Replace abbreviated names with fully qualified names (LCTL, RGUI, NUM_0, NUM_1).
Follow-up to #21 .
4 years ago
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 .
4 years ago
Okke Formsma
4f258efbf1
initial implementation for modifiers
...
https://github.com/zmkfirmware/zmk/issues/86
4 years ago
Joel Spadin
440d09fd45
feat(endpoints): simplify behavior constants
4 years ago
Joel Spadin
2fe1fbb526
feat(endpoints): rename behavior to outputs
...
"Outputs" is probably easier for most people to understand than "endpoints".
4 years ago
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
4 years ago
Pete Johanson
6d9aa4f5ea
fix: Updated copyright headers to single author file.
4 years ago
Mega Mind
2e649b7fd4
Fix compilation errors and minor tweaks
4 years ago
Mega Mind
4adcb396ff
Rebased and fixed nasty code
4 years ago
Mega Mind
5d1c083959
Added toggle and removed a param
4 years ago
Mega Mind
b5e1c8a7ad
New behavior for ext power control
4 years ago
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
4 years ago
Pete Johanson
191a2d755a
chore: clang-format the codebase.
...
* Use the LLVM style
* Override indent width (8) and column limit (100)
* Fixes #142 .
4 years ago
Pete Johanson
6c8b0b53f0
refactor(bluetooth): More concise names.
4 years ago
Pete Johanson
39f980a06d
feat(bluetooth): Add back profiles, split fixes.
...
* Add back in profiles, not using Zephyr
BT identity infrastructure.
* Restore additional `&bt` commands for profile
operations.
* Fix for split pairing and subscriptions, since
Zephyr persists subscriptions across connects.
* Remove keymap from peripheral builds, reduces
firmware size, and avoids unneeded attempts
to send HID data.
4 years ago
Pete Johanson
fc0812bd2e
fix(bluetooth): Remove identity, minimal `bt`.
...
* Simplify the `bt` behavior to one current command
`BT_CLEAR_BONDS_CMD`.
* Simplify BLE code for split and non-split keyboards.
* Remove keymap processing from split peripheral side.
4 years ago
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.
4 years ago
Pete Johanson
68e72f9275
fix: Switch to single AUTHORS file.* Closes #164
4 years ago
Okke Formsma
c9a82d71d0
fixes for feedback round 2
4 years ago
Okke Formsma
c5ca664411
some fixes based on feedback
4 years ago
Okke Formsma
c33931c72c
Initial implementation of hold-tap
4 years ago
Cody McGinnis
033bb7bfc4
fix(behavior): add logging to toggle layer for tests
4 years ago
Cody McGinnis
cbea2d5bed
fix(behavior): none should not be transparent
4 years ago
Okke Formsma
ebc3542aa6
fix bug in modtap bahavior which cleared the wrong keycode events
4 years ago
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.
4 years ago
Pete Johanson
63e02d60dc
feat(behaviors): Add &none behavior
4 years ago
Cody McGinnis
7facb6eee8
fix(keymap): move the toggle layer logic to keymap.c
4 years ago