Skip to content

feat(split): Increase split interval during idle#3182

Draft
carrefinho wants to merge 2 commits intozmkfirmware:mainfrom
carrefinho:split/idle-interval
Draft

feat(split): Increase split interval during idle#3182
carrefinho wants to merge 2 commits intozmkfirmware:mainfrom
carrefinho:split/idle-interval

Conversation

@carrefinho
Copy link
Contributor

@carrefinho carrefinho commented Dec 31, 2025

Increase BLE split connection interval when idle to significantly reduce central power consumption. There's a brief period (about 0.6-1s) where the chances of having misordered keypresses are higher when coming out of idle.

Based on #682, updated for current main and fixes issue of finding an extra invalid connection when trying to update.

  • Add central_idle.c listener that increases connection interval when activity state changes to idle
  • Add idle connection parameter Kconfig options under ZMK_SPLIT_BLE_PREF_IDLE_*
  • Temporary: use Zephyr branch with a cherry-picked Bluetooth controller fix for crashing when updating connection parameters on the peripheral. Cherry pick of Bluetooth controller peripheral conn update fix zephyr#51

PR check-list

  • Branch has a clean commit history
  • Additional tests are included, if changing behaviors/core code that is testable.
  • Proper Copyright + License headers added to applicable files (Generally, we stick to "The ZMK Contributors" for copyrights to help avoid churn when files get edited)
  • Pre-commit used to check formatting of files, commit messages, etc.
  • Includes any necessary documentation changes.

carrefinho and others added 2 commits December 31, 2025 12:11
Slows down BLE connection interval between split halves when keyboard
goes idle, reducing central half battery consumption significantly
during idle periods.

When the keyboard becomes active again, connection parameters are
restored to their normal values. There may be brief latency (0.6-1s)
when waking from idle.

Based on: zmkfirmware#682

Co-authored-by: Nick Winans <nick@winans.codes>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant