evsieve
evsieve copied to clipboard
Inconsistent behaviour with `--hook` and `--withhold` with repeated presses
Take the following configuration:
evsieve \
--input /dev/input/event9 grab domain=k1 \
--hook key:leftmeta key:m sequential breaks-on=key::1 send-key=key:leftctrl send-key=key:o exec-shell="echo something" \
--withhold \
--output @k1
Which is intended to passthrough all inputs to @k1 except leftmeta+m, which will instead send leftctrl+o, and execute a script.
However, if leftmeta is held down while m is pressed and unpressed repeatedly, the --withhold seems to no longer work properly:
# Press "leftmeta", then "m"
KeyPress keycode 37 Control_L
KeyPress keycode 32 o
# Release only "m"
KeyRelease keycode 32 o
KeyRelease keycode 37 Control_L
# Press "m" again, with "leftmeta" held down.
KeyPress keycode 58 m <-- should not be sent
KeyPress keycode 37 Control_L
KeyPress keycode 32 o
# Release only "m"
KeyRelease keycode 32 o
KeyRelease keycode 37 Control_L
KeyRelease keycode 58 m <-- should not be sent