https://bugs.winehq.org/show_bug.cgi?id=57121
Bug ID: 57121 Summary: wine make keys sticky Product: Wine Version: 9.16 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: xinput Assignee: wine-bugs@winehq.org Reporter: axet@me.com Distribution: ---
Hello!
Playing wine games I notices key become sticky sometimes. Pressing keys makes no effect in the game for some delay and then all keys get burst into game making character cast / jump like you pressed it at once.
This is only affecting keyboard input, mouse input is not affected. When keys are sticky you still can use mouse do move, left / right clicks and character responds to it.
I found out that it is easy to reproduce by using slow USB flash drive (4MB/s write 20MB/s read) when you put all data into it: wine binaries, cache folder (with mesa_shader_cache using XDG_CACHE_HOME variable), game it self. When you start a game using this setup allays keys get sticky, but mouse is never affected.
It is happening also when game and wine and cache on the HDD but much more rarely. I guess when USB flash got accessed by linux kernel.
I'm using:
debian trixie wine 9.16 i3-12100F // RX 6600 (amdgpu)
https://bugs.winehq.org/show_bug.cgi?id=57121
--- Comment #1 from Alexey Kuznetsov axet@me.com --- I'm using PS/2 keyboard. And USB Mouse.
Keyboard should not be affected by slow USB. But it is.
https://bugs.winehq.org/show_bug.cgi?id=57121
--- Comment #2 from Alexey Kuznetsov axet@me.com --- It doesn't matter if game is located on SSD or USB stick. As soon high IO starts to kick in to slow USB stick device (downloading / copying files) wine games start to stick keys.
Linux is not affected. Keys working fine in GNOME. Only wine is affected.
https://bugs.winehq.org/show_bug.cgi?id=57121
Olivier F. R. Dierick o.dierick@piezo-forte.be changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |o.dierick@piezo-forte.be
--- Comment #3 from Olivier F. R. Dierick o.dierick@piezo-forte.be --- Hello,
Do you have ibus enabled? If so, can you try to disable ibus and see if the key are still sticky?
1 Alt-tab to a terminal from the game and run 'ibus exit' (or run it before launching the game). 2 alt-tab to game and check if key are sticky. 3 Run 'ibus start' in the terminal to re-enable ibus, after the test is done.
Regards.
https://bugs.winehq.org/show_bug.cgi?id=57121
--- Comment #4 from Alexey Kuznetsov axet@me.com --- Thanks. stopping ibus solves the issue. What is going on?
https://bugs.winehq.org/show_bug.cgi?id=57121
Olivier F. R. Dierick o.dierick@piezo-forte.be changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|xinput |-unknown See Also| |https://bugs.winehq.org/sho | |w_bug.cgi?id=33296, | |https://bugs.winehq.org/sho | |w_bug.cgi?id=37263, | |https://bugs.winehq.org/sho | |w_bug.cgi?id=56030
--- Comment #5 from Olivier F. R. Dierick o.dierick@piezo-forte.be --- (In reply to Alexey Kuznetsov from comment #4)
Thanks. stopping ibus solves the issue. What is going on?
Hello,
I don't know much.
It seems that ibus has a queue for keyboard input and when the CPU is under high load, the interaction between Wine and that input queue gets delayed somehow.
There is another workaround that has the advantage to only disable ibus for a specific application: It is to remove ibus from the XMODIFIERS environment variable.
The See Also field has links to related bugs.
Regards.