Commit 72ab2d5b authored by Alex Henrie's avatar Alex Henrie Committed by Alexandre Julliard

user32/tests: Fix OemKeyScan failures with input method editors.

parent 41a76447
TESTDLL = user32.dll
IMPORTS = user32 gdi32 advapi32
IMPORTS = user32 gdi32 advapi32 imm32
C_SRCS = \
broadcast.c \
......
......@@ -54,6 +54,7 @@
#include "winbase.h"
#include "winuser.h"
#include "winnls.h"
#include "imm.h"
#include "wine/test.h"
......@@ -2515,6 +2516,7 @@ static void test_OemKeyScan(void)
DWORD ret, expect, vkey, scan;
WCHAR oem, wchr;
char oem_char;
BOOL ime = ImmIsIME(GetKeyboardLayout(0));
for (oem = 0; oem < 0x200; oem++)
{
......@@ -2527,7 +2529,10 @@ static void test_OemKeyScan(void)
{
vkey = VkKeyScanW( wchr );
scan = MapVirtualKeyW( LOBYTE( vkey ), MAPVK_VK_TO_VSC );
if (!scan)
/* OemKeyScan returns -1 for any character that has to go through
* the IME, whereas VkKeyScan returns the virtual key code for the
* question mark key */
if (!scan || (ime && wchr != '?' && vkey == VkKeyScanW( '?' )))
expect = -1;
else
{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment