Horu
7d1f84e3eb
chore: fix typos in various places
2024-05-13 16:47:33 -04:00
ReFil
2423136788
fix(boards): Fix pulls on ZMK uno toggle switch
...
The devicetree pulls always add on to the extra pulls configured by toggle mode, so these should not have pulls defined in the devicetree. Saved ~200uA avg on another board with a 3t toggle switch
2024-05-03 06:55:43 -07:00
Peter Johanson
af908826cd
fix: Initialize sideband kscan in APPLICATION.
...
* In order to be sure the rest of the system is fully ready before
intializing, because init may result in immediate events being
triggered when used with toggle direct kscan inner devices.
2024-05-01 11:35:54 -07:00
German Gutierrez
d1ad34761a
fix: shortening keymap_soft_off behavior node
...
* Shorten the soft off node in order for it to work across splits.
2024-04-29 12:22:40 -04:00
Jarryd Tilbrook
0d3a4b7bbb
fix(underglow): Correctly set underglow state
...
This fixes a bug introduced in #2244
2024-04-25 07:26:26 -07:00
Pablo Martínez
4d566853af
fix(rgb): auto-off logic
2024-04-25 04:55:42 -04:00
Sadek Baroudi
f4a070aacf
fix(boards): nrf boards missing SPI in pinctrl and dtsi, requiring users to manually define in their shield definitions if they wanted to use SPI
2024-04-25 00:54:44 -07:00
Peter Johanson
16e92cf665
fix(behaviors): Add multiple soft-off instances properly.
...
* Properly pass the node id for the unique
soft-off behavior instance when defining it.
2024-04-17 23:53:12 -07:00
Keeley Hoek
e22bc7620c
fix(hid): Correct off-by-one buffer overflow with NKRO
2024-04-09 23:20:20 -07:00
Xudong Zheng
849eca7228
refactor(underglow): fix uninitialized variable warning
2024-04-09 15:57:34 -07:00
Tobias Arndt
fe509c466f
fix(kscan): Enable charlieplex interrupts for single compatible device
...
Fixes #2201
2024-03-30 19:13:39 -07:00
Peter Johanson
fff1cbecdc
fix: Add wakeup-source; to kscan nodes for ZMK_SLEEP.
...
* ZMK_SLEEP also enables PM_DEVICE, so be sure to mark kscan
nodes as wakeup sources so they can wake keyboards from sleep.
2024-03-29 12:31:43 -07:00
Peter Johanson
29c0cdb3ab
fix(shields): Fix for direct use with ZMK Uno split.
2024-03-27 20:59:26 -07:00
Peter Johanson
7e7110d85f
fix(pm): Fixes for dedicated on/off on peripherals.
...
* Add new flag to differentiate soft off on peripherals that
is invoked by split GATT svc and dedicated additional ones
tied to GPIO pin.
2024-03-27 20:59:26 -07:00
Peter Johanson
41d81801ed
fix(pm): Use Zephyr created device slots.
...
* Avoid overwriting random memory by using
iterable section created by Zephyr PM.
2024-03-27 20:59:26 -07:00
Peter Johanson
d0e0ecb4e3
refactor: Use kscan directly to wake when we can.
...
* When adding a dedicated GPIO pin for soft off/on, use the direct
kscan as the waker, instead of adding an additional node.
2024-03-27 20:59:26 -07:00
Peter Johanson
2df6dcd973
feat(behaviors): More logging in soft off.
2024-03-27 20:59:26 -07:00
Peter Johanson
bb94a7aafe
fix: Fixes for building soft off without deep sleep.
2024-03-27 20:59:26 -07:00
Peter Johanson
8d54e287f0
fix: Adjustments for Zephyr 3.5.
2024-03-27 20:59:26 -07:00
Peter Johanson
bd21f41412
refactor: Fixes for review feedback.
2024-03-27 20:59:26 -07:00
Peter Johanson
5d960a758f
fix: Cleanups of sideband and direct kscan from review.
...
* Add dedicated init priority for the sideband kscan.
* Refactor sideband code for clarity.
* Tweaks to direct kscan for clarity.
* Make sideband behavior row optional for brevity.
* Allow overriding ZMK Uno sideband behaviors.
2024-03-27 20:59:26 -07:00
Peter Johanson
4198fac90f
fix(pm): Fix deep sleep with sideband behaviors.
...
* Properly implement the PM hook needed for sideband behavior
kscan device to have wakeup source enabled on it.
2024-03-27 20:59:26 -07:00
Peter Johanson
09111f1cf3
fix: Sleep after clearing endpoints to wait for send.
...
* Add a small sleep to allow other threads to send data for the
endpoint clearing before sleep.
2024-03-27 20:59:26 -07:00
Peter Johanson
c3144055e8
refactor(boards): Move ZMK Uno 1P3T slider to sideband
...
* Invoke output selection from the slider on the ZMK Uno via
sideband behavior setup, to simplify keymap.
2024-03-27 20:59:26 -07:00
Peter Johanson
a0ad1d4c94
refactor: Add kscan sideband behavior driver
...
* Instead of gpio key behavior trigger, add new kscan driver that
decorates/wraps a given kscan driver and will invoke basic system
behavior assigned to a given row + column, without the need for keymap
mapping in the matrix transform, bypassing keymaps entirely.
2024-03-27 20:59:26 -07:00
Peter Johanson
e78b25a445
feat(kscan): Direct kscan driver can use gpio-keys.
...
* Allow specifying direct kscan driver pins using gpio-key list
as an alternative.
2024-03-27 20:59:26 -07:00
Pete Johanson
933fdcd364
refactor(pm): Remove scanned behavior trigger.
...
* Remove the painful scanned behavior trigger for now, future enhancement
will restore this high level functionality using kscan directly.
2024-03-27 20:59:26 -07:00
Pete Johanson
5ebe924e94
chore: Various soft-off review fixes
...
* Code style to avoid goto.
* Enable pm.c compilation via dedicated Kconfig flag.
* Comment wakeup trigger PM behavior.
2024-03-27 20:59:26 -07:00
Peter Johanson
fceb0351a5
refactor: Fixes for soft-off based on review.
...
* Better naming for gpio-key behavior triggers.
* Tweaks to scanned behavior trigger to avoid bad semaphore use,
and reduce chance of issues with slowly scanned matrixes.
* Various code cleanups of style issues.
2024-03-27 20:59:26 -07:00
Peter Johanson
e78249ee06
fix(bt): Fix BT tests after soft off work.
...
* Move to explicit enable of `ZMK_PM_SOFT_OFF` to turn
on the feature and use the behaviors, which matches
how other features work, and helps with split and
testing schemes.
2024-03-27 20:59:26 -07:00
Peter Johanson
0d4d4fb2b5
feat(pm): Clear HID data before soft off.
...
* Make sure the connected host has no held HID usages before we sleep.
2024-03-27 20:59:26 -07:00
Peter Johanson
860e53b33a
refactor: Promote new endpoints API
...
* Add ability for external callers to clear the current endpoint.
2024-03-27 20:59:26 -07:00
Peter Johanson
d3fffb9e89
feat(shields): Add soft-off to the nrf52840dk ZMK Uno
...
* Use Button 1 for soft off on the nrf52840 when using the ZMK Uno
shield.
2024-03-27 20:59:26 -07:00
Peter Johanson
b19df0cbf0
feat(behaviors): Add soft off behavior.
...
* New soft-off behavior that can be used to force the device
into soft-off state with only certain configured wakeup
devices.
2024-03-27 20:59:26 -07:00
Peter Johanson
738c3c0e3b
feat(kscan): Add PM support to GPIO kscan drivers.
...
* Add PM device hook to the kscan direct & matrix drivers.
2024-03-27 20:59:26 -07:00
Peter Johanson
adb3a13dc5
feat: Add soft on/off support.
...
Initial work on a soft on/off support for ZMK. Triggering soft off
puts the device into deep sleep with only a specific GPIO pin
configured to wake the device, avoiding waking from other key
presses in the matrix like the normal deep sleep.
Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com>
2024-03-27 20:59:26 -07:00
Thomas Huber
58ccc5970d
fix(build): Modify function return type
...
Change return type of `sticky_key_timeout` function to `void` given it
does not return any value to remove compiler warnings.
2024-03-27 14:52:42 -07:00
Peter Johanson
44358798d3
feat: Add ability to fetch battery voltage.
...
* To be able to use the Zephyr `voltage-divider` driver,
add a mode for fetching raw voltage from the sensor
and do state of charge calculation outside of the driver.
2024-03-24 13:28:55 -07:00
Peter Johanson
3a3eed2960
fix: Add settings reset on start init priority.
...
* Add a dedicated settings reset on start init priority and default
it to lower priority (high number) than default FLASH_INIT_PRIORITY
to be sure flash is initialized before we open the area.
2024-03-20 11:18:43 -07:00
Theo Lemay
ce743f2b35
chore: fix whitespace
2024-03-18 10:30:14 -07:00
Theo Lemay
af7e4198ae
chore: remove label in test
2024-03-18 10:30:14 -07:00
Theo Lemay
94d9d837e3
refactor: extract duplicate logic
2024-03-18 10:30:14 -07:00
Theo Lemay
341534aa15
feat(behaviors): lazy sticky keys
2024-03-18 10:30:14 -07:00
Pablo
8929355ac0
fix(keymap): Replace some keypad keycodes
...
* Change KP_MULTIPLY to ASTRK in defaults keymap
2024-03-18 13:19:27 -04:00
honorless
6f2e19ff88
refactor: replace quick_tap_ms with quick-tap-ms
...
* The underscore form of this property is deprecated.
2024-03-18 10:15:50 -07:00
honorless
3a38979684
refactor: replace tapping_term_ms with tapping-term-ms
...
* The underscore form of this property is deprecated.
2024-03-18 10:15:50 -07:00
Hans Kruse
c6e0551fb0
fix(hid): Fix typo in HID usage alias
2024-03-18 13:06:09 -04:00
ReFil
388ad71385
feat(build): Explicit missing keymap node error
...
* Explicit error if zmk,keymap not set
* Document keymap error
---------
Co-authored-by: Cem Aksoylar <caksoylar@users.noreply.github.com>
2024-03-18 12:54:47 -04:00
Joel Spadin
a77288f527
fix: Update settings reset for Zephyr 3.5
2024-03-18 09:48:19 -07:00
Joel Spadin
1dfcfc7d3f
feat(shields): Make settings_reset shield reset all settings
...
Added a new CONFIG_ZMK_SETTINGS_RESET_ON_START option which enables init
code to call zmk_settings_erase(), and changed the settings_reset shield
to use it instead of CONFIG_ZMK_BLE_CLEAR_BONDS_ON_START, so it now
resets all settings instead of just clearing BLE bonds.
CONFIG_ZMK_BLE_CLEAR_BONDS_ON_START is left in place for now in case
someone still needs it. It may be replaced in the future once we find a
better way to repair a broken split connection.
2024-03-18 09:48:19 -07:00