From 14d97c261b5172f84d9d8a935f7f72b8a83bf7e6 Mon Sep 17 00:00:00 2001 From: Jacek Caban Date: Fri, 25 Sep 2020 16:25:45 +0200 Subject: [PATCH] user32: Support control characters in null driver VkKeyScanEx implementation. Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49894 Signed-off-by: Jacek Caban Signed-off-by: Alexandre Julliard --- dlls/user32/driver.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/dlls/user32/driver.c b/dlls/user32/driver.c index 8ff6b0a817e..7ac77141696 100644 --- a/dlls/user32/driver.c +++ b/dlls/user32/driver.c @@ -300,7 +300,14 @@ static void CDECL nulldrv_UnregisterHotKey( HWND hwnd, UINT modifiers, UINT vk ) static SHORT CDECL nulldrv_VkKeyScanEx( WCHAR ch, HKL layout ) { - return -1; + static const short ctrl_vks[] = { + 0x332, 0x241, 0x242, 0x003, 0x244, 0x245, 0x246, 0x247, + 0x008, 0x009, 0x20d, 0x24b, 0x24c, 0x00d, 0x24e, 0x24f, + 0x250, 0x251, 0x252, 0x253, 0x254, 0x255, 0x256, 0x257, + 0x258, 0x259, 0x25a, 0x01b, 0x2dc, 0x2dd, 0x336, 0x3bd + }; + + return ch < ARRAY_SIZE(ctrl_vks) ? ctrl_vks[ch] : -1; } static void CDECL nulldrv_DestroyCursorIcon( HCURSOR cursor )