[PATCH 4/5] user32: Implement KLF_ACTIVATE flag in LoadKeyboardLayoutW.

Rémi Bernon rbernon at codeweavers.com
Fri May 7 03:29:45 CDT 2021


Signed-off-by: Rémi Bernon <rbernon at codeweavers.com>
---
 dlls/user32/input.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/dlls/user32/input.c b/dlls/user32/input.c
index 6f4636dffdb..fc928af6723 100644
--- a/dlls/user32/input.c
+++ b/dlls/user32/input.c
@@ -1540,7 +1540,16 @@ BOOL WINAPI UnregisterHotKey(HWND hwnd,INT id)
  */
 HKL WINAPI LoadKeyboardLayoutW( const WCHAR *name, UINT flags )
 {
+    DWORD tmp;
+    HKL layout;
+
     FIXME_(keyboard)( "name %s, flags %x, semi-stub!\n", debugstr_w( name ), flags );
+
+    tmp = wcstoul( name, NULL, 16 );
+    layout = UlongToHandle( tmp );
+
+    if ((flags & KLF_ACTIVATE) && ActivateKeyboardLayout( layout, 0 )) return layout;
+
     /* FIXME: semi-stub: returning default layout */
     return get_locale_kbd_layout();
 }
-- 
2.31.0




More information about the wine-devel mailing list