Tobias Arndt
fe509c466f
fix(kscan): Enable charlieplex interrupts for single compatible device
...
Fixes #2201
2024-03-30 19:13:39 -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
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
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
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
aeb5bed3d6
fix(kscan): Adjust charlieplex init level/priority.
2024-02-09 14:32:46 -08:00
Peter Johanson
f4e6d70465
fix: Proper use of CONTAINER_OF with delayable work.
2024-02-09 14:32:46 -08:00
Peter Johanson
552347b8a4
fix(kscan): Adjust composite kscan priority
...
* Composite kscan needs a dedicated priority to be sure it is
initialized after the other kscan instances.
2024-02-09 14:32:46 -08:00
Peter Johanson
58413ca8c5
refactor(kscan): Clean up warning about shadowed local.
2024-02-09 14:32:46 -08:00
Peter Johanson
f7e7c9c10b
fix: Add missing include for k_work types.
2024-02-09 14:32:46 -08:00
Hooky
2c50cff891
feat(kscan): Add charlieplex keyscan driver
...
* Supports matrixes with and without additional interrupt pin use.
Co-authored-by: Peter Johanson <peter@peterjohanson.com>
2023-12-09 17:10:05 -05:00
Peter Johanson
0ca7f69b6d
refactor: Promote debounce to exposed mod lib.
...
* Promote previously local debounce code from kscan drivers to exposed
module lib, for use with other drivers as needed.
* Refactor existing kscan driver to new "public" API.
2023-09-16 11:52:40 -07:00
Peter Johanson
c28ef1b61e
refactor(drivers): Use proper init stage/priority.
...
* Avoid APPLICATION stage and use the proper earlier stage for
kscan drivers.
2023-09-16 11:52:40 -07:00
Peter Johanson
690bc1bb44
refactor: Move drivers into properly module.
...
* Align our driver module layout to properly match Zephyr conventions,
allowing proper CMake setup to amend the library for each type of driver.
2023-09-16 11:52:40 -07:00