pqrs-org / Karabiner-Elements

Karabiner-Elements is a powerful utility for keyboard customization on macOS Sierra (10.12) or later.
https://pqrs.org/osx/karabiner/
The Unlicense
18.21k stars 828 forks source link

Modifier double registers on fast rolls even though its a one shot modifier #3832

Open its-schmii opened 3 weeks ago

its-schmii commented 3 weeks ago

I'm using a Keyboard with one shot modifiers / sticky shift etc.

So on a shift press the next keypress will be shifted. When karabiner is activated the keypress shifts / modifies two keys instead of one on fast typing / rolls.

Example: tap shift and then rolling over S and T produces ST instead of St. or tapping alt and rolling over two keys modifies both of them instead of only the first one.

As soon as karabiner is deactivated, everything works as intended. This has also been reported online by a reddit user (https://old.reddit.com/r/olkb/comments/svmgjc/one_shot_key_unintentionally_affecting_multiple/hxlc0fu/) but unfortunately no fix apart from deactivating Karabiner is mentioned.

Log of Karabiner event viewer when this occurs:

[
  {
    "type": "down",
    "name": {"key_code":"left_shift"},
    "usagePage": "7 (0x0007)",
    "usage": "225 (0x00e1)",
    "misc": "flags left_shift"
  },
  {
    "type": "down",
    "name": {"key_code":"s"},
    "usagePage": "7 (0x0007)",
    "usage": "22 (0x0016)",
    "misc": "flags left_shift"
  },
  {
    "type": "down",
    "name": {"key_code":"t"},
    "usagePage": "7 (0x0007)",
    "usage": "23 (0x0017)",
    "misc": "flags left_shift"
  },
  {
    "type": "up",
    "name": {"key_code":"left_shift"},
    "usagePage": "7 (0x0007)",
    "usage": "225 (0x00e1)",
    "misc": ""
  },
  {
    "type": "up",
    "name": {"key_code":"s"},
    "usagePage": "7 (0x0007)",
    "usage": "22 (0x0016)",
    "misc": ""
  },
  {
    "type": "up",
    "name": {"key_code":"t"},
    "usagePage": "7 (0x0007)",
    "usage": "23 (0x0017)",
    "misc": ""
  }
]

Is this a known issue, and/or is there a known fix for this behavior?