-
-
Notifications
You must be signed in to change notification settings - Fork 39.2k
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] RETRO_TAPPING
does not work with ALT_T(*)
#9230
Comments
Are you still noticing this problem? I couldn't reproduce it |
Unfortunately it still remains in 81164c1. |
Are you sure that the space does not simply get "eaten" by the key sequence initialized by alt? When retro-tapping, So, when retro tapping The above is the normal, expected behaviour. You should try a key event listener like https://config.qmk.fm/#/test or |
I use home row mod keys for Linux (most of the time), Windows (from time to time) and Mac (at work). I do have activated This behavior is quite annoying. Is this the intended behavior? Why SFT and CTL do not behave the same way? Should they? Why the behavior of ALT and GUI differ from CTL and SFT? |
It is common convention in desktop UX to focus the menu and enter "leader key mode" when pressing and releasing alt by itself (i.e. without combining alt with any other key) as I've explained so yes this is the intended behaviour that's coded by the app developers. See also https://en.wikipedia.org/wiki/Alt_key#Alt_key_pressed_alone There is no common convention regarding any special behaviour to tapping control or shift by itself so you rarely find apps that map an action to such a key sequence. If you don't want "flashing modifiers" before sending the letter, you must use another method than retro-tap in order to trigger the tap action of the dual-role key, e.g. releasing the key before TAPPING_TERM expires. |
I figured it out, the solution was to add uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case LALT_T(KC_SPC):
return -1;
default:
return TAPPING_TERM;
}
} This treats the tapping term as infinite (or maybe just very large? c++ isn't my native language), so it won't resort to alt unless I hit another key.
|
Wow, @kassi-moon-whaler! I will give it a try tonight! I'll give feedback then! |
I totally forgot to come back here. @kassi-moon-whaler, your solution works like a charm. Thanks so much! You made my day! |
Describe the Bug
Even when
RETRO_TAPPING
is defined,ALT_T(*)
works as same as withoutRETRO_TAPPING
.I reproduced this issue as follows:
crkbd/keymaps/default/config.h
:crkbd/keymaps/default/keymap.c
:KC_RALT
withKC_SandA
to_QWERTY
layer incrkbd/keymaps/default/keymap.c
.KC_SandA
key overTAPPING_TERM
and release it.System Information
Additional Context
I confirmed that
SFT_T
andCTL_T
work as intended.The text was updated successfully, but these errors were encountered: