diff --git a/dlls/user32/tests/input.c b/dlls/user32/tests/input.c index f7e351bfd13..168b055773e 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 24239916af0..96587d11d1e 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; }