qmk/qmk_firmware

[Bug] Holding KC_RSFT does not work when Auto Shift is active (it gets released before next keypress)

Open

#24.341 aberto em 29 de ago. de 2024

Ver no GitHub
 (1 comment) (0 reactions) (0 assignees)C (43.867 forks)batch import
bughelp wanted

Métricas do repositório

Stars
 (20.368 stars)
Métricas de merge de PR
 (Mesclagem média 20d 9h) (27 fundiu PRs em 30d)

Description

Describe the Bug

When AutoShift is activated, holding KC_LSFT sends the corresponding shifted symbol or letter. However, for some reason, KC_RSFT gets released before pressing another key.

I am not sure whether this is the intended behavior, but I decided to tinker quantum/process_keycode/process_auto_shift.c a little bit anyway. I am by no means an expert, this is just a suggestion or question.

In line 161, I added MOD_BIT(KC_RSFT): Before:

https://github.com/qmk/qmk_firmware/blob/fd65bd5ae014565d333195285b154d9eeca9294b/quantum/process_keycode/process_auto_shift.c#L161

After: ) & (~(MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT)))

In line 217, I added MOD_BIT(KC_RSFT)

https://github.com/qmk/qmk_firmware/blob/fd65bd5ae014565d333195285b154d9eeca9294b/quantum/process_keycode/process_auto_shift.c#L217

After: autoshift_flags.lastshifted = (get_mods() | get_oneshot_mods()) & (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT));

I tested it and it seems to be working, but I am not sure if it may cause further problems, so I decided to check with you.

Guia do colaborador