Jacek Caban : user32: Support control characters in null driver VkKeyScanEx implementation.

Alexandre Julliard julliard at winehq.org
Fri Sep 25 14:52:54 CDT 2020


Module: wine
Branch: master
Commit: 14d97c261b5172f84d9d8a935f7f72b8a83bf7e6
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=14d97c261b5172f84d9d8a935f7f72b8a83bf7e6

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Fri Sep 25 16:25:45 2020 +0200

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 <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 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 8ff6b0a817..7ac7714169 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 )




More information about the wine-cvs mailing list