Improve encoder support #3
Merged
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.
Fix a couple of quirks about the encoder support I introduced in #1:
Encoder Direction
ZMK's encoder support uses "increment" and "decrement" nomenclature, like this:
&inc_dec_kp C_VOLUME_UP C_VOLUME_DOWNPreviously, the A and B pins were reversed in the config so the "increment" action was in the second position in this macro instead of the first one.
This is purely semantics - the keymaps would work either way - but this swap helps the keymap to match examples from ZMK docs and other keyboards more closely.
Resolution
The
stepsandtriggers-per-rotationseemed to be incorrect; the encoder was usually sending two keystrokes per single, tactile bump.I don't know the exact model number or datasheet of the encoder used by this keyboard, so I had to guess and check at the proper values for these two settings. I settled on these values for a couple different reasons:
Using these values, I do still experience an occasional "drop" or missed input from the encoder (maybe once out of every 15-20 times), but most of the time one tactile bump sends one keypress. In my opinion, that's a better experience overall.