-
-
Notifications
You must be signed in to change notification settings - Fork 37.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
Don't clear keys on layer change unless STRICT_LAYER_RELEASE is enabled #18577
Conversation
|
Yeah, the naming here is ... messy. And to be honest, I'm not sure that clearing the extrakeys here is the right behavior, either. |
Apparently
The real question is why we even need to perform that clear on layer state changes if If we move clearing of “unusual” keys to clear_weak_mods();
send_keyboard_report(); Normally weak mods are cleared only on key press events (so that weak mods that were applied to some keypress stay active until another key is pressed). Should a layer state change affect them too? |
Looks like this is basically left over from the switch to "prevent stuck mods" to being default. #3905 added the checks for strict layer release, but original PR didn't change behaviors. So, that kind of begs the question, how should this really be handled? |
There is actually a unit-test https://github.com/qmk/qmk_firmware/blob/master/tests/basic/test_action_layer.cpp#L362-L402 that describes a use-case that should normally work but that fails because the modifiers are discarded during |
5596c67
to
be70ed2
Compare
LGTM but I wonder if we can just remove the |
Definitely can. Was there as a "just in case". Can remove now, but might be worth leaving for now and remove next cycle. |
Description
Previous behavior clears mousekeys on layer change, which is not expected/proper behavior.
Not sure if extrakeys should be moved too?
Types of Changes
Issues Fixed or Closed by This PR
Checklist