Module: wine Branch: master Commit: e545a85351ad72f9c6c7f9abdfdfebe621b1509b URL: http://source.winehq.org/git/wine.git/?a=commit;h=e545a85351ad72f9c6c7f9abdf...
Author: Hans Leidekker hans@codeweavers.com Date: Fri Jun 9 09:20:49 2017 +0200
wineandroid: Implement GetKeyboardLayout.
Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/wineandroid.drv/keyboard.c | 19 +++++++++++++++++++ dlls/wineandroid.drv/wineandroid.drv.spec | 1 + 2 files changed, 20 insertions(+)
diff --git a/dlls/wineandroid.drv/keyboard.c b/dlls/wineandroid.drv/keyboard.c index fb70445..81af8e3 100644 --- a/dlls/wineandroid.drv/keyboard.c +++ b/dlls/wineandroid.drv/keyboard.c @@ -885,3 +885,22 @@ UINT CDECL ANDROID_MapVirtualKeyEx( UINT code, UINT maptype, HKL hkl ) TRACE_(key)( "returning 0x%04x\n", ret ); return ret; } + + +/*********************************************************************** + * ANDROID_GetKeyboardLayout + */ +HKL CDECL ANDROID_GetKeyboardLayout( DWORD thread_id ) +{ + ULONG_PTR layout = GetUserDefaultLCID(); + LANGID langid; + + langid = PRIMARYLANGID(LANGIDFROMLCID( layout )); + if (langid == LANG_CHINESE || langid == LANG_JAPANESE || langid == LANG_KOREAN) + layout = MAKELONG( layout, 0xe001 ); /* IME */ + else + layout |= layout << 16; + + FIXME( "returning %lx\n", layout ); + return (HKL)layout; +} diff --git a/dlls/wineandroid.drv/wineandroid.drv.spec b/dlls/wineandroid.drv/wineandroid.drv.spec index 89ec528..bd42cb1 100644 --- a/dlls/wineandroid.drv/wineandroid.drv.spec +++ b/dlls/wineandroid.drv/wineandroid.drv.spec @@ -5,6 +5,7 @@ # USER driver
@ cdecl GetKeyNameText(long ptr long) ANDROID_GetKeyNameText +@ cdecl GetKeyboardLayout(long) ANDROID_GetKeyboardLayout @ cdecl MapVirtualKeyEx(long long long) ANDROID_MapVirtualKeyEx @ cdecl ToUnicodeEx(long long ptr ptr long long long) ANDROID_ToUnicodeEx @ cdecl EnumDisplayMonitors(long ptr ptr long) ANDROID_EnumDisplayMonitors