https://bugs.winehq.org/show_bug.cgi?id=56821
Bug ID: 56821 Summary: Keyboard modifiers behavior is unreliable Product: Wine Version: unspecified Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: winex11.drv Assignee: wine-bugs@winehq.org Reporter: rikul@inbox.ru Distribution: ---
Sometimes, modifiers are unreliable in combination with letters.
The issue stems from Wine commit made 15 years ago: https://gitlab.winehq.org/wine/wine/-/commit/a4a5a2ec121eeb2a7cd4ffbb5ba7b29... Wine attempts to sync with the Linux SCIM keyboard state, leading to scenarios where processing modifiers KeyUp events cause the state of ignoring them. Attached example shows extra WM_KEYUP message of “Shift” in combination with “e”.
Wine result: KeyDown: 16 KeyUp: 16 KeyDown: 69 KeyUp: 69 KeyUp: 16
Expected result: KeyDown: 16 KeyDown: 69 KeyUp: 69 KeyUp: 16