https://bugs.winehq.org/show_bug.cgi?id=57831
Bug ID: 57831 Summary: Keyboard input delayed at high event throughputs Product: Wine Version: 10.1 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: inakilbss@gmail.com Distribution: ---
Mashing keys quickly enough causes some games to read inputs with an increasing delay, only being able to catch up once the mashing stops.
Example program: Touhou 11 trial 172965c20e04accf7932d45918f01a60abf5ee67 th11tr002a_setup.exe http://mirror.studio-ramble.com/upload/535/200806/th11tr002a_setup.exe (run with LANG="ja_JP.UTF-8" to avoid mojibake)
Once installed, custom.exe can be used to select the input polling method (first option, bottom right button to save). Enabling it will force GetKeyboardState to be used, while disabling it will allow DirectInput use, which suffers less from the issue.
Test procedure: - Open th11.exe - Send around 100 input events per second, including Z presses but no X, either with a macro or by pressing one's hands into the keyboard repeatedly, until gameplay begins, and the player respawns after being hit by a bullet.
Correct behavior: The player keeps shooting for a fraction of a second after Z is last released.
Actual behavior: The player keeps shooting for a few seconds after Z is last released, indicating a backed up input queue.
Windows behavior: While I do not have a Windows setup at the ready, I have heard a report of 120hz macros working fine under Windows in games reading inputs with GKS.