http://bugs.winehq.org/show_bug.cgi?id=59962 --- Comment #2 from Ola Nordmann <olanordmann@duck.com> --- Created attachment 81350 --> http://bugs.winehq.org/attachment.cgi?id=81350 Proposed one-line fix: use raw input for legacy dinput keyboard devices Attaching a proposed fix. It removes the dwVersion >= 0x0800 gate in keyboard_create_device() so that legacy DirectInput keyboard devices use the raw input path, as DirectInput 8 devices already do. With raw input there is no low-level keyboard hook, so the hardware message is queued together with the raw input instead of being withheld while the hook runs — the buffered event can no longer be observed via GetDeviceData before the corresponding WM_KEYDOWN is retrievable by the application. Tested against Neverwinter Nights Diamond 1.69 on wine 11.11 by replacing the builtin dinput.dll with a patched build: the GUI double-activation described above is gone and keyboard input otherwise behaves normally. Exclusive-mode message suppression is unaffected, as it is handled via RIDEV_NOLEGACY. I'll submit this as a merge request once my GitLab account is verified for forking (user verification issue filed). -- 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.