Closed leep-frog closed 2 years ago
What do you try to achieve ? Have you tried to do the following :
void TDShifter(qk_tap_dance_state_t *state, void *user_data) {
if (state->count == 1) {
SEND_STRING(SS_LCTL(SS_LSFT(SS_TAP(X_K))));
return;
}
}
But if you want to register the shift key, you can use : register_mods(MOD_MASK_SHIFT);
and unregister_mods(MOD_MASK_SHIFT);
The problem was that the "shift-up" code was getting sent at the end of the SEND_STRING
command, even though the "shift-up" code was the first argument. No clue why it was happening, but I updated my qmk fork and it's working as expected now.
Closing.
Describe the Bug
The above command sends
SS_UP(X_RSFT)
at the very end of the provided arguments, making it behave like the following:System Information
Keyboard: ergodox_ez Revision (if applicable): Operating system:: Windows
qmk doctor
output:Any keyboard related software installed?
Additional Context
I have the following code in my qmk configuration:
Double pressing the key sends the proper sequence (starts holding shift), but single pressing it sends the following (tested with this website):
Whereas I'd expect the shift key to be unset before the ctrl+k key downs are sent.
Attempted fixes
Below are resolutions I attempted with no success:
SS_DOWN(X_RSFT)
argumentsSEND_STRING
commandsSEND_STRING
commandsclear_mods()