https://bugs.winehq.org/show_bug.cgi?id=57097
Bug ID: 57097 Summary: Keyboard inputs for special characters on non-english keyboards are switched in winewayland Product: Wine Version: 9.16 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: winewayland Assignee: wine-bugs@winehq.org Reporter: sutupud@yahoo.com Distribution: ---
I noticed that if I use a german keyboard layout, the key mapping seems to be off. I'm using kwin_wayland (but also tested on sway, same result).
The regular lower keys are ok, but example, ö produces ü, # produces ä, etc.
Looking at dlls/winewayland.drv/wayland_keyboard.c, I saw that there are different lookup tables for different languages (scan2vk_qwerty, scan2vk_azerty. scan2vk_qwertz, ...), so my first quess was that something might be switched there. But that doesn't really seem the case, changing it to always use `scan2vk_qwertz ` regardless of `lang` makes it work. I don't really have a very good understanding of how this is supposed to work, but does the appliaction really need to do such a translation? Isn't that already handled by the layout being passed in? At least that would explain why it works when doing no such lookup at all.