manna-harbour / qmk_firmware

See the "forkreadme" branch or the following link for a description of branches maintained in this fork.
https://github.com/manna-harbour/qmk_firmware/blob/forkreadme/readme.org
GNU General Public License v2.0
281 stars 64 forks source link

Flashing Mods #27

Open urob opened 3 years ago

urob commented 3 years ago

I am not sure whether this is per design or a bug, but I am experiencing an issue with the bilateral combination setting. Despite it being turned on, the modifier code still seems to register for same-handed combinations. But instead of being sent together with the next key code, it is sent by itself.

Describe the Bug

Example (using colemak):

  1. Press and hold LGUI_T(KC_A) longer than TAPPING_TERM
  2. Press any other left-hand key, for example KC_R

This results in the following sequence of key strokes:

  1. KC_LGUI
  2. KC_A
  3. KC_R

Note that the modifier is not sent together with the next key, instead it is sent by "itself" (triggered upon pressing the 2nd key). Accordingly, this issue does not matter for modifiers which do not do anything by themselves (shift, control), but for Alt and in particular for Gui, it has unintended effects on Windows 10. E.g., the above sequence will result in the windows start menu being opened and "AR" being typed into the search bar.

System Information

urob commented 3 years ago

Adding my tap-hold configuration:

#define TAPPING_TERM_PER_KEY
#define IGNORE_MOD_TAP_INTERRUPT
#define TAPPING_FORCE_HOLD_PER_KEY
#define PERMISSIVE_HOLD
#define BILATERAL_COMBINATIONS
#define QMK_KEYS_PER_SCAN 4
manna-harbour commented 3 years ago

Thanks for the report.

Yes, there is an issue with flashing mods due to the way this is implemented. The same issue is present in retro tapping. Bindings for mod presses can be disabled in some environments, but probably not in windows.

I've added an issue to clarify the status of bilateral combinations: #29.

sunaku commented 2 years ago

I've attempted to fix this issue in pull request #48. Please check if it works for you, @urob.

urob commented 2 years ago

I've attempted to fix this issue in pull request #48. Please check if it works for you, @urob.

Thanks for fixing this! This issue was one of the last sources for HRM misfires.

Unfortunately, I can't test at the moment as I no longer have the QMK tools set up (I migrated to ZMK in the meantime).