zmk/app
Pete Johanson 6b44d33db2
feat(split): Runtime selection of split transport (#2886)
feat(split): Runtime selection of split transport

Allow building multiple split transports, and select an active
one based on the transport availability. Wired split availability
depends on additional `detect-gpios` which must be a GPIO pin
that goes active when a wired connection is present.

feat(split): Suspend/resume wired UART devices.

To better support runtime split support, suspend/resume the UART
as necessary to save power when not using the UART.

docs(split): Document adjusting nRF52 UART interrupt priorities

For wired split on nRF52, you may need to adjust the priority for UART
interrupts lower, to ensure the interrupts used for timing sensitive
BT operations can run when needed, so document this in our pinctrl docs.

refactor(split): Restore use of aync UART on nRF52.

With fixes for Zephyr UART driver, re-enable using async API on nRF52.

fix(split): Minor wired split fixes.

Various minor fixes for wired split to avoid spurious TX in half duplex,
etc.

fix: Unconditionally define HID payloads to avoid error.

Don't conditionally define HID indicator payload, to avoid compilation
errors.

docs(split): Expand on details of split transports.

Expand the split keyboard documentation with a more fleshed out section
on the available split trasnports, and what is and isn't supported by
each, including the runtime selection functionality.

---------

Co-authored-by: Nicolas Munnich <98408764+nmunnich@users.noreply.github.com>
2025-06-16 03:45:25 -04:00
..
boards feat(shield): Add underglow for reviung5 (#2191) 2025-05-05 20:46:21 +02:00
dts feat(split): Runtime selection of split transport (#2886) 2025-06-16 03:45:25 -04:00
include feat(split): Runtime selection of split transport (#2886) 2025-06-16 03:45:25 -04:00
keymap-module chore: Add a deprecation warning to config/boards (#2811) 2025-02-26 15:16:50 -05:00
module fix(kscan): Remove warning when keyboard is built without CONFIG_PM_DEVICE (#2808) 2025-02-01 11:16:52 -07:00
scripts
snippets feat(boards): add nrf52840-nosd snippet 2024-11-12 18:28:59 -07:00
src feat(split): Runtime selection of split transport (#2886) 2025-06-16 03:45:25 -04:00
tests Feature: Full-Duplex Wired Split (#2766) 2025-03-18 02:48:32 -04:00
.gitignore
.prettierrc.js chore: Add typescript support to eslint, fix errors (#2923) 2025-04-22 20:51:41 -07:00
CMakeLists.txt fix(split): Conditionally build all split code (#2884) 2025-03-18 18:49:59 -04:00
Kconfig fix(combos): Restore prompts for two deprecated Kconfigs (#2926) 2025-04-21 02:47:39 -04:00
Kconfig.behaviors refactor(behaviors): Add max-held tap-dance config (#2838) 2025-02-25 14:12:27 -05:00
Kconfig.defaults Feature: Full-Duplex Wired Split (#2766) 2025-03-18 02:48:32 -04:00
VERSION chore(main): release 0.2.1 (#2851) 2025-03-02 07:45:12 -07:00
core-coverage.yml feat(mouse): Add mouse move and scroll support (#2477) 2024-12-09 19:45:41 -05:00
package-lock.json
package.json
prj.conf
run-ble-test.sh fix: changed shebang to make scripts more platform independent (#2893) 2025-04-20 04:23:31 -04:00
run-test.sh chore: Allow running tests from anywhere and support EXTRA_MODULES (#2725) 2024-12-20 15:19:56 -05:00
west.yml fix(studio): Bump nanopb version with build fixes. 2024-11-01 13:17:29 -06:00