Adding Easier Configuration for Dual-Side Encoders On Split Keyboards#1133
Merged
Conversation
…ngle-pin buttons to the `coord_mapping`, rather than the user needing to create the coord_mapping manually.
…ping if `add_buttons > 0`
…n using `add_buttons`
xs5871
approved these changes
Feb 17, 2026
Collaborator
xs5871
left a comment
There was a problem hiding this comment.
Please also run make test and fix all the linting complaints.
Contributor
Author
|
|
Collaborator
|
There's also a fix-formatting make command. |
Collaborator
|
I was wondering why the spellchecker didn't trip. |
Contributor
Author
|
Hm. ... Should it have? |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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_mappinglist. 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
Splitclass to allow for additional buttons (or in my case, encoder actions) to be automatically appended to thecoord_mappingoutside of the matrix defined by the two lists ofPinobjects. Since the assignment of the key codes to those coordinate indexes is handled outside of theSplitclass itself, the coordinates can then be assigned to any compatible key-like hardware object via a Scanner class and subsequently assigned a keycode via thekeyboard.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. 👍