Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BUG: Unexpected behavior with chords + timeout mappings #113

Open
arutonee1 opened this issue Mar 8, 2024 · 3 comments
Open

BUG: Unexpected behavior with chords + timeout mappings #113

arutonee1 opened this issue Mar 8, 2024 · 3 comments

Comments

@arutonee1
Copy link

Bug

Given a configuration like this:

Q{500ms} >> Virtual1^Virtual1

(Q W) >> A
(Q  ) >> B

the chord QW will result in ba if Q is pressed first, and just a only if Q is pressed second. The expected behavior is holding Q resulting in another layer until released, tapping Q resulting in b, and pressing QW (regardless of order) resulting in a.

Reproduction steps:

  • See above

OS Details:

  • OS: NixOS Unstable
  • Kernel: 6.6.18
  • DE: Hyprland
@ristomatti
Copy link
Contributor

ristomatti commented Mar 8, 2024

I ran across another timing issue related to virtual keys. With the below config, pressing F4{ShiftLeft} will block all input for 5s. Pressing ShiftLeft or F4{ShiftLeft} do not release the block either. I experimented with moving the 5000ms to various configurations but the end result seemed to be the same.

KeyLock = Virtual10

[default]
  F4{ShiftLeft}   >> KeyLock ^ 5000ms KeyLock

[modifier="KeyLock"]
  ShiftLeft     >> KeyLock ^

@houmain
Copy link
Owner

houmain commented Mar 16, 2024

Hi, thanks for reporting!
@arutonee1 this is indeed surprising, but conforms with the documented Functional principle. But I will see if I can fix it somehow.

@ristomatti currently timeouts in the output simply defer all subsequent output. So this is not a bug but expected behavior. You may want to create a feature request if you think that concurrently scheduled output would be important.

@ristomatti
Copy link
Contributor

@houmain Thanks for the clarification. I'll consider it but I guess with #105 something like this could be done externally. Rather it was a bit unexpected since it completely blocked input.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants