-
-
Notifications
You must be signed in to change notification settings - Fork 39.9k
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
[Bug] Key override sends wrong key on MacOS #24688
Comments
Actually Does the problem happen with a plain Also Karabiner is known to do strange things with modifiers in some cases, so make sure that it's not actually installed. |
Sorry, I realize that I completely messed up my explanation 🤦 I thought that Karabiner was disabled but it was not, I cannot reproduce the issue when Karabiner is disabled. I guess problem solved? Still very annoying to have to disable Karabiner. Curious that there is no issue with Karabiner with one-shot shifts and getreuer's different implementation. Do you think this is fixable in QMK? |
You may look at the The key override code already contains a Mac-specific workaround for media keys: qmk_firmware/quantum/process_keycode/process_key_override.c Lines 368 to 376 in 782f91a
Maybe some similar workaround could be needed for the basic keycodes too (although there are also somewhat similar issues about modifiers in RDP, so maybe the proper way would be to introduce a delay between reporting the modifier changes and other key state changes at some even lower level). |
Results of Custom shift key (getreuer's implementation) reports this:
Key override reports this:
Is one way better than the other? |
Thanks for taking the time to look into this, sounds like your intuition was correct 👌 |
Describe the Bug
This is a really weird behavior...
Defining this key override works on Linux but not MacOS
Configuration
Full config here, can be reproduced following the documentation with this very simple config:
Behavior
When pressing
SHIFT + ,
(S(KC_COMM)
), I expect to see;
(KC_SCLN
)On MacOS
:
(KC_COLN
) instead of;
(KC_SCLN
) when holding a shift modifier;
when used right after a one-shot shiftOn Linux
Behaves as expected:
:
(KC_SCLN
) is sent all the timeAlternative
I cannot reproduce the bug if using getreuer's custom shift key so I guess there is something wrong with the way it's implemented in QMK (replacement commit)
Keyboard Used
Kyria rev1
Link to product page (if applicable)
No response
Operating System
ArchLinux / MacOs
qmk doctor Output
Is AutoHotKey / Karabiner installed
Other keyboard-related software installed
No response
Additional Context
No response
The text was updated successfully, but these errors were encountered: