Skip to content

Adding Easier Configuration for Dual-Side Encoders On Split Keyboards#1133

Merged
xs5871 merged 14 commits into
KMKfw:mainfrom
Vacant0mens:main
Feb 19, 2026
Merged

Adding Easier Configuration for Dual-Side Encoders On Split Keyboards#1133
xs5871 merged 14 commits into
KMKfw:mainfrom
Vacant0mens:main

Conversation

@Vacant0mens
Copy link
Copy Markdown
Contributor

As described and reviewed in this issue, the current way of configuring KMK to work with a split keyboard that has one or more rotary encoders on each side is to manually create the coord_mapping list. While not incredibly difficult, it can be tedious, depending on the configuration of the keyboard's hardware (among other things).

The changes in this PR update parts of the code in the Split class to allow for additional buttons (or in my case, encoder actions) to be automatically appended to the coord_mapping outside of the matrix defined by the two lists of Pin objects. Since the assignment of the key codes to those coordinate indexes is handled outside of the Split class itself, the coordinates can then be assigned to any compatible key-like hardware object via a Scanner class and subsequently assigned a keycode via the keyboard.keymap.

This provides a more accessible point of entry for adding accessories to split keyboards.

I've also added to the documentation around this topic and included examples, as well as updates to current descriptions to (hopefully) make this process easier for others going forward.

Feel free to give constructive feedback, ask any questions you may have, or submit any changes that may be needed. 👍

Copy link
Copy Markdown
Collaborator

@xs5871 xs5871 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please also run make test and fix all the linting complaints.

@Vacant0mens
Copy link
Copy Markdown
Contributor Author

Vacant0mens commented Feb 19, 2026

BLK100 Black would make changes.
What does this error mean? 🤔
This is the line:
add_buttons=0 # add single-pin buttons, rotary encoder actions, etc. per-side.

@xs5871
Copy link
Copy Markdown
Collaborator

xs5871 commented Feb 19, 2026

There's also a fix-formatting make command.
Line 44 is missing a comma at the end.

@xs5871 xs5871 merged commit 39ceff4 into KMKfw:main Feb 19, 2026
1 check passed
@xs5871
Copy link
Copy Markdown
Collaborator

xs5871 commented Feb 19, 2026

I was wondering why the spellchecker didn't trip.

@Vacant0mens
Copy link
Copy Markdown
Contributor Author

Hm. ... Should it have?

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.

2 participants