[PATCH 3/3] server: Use KEYEVENTF_UNICODE mode only when virtual key code was not specified.
Nikolay Sivov
nsivov at codeweavers.com
Mon Jul 1 06:09:30 CDT 2019
Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
---
dlls/user32/tests/input.c | 2 --
server/queue.c | 2 +-
2 files changed, 1 insertion(+), 3 deletions(-)
diff --git a/dlls/user32/tests/input.c b/dlls/user32/tests/input.c
index f7e351bfd1..168b055773 100644
--- a/dlls/user32/tests/input.c
+++ b/dlls/user32/tests/input.c
@@ -1105,10 +1105,8 @@ static void test_unicode_keys(HWND hwnd, HHOOK hook)
if (!key_status.sendinput_broken)
{
- todo_wine {
ok(key_status.last_key_down == 0x51, "Unexpected key down %#x.\n", key_status.last_key_down);
ok(key_status.last_key_up == 0x51, "Unexpected key up %#x.\n", key_status.last_key_up);
- }
if (hook)
todo_wine
ok(key_status.last_hook_up == 0x23, "Unexpected hook message %#x.\n", key_status.last_hook_up);
diff --git a/server/queue.c b/server/queue.c
index 24239916af..96587d11d1 100644
--- a/server/queue.c
+++ b/server/queue.c
@@ -1803,7 +1803,7 @@ static int queue_keyboard_message( struct desktop *desktop, user_handle_t win, c
msg->lparam = (input->kbd.scan << 16) | 1u; /* repeat count */
if (origin == IMO_INJECTED) msg_data->flags = LLKHF_INJECTED;
- if (input->kbd.flags & KEYEVENTF_UNICODE)
+ if (input->kbd.flags & KEYEVENTF_UNICODE && !vkey)
{
msg->wparam = VK_PACKET;
}
--
2.20.1
More information about the wine-devel
mailing list