http://bugs.winehq.org/show_bug.cgi?id=57031 --- Comment #8 from Andrei <funnylittleelephant@proton.me> --- I have the same problem, and I think I found the cause and a one-line fix. The game uses DirectInput 7, but in dlls/dinput/mouse.c Wine only uses raw input for DirectInput 8 mice: - if (dinput->dwVersion >= 0x0800) impl->base.use_raw_input = TRUE; + impl->base.use_raw_input = TRUE; For older versions dinput gets mouse movement from a low-level mouse hook, by comparing the hook position with GetCursorPos(). Since 5b833c83 input no longer waits for that hook. The cursor position it compares against can therefore be out of date, and the movement comes out wrong, sometimes even backwards. That's the trembling, and it's why reverting 5b833c83 helps. With the change the mouse uses raw input like in DirectInput 8 games, no hook is involved, and the problem is gone for me. Tested with GE-Proton10-34 (Wine 10 based), the same code is in current master. I've attached the patch and a longer write-up of the analysis, which I put together with help from Claude. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.