`mux` first repeats chars, then blocks input
Hi there! I'm a huge fan of this tool. I've built my own space cadet + caps2esc mapping around it (at https://github.com/maricn/interception-vimproved/). So when I saw the latest commit adding mux tool (3dcd93c5) I was happy to proceed with transforming my solution to accept it.
However as soon as i changed my job from:
- JOB: "intercept -g $DEVNODE | /opt/interception/interception-vimproved | uinput -d $DEVNODE"
DEVICE:
NAME: ".*((k|K)(eyboard|EYBOARD)|TADA68).*"
to:
- JOB: mux -c muxvimproved
- JOB:
- "intercept -g $DEVNODE | mux -o muxvimproved"
- "mux -i muxvimproved | /opt/interception/interception-vimproved | uinput -d $DEVNODE"
DEVICE:
NAME: ".*((k|K)(eyboard|EYBOARD)|TADA68).*"
I observed issues.
So, this is most basic case, I haven't yet included mouse there, but it seems like there's something strange happening already.
As soon as i start udevmon and press the first key, that one gets stuck repeating until I press the same key several more times. Next key I press does the same, until after a few keystrokes they all get completely unresponsive. Including all other input devices.
Am I doing something obviously wrong that I don't see? Am I using mux as intended? Do you think it might be related to the timings?
I don't really push EV_SYN in my code on all keycombos as it causes lags that I feel in daily usage, do you think it might be related? Thanks for your help!
EDIT: I'm on Arch Linux (5.9.14-arch1-1). Some service logs:
Dec 27 23:54:40 work-x1c-arch systemd[1]: Started Monitor input devices for launching tasks.
Dec 27 23:59:29 work-x1c-arch systemd[1]: Stopping Monitor input devices for launching tasks...
Dec 27 23:59:29 work-x1c-arch systemd[1]: udevmon.service: Succeeded.
Dec 27 23:59:29 work-x1c-arch systemd[1]: Stopped Monitor input devices for launching tasks.
Dec 27 23:59:29 work-x1c-arch systemd[1]: Started Monitor input devices for launching tasks.
Dec 28 00:00:04 work-x1c-arch systemd-journald[506]: [🡕] Suppressed 1547512 messages from udevmon.service
Dec 28 00:00:04 work-x1c-arch udevmon[321752]: error reading input event from stdin
Dec 28 00:00:04 work-x1c-arch udevmon[321752]: error reading input event from stdin
Dec 28 00:00:04 work-x1c-arch udevmon[321752]: error reading input event from stdin
Dec 28 00:00:04 work-x1c-arch udevmon[321752]: error reading input event from stdin
Dec 28 00:00:04 work-x1c-arch udevmon[321752]: error reading input event from stdin
Dec 28 00:00:04 work-x1c-arch udevmon[321752]: error reading input event from stdin
Dec 28 00:00:04 work-x1c-arch udevmon[321752]: error reading input event from stdin
Dec 28 00:00:04 work-x1c-arch udevmon[321752]: error reading input event from stdin
Dec 28 00:00:04 work-x1c-arch udevmon[321752]: error reading input event from stdin
Dec 28 00:00:04 work-x1c-arch udevmon[321752]: error reading input event from stdin
Dec 28 00:00:04 work-x1c-arch udevmon[321752]: error reading input event from stdin