-
-
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
[Bug] Space Cadet Shift and Auto Shift interaction produces unwanted () characters #20978
Comments
However, The difference between the two shift keys is because the Auto Shift code treats only the left Shift modifier specially — it assumes that One way to fix this in the core is to move the call to Replacing Space Cadet keys with |
Do you know what changed to cause this issue? The last time I built QMK firmware (December 2020), this wasn’t an issue. |
On QMK 0.11.x (0.11.0 was released on 2020 Nov 28) I would expect that this problem would appear for the left Shift key, but not for the right Shift; the Auto Shift implementation in 0.11.0 had this code: # ifndef AUTO_SHIFT_MODIFIERS
if (get_mods() & (~MOD_BIT(KC_LSFT))) {
return true;
}
# endif However, maybe you were still using some 0.10.x version of QMK (0.10.0 was released on 2020 Aug 29); the Auto Shift implementation in that version had this code: # ifndef AUTO_SHIFT_MODIFIERS
if (get_mods()) {
return true;
}
# endif So if you were using 0.10.x, any Shift modifier that was registered by a Space Cadet key prevented the Auto Shift code from activating for the next keypress, therefore that keypress was handled normally and reached the Space Cadet code as intended. But some subsequent Auto Shift improvements changed that code:
|
I fixed it here on my own repo. I'm hesitant to make a pull request for this, because I don't know if it will screw things up for anyone else. |
Auto Shift is horribly complicated now to work with Tap Holds and such (though some of that can be removed once I fix conflicts in my bugfix PR for it). For most features it doesn't work with, especially where the issues are related to which feature eats keys, I would say yeah - just move the other above Auto Shift if that works well enough. Space Cadet is trivial to reimplement through custom auto shift keys if people use both and are having issues. |
Describe the Bug
Enable space cadet shift - left shift (, right shift )
Enable auto shift
Quickly type shift-letter, and release shift before releasing the letter.
When using left shift, the ( will be before the letter. When using right shift, the ) will be after the letter.
If you release shift after releasing the letter, the () will not print, and the keyboard works as you would want.
Keyboard Used
Leopold FC980m modded to run QMK off a bluepill
Link to product page (if applicable)
https://geekhack.org/index.php?topic=106758.0
Operating System
No response
qmk doctor Output
No response
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: