ReFil
90e070b427
feat(underglow): Add RGB auto off timeout on idle and on usb disconnect
...
Two new options for functionality to enable/disable RGB for
USB status or idle events.
Co-authored-by: Pete Johanson <peter@peterjohanson.com>
Co-authored-by: ReFil <harryherring@gmail.com>
2022-06-25 10:56:36 -04:00
ReFil
38e079ef37
fix(backlight): Improve initial power on behaviour
2022-06-25 00:37:00 -04:00
Peter Johanson
d7bd81e5c4
fix(usb): Correctly detect USB connection status.
...
* Fix detection of USB power vs. configuration, to ensure endpoint
selection works properly with power-only USB attached.
2022-06-16 00:50:04 -04:00
Peter Johanson
3d2bd01747
fix(split): Raise release events on disconnect.
...
* When a peripheral disconnects from a centraly, raise position events
to release any active positions from that
peripheral.
2022-06-12 22:53:02 -04:00
WSTRN
53bec710d8
fix(displays): Proper battery charge icon sizing
2022-06-09 13:54:36 -04:00
Peter Johanson
4af3d272fc
fix(keymaps): Handle matching then-layer
s.
...
* Proporly handle multiple conditonal layers w/ the same target
`then-layer` values.
* Move handling to work callback, to avoid re-entrance for cascading
layers enabling other layers.
2022-06-07 23:41:52 -04:00
Peter Johanson
b3c9c18fee
feat(behaviors): Continue on mods in caps word.
...
* Continue caps word when mods are changed, and
match the continue list on combination of
explicit and implicit modifiers.
2022-06-04 01:38:42 -04:00
Caleb Goates
0d5bb100ba
feat(behavior): Add key toggle
2022-06-03 00:04:41 -04:00
Okke Formsma
c5922fae56
refactor(hid): add mask to HID_USAGE_PAGE macro
2022-06-03 00:04:41 -04:00
Okke Formsma
57fca34dc0
refactor(hid): Move hid logic into hid.c
...
Move the logic for picking the correct hid function into hid.c.
2022-06-03 00:04:41 -04:00
Peter Johanson
4f503246a3
refactor(split): cmake split clean up.
...
* Cleaner cmake setup for split build.
2022-05-29 19:18:09 -04:00
Peter Johanson
6539b3ae25
refactor(split): Clean up Kconfig organization.
...
* Seperated configs for split role (central/peripheral)
and transport (BLE only for now).
* Split the configs to align on structure.
2022-05-29 19:18:09 -04:00
Peter Johanson
16ab6df18d
feat(display): Add new peripheral status/display
...
* Add new API/status to track state of the
peripheral connection to the central.
* Add new peripheral status widget for displaying
the current status of the connection to
the central.
2022-05-17 13:09:21 -04:00
Peter Johanson
0a40f922b5
refactor(split): Seperate peripheral BLE handling.
...
* Move foundational BLE code for split
peripherals to a dedicated file to avoid
tons of conditionals and awkward code.
2022-05-17 13:09:21 -04:00
Cem Aksoylar
25f89ee6ab
feat(battery): Add Kconfig setting for battery level report interval
2022-05-17 12:03:57 -04:00
Nick Winans
54747a52f9
fix(sleep): use pm_power_state_force for proper device power management
2022-05-17 00:30:47 -04:00
Andrew Rae
b5efc7a7eb
feat(behaviors): Add global-quick-tap
2022-04-27 13:33:22 +01:00
Nick Winans
2c7e5b9232
refactor(ble): Use auto phy/conn for split
2022-04-24 18:29:18 -04:00
Joel Spadin
f91472fbe5
fix(battery): Warn if using deprecated battery label
2022-04-17 11:30:57 -04:00
Joel Spadin
388e345c28
feat(battery)!: Add chosen node for battery
...
battery.c now uses the zmk,battery chosen node to select a battery
sensor. Using the node labeled "BATTERY" is maintained for backwards
compatibility but is now deprecated. Custom boards should switch to
using the chosen node.
# Conflicts:
# app/boards/arm/bluemicro840/bluemicro840_v1.dts
# app/boards/arm/nice60/nice60.dts
# app/boards/arm/nrfmicro/nrfmicro_13.dts
# Conflicts:
# app/boards/arm/bluemicro840/bluemicro840_v1.dts
2022-04-17 11:30:57 -04:00
Nick Winans
d08463e483
fix(ble): Restore manual connection params
2022-04-15 12:25:15 -04:00
Peter Johanson
40cd8da743
fix(usb): Split HID from core USB, logging fix.
...
* Split core USB init from USB HID init.
* Tweak logging to avoid "log loop" causing
spurious buffer messages on startup.
2022-04-13 13:07:59 -04:00
DoctorNefario
20a72263b2
fix(behaviors): Prevent accidental transparent behavior return values.
...
Needed because k_work_reschedule can return positive success codes.
2022-04-06 11:00:01 -04:00
Kurtis Lew
7e844bc269
fix(behaviors): Remove behavior_hold_tap_data
...
Related to discussion during development of tap-dance behavior:
https://github.com/zmkfirmware/zmk/pull/1139#discussion_r810564682
This PR suggests to remove the `struct behavior_hold_tap_data` because is not used to store data for each hold tap.
2022-04-06 09:27:39 -04:00
Peter Johanson
af4753cae1
fix(behaviors): Missed refactor for PM callback.
2022-04-03 04:37:42 +00:00
Peter Johanson
953f5212a8
refactor(tests): Move to native_posix_64 target.
...
* Allows removing multilib from docker images
* Run properly in aarch64 host docker
containers for testing on Rasberry Pi.
* Small sticky-keys fix to initialize w/ correct
constant for max uin32_t value.
2022-04-03 00:10:29 -04:00
Peter Johanson
5015a88545
fix(split): Proper role checking in BT callbacks.
...
* Properly react to events only for connections
with the correct role.
2022-04-03 00:10:29 -04:00
Peter Johanson
917c6a0660
fix(power): Fix ext power generic driver.
...
* Adjust for device API changes to fetch
ext power driver instance from settings
callback.
* New PM action callback API.
2022-04-03 00:10:29 -04:00
Peter Johanson
9203ae217b
fix(activity): Use proper PM state for sleep.
2022-04-03 00:10:29 -04:00
Peter Johanson
94ac100b6b
refactor: Move to Zephyr v3.0.0 + ZMK fixes.
2022-04-03 00:10:29 -04:00
Peter Johanson
4df83a9c0d
refactor: Move away from deprecated PM callback.
2022-04-03 00:10:29 -04:00
Peter Johanson
2c5d5fde51
refactor: k_work_queue
API updates.
2022-04-03 00:10:29 -04:00
Peter Johanson
79ab60dfe5
refactor: Move to new PM API/Kconfig settings.
2022-04-03 00:10:29 -04:00
Peter Johanson
6287819fcc
refactor: Move to USB_DEVICE_STACK symbol.
...
See: https://docs.zephyrproject.org/latest/releases/release-notes-2.7.html#changes-in-this-release
2022-04-03 00:10:29 -04:00
Peter Johanson
40d8470664
refactor: Handle HID macro/API changes in Zephyr.
2022-04-03 00:10:29 -04:00
Peter Johanson
53dae35710
refactor: Move to k_work_delayable
API.
...
* Move to new `k_work_delayable` APIs introduced in Zephyr 2.6.
See: https://docs.zephyrproject.org/latest/releases/release-notes-2.6.html#api-changes
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
ad5a12a7bc
fix(behaviors): Fix bug in nested sticky keys
...
If multiple sticky keys with quick release were nested, only the first one
was properly released. This fix makes sure all of them are released properly.
Fixes https://github.com/zmkfirmware/zmk/issues/1149
2022-03-15 23:04:45 -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
Peter Johanson
e2a90974e3
fix(lighting): Proper split backlight support.
...
Ensure the backlight behavior is run globally.
2022-02-06 21:04:42 -05:00
Alessandro Bortolin
13a4515300
feat(backlight): add command to cycle brightness
2022-02-05 23:40:18 -05:00
Alessandro Bortolin
2c0fe3934d
feat(backlight): add tests
2022-02-05 23:40:18 -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
7430750428
refactor(splits): Minor cleanups to periph invocation
...
* Add strlcpy from public domain version.
* Leverage strlcpy to detect truncation of behavior dev strs, and log.
* Use `offsetof` for cleaner detection on peripheral side.
2022-01-31 23:03:34 -05:00
Peter Johanson
b8700eaaa1
fix(split): Fix an off-by-one error in split svc.
...
* Properly check end of behavior device string for null terminator.
2022-01-31 23:03:34 -05:00
Peter Johanson
dbefe92ea0
fix(split): Slightly improved logging on peripherals.
2022-01-31 23:03:34 -05:00
Peter Johanson
fa110488b0
fix(split): Add define for local source.
...
* Add `ZMK_POSITION_STATE_CHANGE_SOURCE_LOCAL` and use
it consinstently to fix bug w/ local `&reset`, `&bootloader`, etc.
2022-01-31 23:03:34 -05:00