Skip to content

[BUG] OneShot key or StickyKeys doesn't work with LT #1021

Description

@ikeji

Describe the bug
When I type OneShot key then LT key, OneShot key is deactivate before LT key activate.

To Reproduce

Steps to reproduce the behavior:

  • Setup 3 keys like
    • K1: KC.OS(KC.LCTL)
    • K2: KC.LT(1, KC.B)
    • K3: KC.C
  • Type key K1 then type key K3
  • Type key K1 then type key K2

Expected behavior

  • Type key K1 then type key K3
    • Expected event sequence: Ctrl key down, Key "C" down, Key "C" up, Ctrl key up.
  • Type key K1 then type key K2
    • Expected event sequence: Ctrl key down, Key "B" down, Key "B" up, Ctrl key up.

Actual behavior

  • Type key K1 then type key K3 (Same as expected)
    • Expected event sequence: Ctrl key down, Key "C" down, Key "C" up, Ctrl key up.
  • Type key K1 then type key K2
    • Expected event sequence: Ctrl key down, Ctrl key up, Key "B" down, Key "B" up.

Debug output

Here is an output from kmk firmware.
https://gist.github.com/ikeji/c51d65e28ecd7a8451ab10760e00b68d

Additional context

I use RP2040 and CircuitPython 8.2.9.
Here is a full source code:
https://gist.github.com/ikeji/fb81363d50b842eaa80f5641ec0bba8c

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions