From: Matteo Bruni <mbruni@codeweavers.com> Often the layout name matches the high word of the HKL. This is still "temporary", until we add the keyboard layouts data to the registry. --- dlls/win32u/input.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/dlls/win32u/input.c b/dlls/win32u/input.c index da203666549..8304b26e8bd 100644 --- a/dlls/win32u/input.c +++ b/dlls/win32u/input.c @@ -1454,7 +1454,17 @@ BOOL WINAPI NtUserGetKeyboardLayoutName( WCHAR *name ) layout = NtUserGetKeyboardLayout( 0 ); id = HandleToUlong( layout ); - if (HIWORD( id ) == LOWORD( id )) id = LOWORD( id ); + if ((id & 0xf0000000) == 0xf0000000) + { + static unsigned int once; + + if (!once++) + FIXME("Variant layouts are not supported yet, returning the locale.\n"); + else + WARN("Variant layouts are not supported yet, returning the locale.\n"); + id = LOWORD(id); + } + else id = HIWORD(id); snprintf( buffer, sizeof(buffer), "%08X", id ); asciiz_to_unicode( name, buffer ); -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/10779