From 0a61dcc2bee36a1e2a245683de8c5ab78666a529 Mon Sep 17 00:00:00 2001 From: dijunkun Date: Wed, 7 May 2025 19:47:09 +0800 Subject: [PATCH] [fix] update keyboard converter --- src/device_controller/keyboard_converter.h | 68 ++++++++++------------ 1 file changed, 30 insertions(+), 38 deletions(-) diff --git a/src/device_controller/keyboard_converter.h b/src/device_controller/keyboard_converter.h index 888be28..59622d9 100644 --- a/src/device_controller/keyboard_converter.h +++ b/src/device_controller/keyboard_converter.h @@ -247,25 +247,21 @@ std::map CGKeyCodeToVkCode = { // Windows vkCode to X11 KeySym std::map vkCodeToX11KeySym = { - {0x41, XK_A}, {0x42, XK_B}, {0x43, XK_C}, - {0x44, XK_D}, {0x45, XK_E}, {0x46, XK_F}, - {0x47, XK_G}, {0x48, XK_H}, {0x49, XK_I}, - {0x4A, XK_J}, {0x4B, XK_K}, {0x4C, XK_L}, - {0x4D, XK_M}, {0x4E, XK_N}, {0x4F, XK_O}, - {0x50, XK_P}, {0x51, XK_Q}, {0x52, XK_R}, - {0x53, XK_S}, {0x54, XK_T}, {0x55, XK_U}, - {0x56, XK_V}, {0x57, XK_W}, {0x58, XK_X}, - {0x59, XK_Y}, {0x5A, XK_Z}, {0x30, XK_0}, - {0x31, XK_1}, {0x32, XK_2}, {0x33, XK_3}, - {0x34, XK_4}, {0x35, XK_5}, {0x36, XK_6}, - {0x37, XK_7}, {0x38, XK_8}, {0x39, XK_9}, - {0x1B, XK_Escape}, {0x0D, XK_Return}, {0x20, XK_space}, - {0x08, XK_BackSpace}, {0x09, XK_Tab}, {0x25, XK_Left}, - {0x27, XK_Right}, {0x26, XK_Up}, {0x28, XK_Down}, - {0x70, XK_F1}, {0x71, XK_F2}, {0x72, XK_F3}, - {0x73, XK_F4}, {0x74, XK_F5}, {0x75, XK_F6}, - {0x76, XK_F7}, {0x77, XK_F8}, {0x78, XK_F9}, - {0x79, XK_F10}, {0x7A, XK_F11}, {0x7B, XK_F12}, + {0x41, 0x0041}, {0x42, 0x0042}, {0x43, 0x0043}, {0x44, 0x0044}, + {0x45, 0x0045}, {0x46, 0x0046}, {0x47, 0x0047}, {0x48, 0x0048}, + {0x49, 0x0049}, {0x4A, 0x004A}, {0x4B, 0x004B}, {0x4C, 0x004C}, + {0x4D, 0x004D}, {0x4E, 0x004E}, {0x4F, 0x004F}, {0x50, 0x0050}, + {0x51, 0x0051}, {0x52, 0x0052}, {0x53, 0x0053}, {0x54, 0x0054}, + {0x55, 0x0055}, {0x56, 0x0056}, {0x57, 0x0057}, {0x58, 0x0058}, + {0x59, 0x0059}, {0x5A, 0x005A}, {0x30, 0x0030}, {0x31, 0x0031}, + {0x32, 0x0032}, {0x33, 0x0033}, {0x34, 0x0034}, {0x35, 0x0035}, + {0x36, 0x0036}, {0x37, 0x0037}, {0x38, 0x0038}, {0x39, 0x0039}, + {0x1B, 0xFF1B}, {0x0D, 0xFF0D}, {0x20, 0x0020}, {0x08, 0xFF08}, + {0x09, 0xFF09}, {0x25, 0xFF51}, {0x27, 0xFF53}, {0x26, 0xFF52}, + {0x28, 0xFF54}, {0x70, 0xFFBE}, {0x71, 0xFFBF}, {0x72, 0xFFC0}, + {0x73, 0xFFC1}, {0x74, 0xFFC2}, {0x75, 0xFFC3}, {0x76, 0xFFC4}, + {0x77, 0xFFC5}, {0x78, 0xFFC6}, {0x79, 0xFFC7}, {0x7A, 0xFFC8}, + {0x7B, 0xFFC9}, }; // X11 KeySym to Windows vkCode @@ -279,25 +275,21 @@ std::map x11KeySymToVkCode = []() { // macOS CGKeyCode to X11 KeySym std::map cgKeyCodeToX11KeySym = { - {0x00, XK_A}, {0x0B, XK_B}, {0x08, XK_C}, - {0x02, XK_D}, {0x0E, XK_E}, {0x03, XK_F}, - {0x05, XK_G}, {0x04, XK_H}, {0x22, XK_I}, - {0x26, XK_J}, {0x28, XK_K}, {0x25, XK_L}, - {0x2E, XK_M}, {0x2D, XK_N}, {0x1F, XK_O}, - {0x23, XK_P}, {0x0C, XK_Q}, {0x0F, XK_R}, - {0x01, XK_S}, {0x11, XK_T}, {0x20, XK_U}, - {0x09, XK_V}, {0x0D, XK_W}, {0x07, XK_X}, - {0x10, XK_Y}, {0x06, XK_Z}, {0x12, XK_1}, - {0x13, XK_2}, {0x14, XK_3}, {0x15, XK_4}, - {0x17, XK_5}, {0x16, XK_6}, {0x1A, XK_7}, - {0x1C, XK_8}, {0x19, XK_9}, {0x1D, XK_0}, - {0x35, XK_Escape}, {0x24, XK_Return}, {0x31, XK_space}, - {0x33, XK_BackSpace}, {0x30, XK_Tab}, {0x7B, XK_Left}, - {0x7C, XK_Right}, {0x7E, XK_Up}, {0x7D, XK_Down}, - {0x7A, XK_F1}, {0x78, XK_F2}, {0x63, XK_F3}, - {0x76, XK_F4}, {0x60, XK_F5}, {0x61, XK_F6}, - {0x62, XK_F7}, {0x64, XK_F8}, {0x65, XK_F9}, - {0x6D, XK_F10}, {0x67, XK_F11}, {0x6F, XK_F12}, + {0x00, 0x0041}, {0x0B, 0x0042}, {0x08, 0x0043}, {0x02, 0x0044}, + {0x0E, 0x0045}, {0x03, 0x0046}, {0x05, 0x0047}, {0x04, 0x0048}, + {0x22, 0x0049}, {0x26, 0x004A}, {0x28, 0x004B}, {0x25, 0x004C}, + {0x2E, 0x004D}, {0x2D, 0x004E}, {0x1F, 0x004F}, {0x23, 0x0050}, + {0x0C, 0x0051}, {0x0F, 0x0052}, {0x01, 0x0053}, {0x11, 0x0054}, + {0x20, 0x0055}, {0x09, 0x0056}, {0x0D, 0x0057}, {0x07, 0x0058}, + {0x10, 0x0059}, {0x06, 0x005A}, {0x12, 0x0031}, {0x13, 0x0032}, + {0x14, 0x0033}, {0x15, 0x0034}, {0x17, 0x0035}, {0x16, 0x0036}, + {0x1A, 0x0037}, {0x1C, 0x0038}, {0x19, 0x0039}, {0x1D, 0x0030}, + {0x35, 0xFF1B}, {0x24, 0xFF0D}, {0x31, 0x0020}, {0x33, 0xFF08}, + {0x30, 0xFF09}, {0x7B, 0xFF51}, {0x7C, 0xFF53}, {0x7E, 0xFF52}, + {0x7D, 0xFF54}, {0x7A, 0xFFBE}, {0x78, 0xFFBF}, {0x63, 0xFFC0}, + {0x76, 0xFFC1}, {0x60, 0xFFC2}, {0x61, 0xFFC3}, {0x62, 0xFFC4}, + {0x64, 0xFFC5}, {0x65, 0xFFC6}, {0x6D, 0xFFC7}, {0x67, 0xFFC8}, + {0x6F, 0xFFC9}, }; // X11 KeySym to macOS CGKeyCode