123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254 |
- #include "key_mapping_win.h"
- #include <stdio.h>
- struct _WinTranslatePair {
- unsigned int keysym;
- unsigned int keycode;
- };
- static _WinTranslatePair _vk_to_keycode[] = {
- { KEY_BACKSPACE, VK_BACK },
- { KEY_TAB, VK_TAB },
-
- { KEY_ENTER, VK_RETURN },
- { KEY_SHIFT, VK_SHIFT },
- { KEY_CONTROL, VK_CONTROL },
- { KEY_ALT, VK_MENU },
- { KEY_PAUSE, VK_PAUSE },
- { KEY_CAPSLOCK, VK_CAPITAL },
- { KEY_ESCAPE, VK_ESCAPE },
- { KEY_SPACE, VK_SPACE },
- { KEY_PAGEUP, VK_PRIOR },
- { KEY_PAGEDOWN, VK_NEXT },
- { KEY_END, VK_END },
- { KEY_HOME, VK_HOME },
- { KEY_LEFT, VK_LEFT },
- { KEY_UP, VK_UP },
- { KEY_RIGHT, VK_RIGHT },
- { KEY_DOWN, VK_DOWN },
-
- { KEY_PRINT, VK_PRINT },
-
- { KEY_PRINT, VK_SNAPSHOT },
- { KEY_INSERT, VK_INSERT },
- { KEY_DELETE, VK_DELETE },
- { KEY_HELP, VK_HELP },
- { KEY_0, (0x30) },
- { KEY_1, (0x31) },
- { KEY_2, (0x32) },
- { KEY_3, (0x33) },
- { KEY_4, (0x34) },
- { KEY_5, (0x35) },
- { KEY_6, (0x36) },
- { KEY_7, (0x37) },
- { KEY_8, (0x38) },
- { KEY_9, (0x39) },
- { KEY_A, (0x41) },
- { KEY_B, (0x42) },
- { KEY_C, (0x43) },
- { KEY_D, (0x44) },
- { KEY_E, (0x45) },
- { KEY_F, (0x46) },
- { KEY_G, (0x47) },
- { KEY_H, (0x48) },
- { KEY_I, (0x49) },
- { KEY_J, (0x4A) },
- { KEY_K, (0x4B) },
- { KEY_L, (0x4C) },
- { KEY_M, (0x4D) },
- { KEY_N, (0x4E) },
- { KEY_O, (0x4F) },
- { KEY_P, (0x50) },
- { KEY_Q, (0x51) },
- { KEY_R, (0x52) },
- { KEY_S, (0x53) },
- { KEY_T, (0x54) },
- { KEY_U, (0x55) },
- { KEY_V, (0x56) },
- { KEY_W, (0x57) },
- { KEY_X, (0x58) },
- { KEY_Y, (0x59) },
- { KEY_Z, (0x5A) },
- { KEY_MASK_META, VK_LWIN },
- { KEY_MASK_META, VK_RWIN },
-
- { KEY_STANDBY, VK_SLEEP },
- { KEY_KP_0, VK_NUMPAD0 },
- { KEY_KP_1, VK_NUMPAD1 },
- { KEY_KP_2, VK_NUMPAD2 },
- { KEY_KP_3, VK_NUMPAD3 },
- { KEY_KP_4, VK_NUMPAD4 },
- { KEY_KP_5, VK_NUMPAD5 },
- { KEY_KP_6, VK_NUMPAD6 },
- { KEY_KP_7, VK_NUMPAD7 },
- { KEY_KP_8, VK_NUMPAD8 },
- { KEY_KP_9, VK_NUMPAD9 },
- { KEY_KP_MULTIPLY, VK_MULTIPLY },
- { KEY_KP_ADD, VK_ADD },
-
- { KEY_KP_SUBTRACT, VK_SUBTRACT },
- { KEY_KP_PERIOD, VK_DECIMAL },
- { KEY_KP_DIVIDE, VK_DIVIDE },
- { KEY_F1, VK_F1 },
- { KEY_F2, VK_F2 },
- { KEY_F3, VK_F3 },
- { KEY_F4, VK_F4 },
- { KEY_F5, VK_F5 },
- { KEY_F6, VK_F6 },
- { KEY_F7, VK_F7 },
- { KEY_F8, VK_F8 },
- { KEY_F9, VK_F9 },
- { KEY_F10, VK_F10 },
- { KEY_F11, VK_F11 },
- { KEY_F12, VK_F12 },
- { KEY_F13, VK_F13 },
- { KEY_F14, VK_F14 },
- { KEY_F15, VK_F15 },
- { KEY_F16, VK_F16 },
- { KEY_NUMLOCK, VK_NUMLOCK },
- { KEY_SCROLLLOCK, VK_SCROLL },
- { KEY_SHIFT, VK_LSHIFT },
- { KEY_SHIFT, VK_RSHIFT },
- { KEY_CONTROL, VK_LCONTROL },
- { KEY_CONTROL, VK_RCONTROL },
- { KEY_MENU, VK_LMENU },
- { KEY_MENU, VK_RMENU },
- { KEY_BACK, VK_BROWSER_BACK },
- { KEY_FORWARD, VK_BROWSER_FORWARD },
- { KEY_REFRESH, VK_BROWSER_REFRESH },
- { KEY_STOP, VK_BROWSER_STOP },
- { KEY_SEARCH, VK_BROWSER_SEARCH },
- { KEY_FAVORITES, VK_BROWSER_FAVORITES },
- { KEY_HOMEPAGE, VK_BROWSER_HOME },
- { KEY_VOLUMEMUTE, VK_VOLUME_MUTE },
- { KEY_VOLUMEDOWN, VK_VOLUME_DOWN },
- { KEY_VOLUMEUP, VK_VOLUME_UP },
- { KEY_MEDIANEXT, VK_MEDIA_NEXT_TRACK },
- { KEY_MEDIAPREVIOUS, VK_MEDIA_PREV_TRACK },
- { KEY_MEDIASTOP, VK_MEDIA_STOP },
-
- { KEY_LAUNCHMAIL, VK_LAUNCH_MAIL },
- { KEY_LAUNCHMEDIA, VK_LAUNCH_MEDIA_SELECT },
- { KEY_LAUNCH0, VK_LAUNCH_APP1 },
- { KEY_LAUNCH1, VK_LAUNCH_APP2 },
- { KEY_SEMICOLON, VK_OEM_1 },
- { KEY_EQUAL, VK_OEM_PLUS },
- { KEY_COMMA, VK_OEM_COMMA },
- { KEY_MINUS, VK_OEM_MINUS },
- { KEY_PERIOD, VK_OEM_PERIOD },
- { KEY_SLASH, VK_OEM_2 },
- { KEY_QUOTELEFT, VK_OEM_3 },
- { KEY_BRACELEFT, VK_OEM_4 },
- { KEY_BACKSLASH, VK_OEM_5 },
- { KEY_BRACERIGHT, VK_OEM_6 },
- { KEY_APOSTROPHE, VK_OEM_7 },
-
-
- { KEY_UNKNOWN, 0 }
- };
- unsigned int KeyMappingWindows::get_keysym(unsigned int p_code) {
- for (int i = 0; _vk_to_keycode[i].keysym != KEY_UNKNOWN; i++) {
- if (_vk_to_keycode[i].keycode == p_code) {
-
- return _vk_to_keycode[i].keysym;
- }
- }
- return KEY_UNKNOWN;
- }
|