-
-
Notifications
You must be signed in to change notification settings - Fork 39.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[GMMK Pro] Fix unintentional taps to the volume keys when using the encoder #17129
Conversation
Changing user keymaps requires sign-off from the affected users. |
@zvecr how is this a breaking change? And ok. Should I add them all on this PR and ask them if they are okay with the change then? |
Its the label we use to manage PRs which touch user code, without prior sign-off. https://docs.qmk.fm/#/breaking_changes_instructions.
Correct. |
@alexmarmon, @byungyoonc, @cedrikl, @coryginsberg, @Gigahawk, @hachetman, @JackKenney, @Jonavin (both ansi and iso), @zvuc, @mattgauf, @mike1808, @tguinan, @stickandgum, @wholesomeducky, @willwm, @ViToni My bad for spamming all of you, but essentially there is a breaking change that affects your keymaps and I'm fixing it. Just need you guys to check if the changes I made reflect the intent here (meaning keeping the behavior your keymaps had before #16721). |
@andrebrait My keymap keeps the default encoder settings so everything should be fine for my stuff. |
Default mapping for me as well if it breaks I'll fix it at that point. Thanks for letting us know. |
Should be fine on my keymaps |
My keymap uses the encoder for scroll left/right anyway (at least I believe the version on GitHub does) so I'm completely good with this |
I certainly use the encoder but don't know how to verify if this will break any specific functionality. With that said, I trust the community so feel free to modify my code as you see fit. Thank you. |
Added list of required sign-offs to the description. |
You can pull the code from master and flash to your keyboard. As far as I can tell, before this PR, you'll always get a volume up/down tap in addition to whatever your code is doing. Best case scenario you'd get two taps to the same volume change button. I think you're using your encoder to scroll with mouse buttons. In this case you'd get a volume up/down every time you scrolled up/down. |
Hi, also default mapping for me. If anything breaks I will fix it. |
https://github.com/qmk/qmk_firmware/blob/master/keyboards/gmmk/pro/ansi/keymaps/stickandgum/keymap.c#:~:text=%23ifdef%20ENCODER_ENABLE,endif%20//ENCODER_ENABLE |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks fine to me
@stickandgum yeah, you'd definitely get a tap to |
Just re-compiled firmware with the changed bit and tested encoders. Seems fine! |
LGTM, thanks for caring! |
@alexmarmon @Gigahawk @JackKenney sorry to bother you, but I still need your blessing here 🙃 |
Looks good to me! |
02cf9f7
to
638ebf0
Compare
LGTM, but I haven't tested it. Haven't had a reason to reflash my board. TY for the fix! |
@drashna @zvecr it seems the only sign-off missing is @alexmarmon, who seems to be active but unresponsive. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ALso, because this targets user keymaps, this either needs to go to the develop
branch (you can edit the title to change the target... weird yes, but that's how it handled), or you need each user to sign off on this change.
b85dae9
to
3a7a231
Compare
I switched the base branch to develop and resolved a conflict. |
@drashna let me know if this is good enough now |
Description
In a similar vein to #16830, this fixes the double-tapping or unintentional tapping of the volume keys when using the encoder, introduced in #16721.
While #16830 took care of fixing the behavior, it still kept the user encoder handling code in the default keymaps. I have removed it, since it's not necessary, given
pro.c
already contains the handling for the media keys (and in an even better way, since it can be more compatible when NKRO is enabled).I took the time to look for any instances in which user layouts would end up having a different behavior due to #16721.
Some of them were:
encoder_update_user
and then returnedtrue
encoder_update_user
implementation and then returntrue
I realize going about changing other people's code is not a good thing, but the code was effectively broken, so here it is.
I also took care of moving an outdated keymap into the
ansi
subdirectory and fixing a small typo in the docs. The whitespace-related changes were done by my text editor and I don't have time to undo them right now. If that's an issue, I'll try to push a new commit later to revert them.Sign-off
Types of Changes
Issues Fixed or Closed by This PR
Checklist