http://bugs.winehq.org/show_bug.cgi?id=60542 Bug ID: 60542 Summary: Keys that produce non-ASCII characters (2/é, 7/è...) don't work as shortcuts in Unreal Engine games Product: Wine Version: unspecified Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: winex11.drv Assignee: wine-bugs@list.winehq.org Reporter: vbernard42@gmail.com Target Milestone: --- Distribution: --- A number of games use by default the numeric keys from the top row of the keyboard for character or item swapping. AZERTY players sometimes encounter difficulties with some games, mainly on the 2 key (which is also é on AZERTY keyboards). This occurs, for example, on Arc Raiders and NTE, two Unreal Engine 5 games. The key works fine when typing text, but the associated action never triggers. In Arc Raiders, rebinding the action with the same key fixes the problem (this writes `UnknownCharCode_201` in the associated configuration file). After some investigation, it appears to come from the winex11's implementation of MapVirtualKeyEx() (with wMapType=MAPVK_VK_TO_CHAR), which tries to capitalize every character when it's possible (RtlUpcaseUnicodeChar()). Only VK_A to VK_Z should return uppercase letters, others should return their unshifted character (as expected in https://gitlab.winehq.org/wine/wine/-/merge_requests/12314 and hinted in the Remarks section of https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-mapvi...). Reproduced with vanilla Wine 11.20: MapVirtualKeyW('2', MAPVK_VK_TO_CHAR) returns 0xc9 instead of 0xe9 with a French layout. It looks like this has been like that since 1999. win32u's NtUserMapVirtualKeyEx() does the correct thing here: the Wayland driver doesn't override it, so it's a common workaround to set PROTON_ENABLE_WAYLAND=1 on those games with some Proton forks (see e.g. https://www.reddit.com/r/NevernessToEverness/comments/1sz951p/bug_key_2_not_...). See also: https://github.com/ValveSoftware/Proton/issues/8658 And maybe: https://bugs.winehq.org/show_bug.cgi?id=45740 -- 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.