windows按键对照表 Virtual-Key Codes
VK_LBUTTON = 0x01
VK_RBUTTON = 0x02
VK_CANCEL = 0x03
VK_MBUTTON = 0x04
VK_XBUTTON1 = 0x05
VK_XBUTTON2 = 0x06
VK_BACK = 0x08
VK_TAB = 0x09
VK_CLEAR = 0x0C
VK_RETURN = 0x0D
VK_SHIFT = 0x10
VK_CONTROL = 0x11
VK_MENU = 0x12
VK_PAUSE = 0x13
VK_CAPITAL = 0x14
VK_KANA = 0x15
VK_HANGEUL = 0x15
VK_HANGUL = 0x15
VK_JUNJA = 0x17
VK_FINAL = 0x18
VK_HANJA = 0x19
VK_KANJI = 0x19
VK_ESCAPE = 0x1B
VK_CONVERT = 0x1C
VK_NONCONVERT = 0x1D
VK_ACCEPT = 0x1E
VK_MODECHANGE = 0x1F
VK_SPACE = 0x20
VK_PRIOR = 0x21
VK_NEXT = 0x22
VK_END = 0x23
VK_HOME = 0x24
VK_LEFT = 0x25
VK_UP = 0x26
VK_RIGHT = 0x27
VK_DOWN = 0x28
VK_SELECT = 0x29
VK_PRINT = 0x2A
VK_EXECUTE = 0x2B
VK_SNAPSHOT = 0x2C
VK_INSERT = 0x2D
VK_DELETE = 0x2E
VK_HELP = 0x2F
VK_0 = 0x30
VK_1 = 0x31
VK_2 = 0x32
VK_3 = 0x33
VK_4 = 0x34
VK_5 = 0x35
VK_6 = 0x36
VK_7 = 0x37
VK_8 = 0x38
VK_9 = 0x39
VK_A = 0x41
VK_B = 0x42
VK_C = 0x43
VK_D = 0x44
VK_E = 0x45
VK_F = 0x46
VK_G = 0x47
VK_H = 0x48
VK_I = 0x49
VK_J = 0x4A
VK_K = 0x4B
VK_L = 0x4C
VK_M = 0x4D
VK_N = 0x4E
VK_O = 0x4F
VK_P = 0x50
VK_Q = 0x51
VK_R = 0x52
VK_S = 0x53
VK_T = 0x54
VK_U = 0x55
VK_V = 0x56
VK_W = 0x57
VK_X = 0x58
VK_Y = 0x59
VK_Z = 0x5A
VK_LWIN = 0x5B
VK_RWIN = 0x5C
VK_APPS = 0x5D
VK_SLEEP = 0x5F
VK_NUMPAD0 = 0x60
VK_NUMPAD1 = 0x61
VK_NUMPAD2 = 0x62
VK_NUMPAD3 = 0x63
VK_NUMPAD4 = 0x64
VK_NUMPAD5 = 0x65
VK_NUMPAD6 = 0x66
VK_NUMPAD7 = 0x67
VK_NUMPAD8 = 0x68
VK_NUMPAD9 = 0x69
VK_MULTIPLY = 0x6A
VK_ADD = 0x6B
VK_SEPARATOR = 0x6C
VK_SUBTRACT = 0x6D
VK_DECIMAL = 0x6E
VK_DIVIDE = 0x6F
VK_F1 = 0x70
VK_F2 = 0x71
VK_F3 = 0x72
VK_F4 = 0x73
VK_F5 = 0x74
VK_F6 = 0x75
VK_F7 = 0x76
VK_F8 = 0x77
VK_F9 = 0x78
VK_F10 = 0x79
VK_F11 = 0x7A
VK_F12 = 0x7B
VK_F13 = 0x7C
VK_F14 = 0x7D
VK_F15 = 0x7E
VK_F16 = 0x7F
VK_F17 = 0x80
VK_F18 = 0x81
VK_F19 = 0x82
VK_F20 = 0x83
VK_F21 = 0x84
VK_F22 = 0x85
VK_F23 = 0x86
VK_F24 = 0x87
VK_NUMLOCK = 0x90
VK_SCROLL = 0x91
VK_OEM_NEC_EQUAL = 0x92
VK_OEM_FJ_JISHO = 0x92
VK_OEM_FJ_MASSHOU = 0x93
VK_OEM_FJ_TOUROKU = 0x94
VK_OEM_FJ_LOYA = 0x95
VK_OEM_FJ_ROYA = 0x96
VK_LSHIFT = 0xA0
VK_RSHIFT = 0xA1
VK_LCONTROL = 0xA2
VK_RCONTROL = 0xA3
VK_LMENU = 0xA4
VK_RMENU = 0xA5
VK_BROWSER_BACK = 0xA6
VK_BROWSER_FORWARD = 0xA7
VK_BROWSER_REFRESH = 0xA8
VK_BROWSER_STOP = 0xA9
VK_BROWSER_SEARCH = 0xAA
VK_BROWSER_FAVORITES = 0xAB
VK_BROWSER_HOME = 0xAC
VK_VOLUME_MUTE = 0xAD
VK_VOLUME_DOWN = 0xAE
VK_VOLUME_UP = 0xAF
VK_MEDIA_NEXT_TRACK = 0xB0
VK_MEDIA_PREV_TRACK = 0xB1
VK_MEDIA_STOP = 0xB2
VK_MEDIA_PLAY_PAUSE = 0xB3
VK_LAUNCH_MAIL = 0xB4
VK_LAUNCH_MEDIA_SELECT = 0xB5
VK_LAUNCH_APP1 = 0xB6
VK_LAUNCH_APP2 = 0xB7
VK_OEM_1 = 0xBA
VK_OEM_PLUS = 0xBB
VK_OEM_COMMA = 0xBC
VK_OEM_MINUS = 0xBD
VK_OEM_PERIOD = 0xBE
VK_OEM_2 = 0xBF
VK_OEM_3 = 0xC0
VK_OEM_4 = 0xDB
VK_OEM_5 = 0xDC
VK_OEM_6 = 0xDD
VK_OEM_7 = 0xDE
VK_OEM_8 = 0xDF
VK_OEM_AX = 0xE1
VK_OEM_102 = 0xE2
VK_ICO_HELP = 0xE3
VK_ICO_00 = 0xE4
VK_PROCESSKEY = 0xE5
VK_ICO_CLEAR = 0xE6
VK_PACKET = 0xE7
VK_OEM_RESET = 0xE9
VK_OEM_JUMP = 0xEA
VK_OEM_PA1 = 0xEB
VK_OEM_PA2 = 0xEC
VK_OEM_PA3 = 0xED
VK_OEM_WSCTRL = 0xEE
VK_OEM_CUSEL = 0xEF
VK_OEM_ATTN = 0xF0
VK_OEM_FINISH = 0xF1
VK_OEM_COPY = 0xF2
VK_OEM_AUTO = 0xF3
VK_OEM_ENLW = 0xF4
VK_OEM_BACKTAB = 0xF5
VK_ATTN = 0xF6
VK_CRSEL = 0xF7
VK_EXSEL = 0xF8
VK_EREOF = 0xF9
VK_PLAY = 0xFA
VK_ZOOM = 0xFB
VK_NONAME = 0xFC
VK_PA1 = 0xFD
VK_OEM_CLEAR = 0xFE
keymap = {
VK_CANCEL: "Cancel",
VK_BACK: "Backspace",
VK_TAB: "Tab",
VK_CLEAR: "Clear",
VK_RETURN: "Enter",
VK_SHIFT: "Shift",
VK_CONTROL: "Ctrl",
VK_MENU: "Alt",
VK_PAUSE: "Pause",
VK_CAPITAL: "CapsLock",
VK_ESCAPE: "Esc",
VK_SPACE: "Space",
VK_PRIOR: "PageUp",
VK_NEXT: "PageDown",
VK_END: "End",
VK_HOME: "Home",
VK_LEFT: "Left",
VK_UP: "Up",
VK_RIGHT: "Right",
VK_DOWN: "Down",
VK_SELECT: "Select",
VK_PRINT: "Print",
VK_EXECUTE: "Execute",
VK_SNAPSHOT: "PrintScreen",
VK_INSERT: "Insert",
VK_DELETE: "Delete",
VK_HELP: "Help",
VK_LWIN: "LeftWin",
VK_RWIN: "RightWin",
VK_APPS: "Apps",
VK_0: '0',
VK_1: '1',
VK_2: '2',
VK_3: '3',
VK_4: '4',
VK_5: '5',
VK_6: '6',
VK_7: '7',
VK_8: '8',
VK_9: '9',
VK_A: 'a',
VK_B: 'b',
VK_C: 'c',
VK_D: 'd',
VK_E: 'e',
VK_F: 'f',
VK_G: 'g',
VK_H: 'h',
VK_I: 'i',
VK_J: 'j',
VK_K: 'k',
VK_L: 'l',
VK_M: 'm',
VK_N: 'n',
VK_O: 'o',
VK_P: 'p',
VK_Q: 'q',
VK_R: 'r',
VK_S: 's',
VK_T: 't',
VK_U: 'u',
VK_V: 'v',
VK_W: 'w',
VK_X: 'x',
VK_Y: 'y',
VK_Z: 'z',
VK_NUMPAD0: "Num0[Ins]",
VK_NUMPAD1: "Num1[End]",
VK_NUMPAD2: "Num2[Down]",
VK_NUMPAD3: "Num3[PageDown]",
VK_NUMPAD4: "Num4[Left]",
VK_NUMPAD5: "Num5",
VK_NUMPAD6: "Num6[Right]",
VK_NUMPAD7: "Num7[Home]",
VK_NUMPAD8: "Num8[Up]",
VK_NUMPAD9: "Num9[PageUp]",
VK_MULTIPLY: "*",
VK_ADD: "+",
VK_SEPARATOR: "Separator",
VK_SUBTRACT: "-",
VK_DECIMAL: ".",
VK_DIVIDE: "/",
VK_F1: "F1",
VK_F2: "F2",
VK_F3: "F3",
VK_F4: "F4",
VK_F5: "F5",
VK_F6: "F6",
VK_F7: "F7",
VK_F8: "F8",
VK_F9: "F9",
VK_F10: "F10",
VK_F11: "F11",
VK_F12: "F12",
VK_F13: "F13",
VK_F14: "F14",
VK_F15: "F15",
VK_F16: "F16",
VK_F17: "F17",
VK_F18: "F18",
VK_F19: "F19",
VK_F20: "F20",
VK_F21: "F21",
VK_F22: "F22",
VK_F23: "F23",
VK_F24: "F24",
VK_NUMLOCK: "NumLock",
VK_SCROLL: "Scroll",
VK_LSHIFT: "LeftShift",
VK_RSHIFT: "RightShift",
VK_LCONTROL: "LeftCtrl",
VK_RCONTROL: "RightCtrl",
VK_LMENU: "LeftAlt",
VK_RMENU: "RightAlt",
VK_BROWSER_BACK: "BrowserBack",
VK_BROWSER_FORWARD: "BrowserForward",
VK_BROWSER_REFRESH: "BrowserRefresh",
VK_BROWSER_STOP: "BrowserStop",
VK_BROWSER_SEARCH: "BrowserSearch",
VK_BROWSER_FAVORITES: "BrowserFavorites",
VK_BROWSER_HOME: "BrowserHome",
VK_VOLUME_MUTE: "VolumeMute",
VK_VOLUME_DOWN: "VolumeDown",
VK_VOLUME_UP: "VolumeUp",
VK_MEDIA_NEXT_TRACK: "MediaNextTrack",
VK_MEDIA_PREV_TRACK: "MediaPrevTrack",
VK_MEDIA_STOP: "MediaStop",
VK_MEDIA_PLAY_PAUSE: "MediaPlayPause",
VK_LAUNCH_MAIL: "LaunchMail",
VK_LAUNCH_MEDIA_SELECT: "LaunchMediaSelect",
VK_LAUNCH_APP1: "LaunchApp1",
VK_LAUNCH_APP2: "LaunchApp2",
VK_OEM_1: ";",
VK_OEM_PLUS: "=",
VK_OEM_COMMA: ",",
VK_OEM_MINUS: "-",
VK_OEM_PERIOD: ".",
VK_OEM_2: "/",
VK_OEM_3: "`",
VK_OEM_4: "[",
VK_OEM_5: "\\",
VK_OEM_6: "]",
VK_OEM_7: "'",
VK_OEM_8: "OEM_8",
VK_OEM_AX: "AX",
VK_OEM_102: "OEM_102",
VK_ICO_HELP: "ICO_HELP",
VK_ICO_00: "ICO_00",
VK_PROCESSKEY: "ProcessKey",
VK_ICO_CLEAR: "ICO_CLEAR",
VK_PACKET: "Packet",
VK_OEM_RESET: "OEM_RESET",
VK_OEM_JUMP: "OEM_JUMP",
VK_OEM_PA1: "OEM_PA1",
VK_OEM_PA2: "OEM_PA2",
VK_OEM_PA3: "OEM_PA3",
VK_OEM_WSCTRL: "OEM_WSCTRL",
VK_OEM_CUSEL: "OEM_CUSEL",
VK_OEM_ATTN: "OEM_ATTN",
VK_OEM_FINISH: "OEM_FINISH",
VK_OEM_COPY: "OEM_COPY",
VK_OEM_AUTO: "OEM_AUTO",
VK_OEM_ENLW: "OEM_ENLW",
VK_OEM_BACKTAB: "OEM_BACKTAB",
VK_ATTN: "Attn",
VK_CRSEL: "CrSel",
VK_EXSEL: "ExSel",
VK_EREOF: "EraseEof",
VK_PLAY: "Play",
VK_ZOOM: "Zoom",
VK_NONAME: "Noname",
VK_PA1: "PA1",
VK_OEM_CLEAR: "OEM_CLEAR",
'Shift-0': ')',
'Shift-1': '!',
'Shift-2': '@',
'Shift-3': '#',
'Shift-4': '$',
'Shift-5': '%',
'Shift-6': '^',
'Shift-7': '&',
'Shift-8': '*',
'Shift-9': '(',
'Shift-;': ':',
'Shift-=': '+',
'Shift-,': '<',
'Shift--': '_',
'Shift-.': '>',
'Shift-/': '?',
'Shift-`': '~',
'Shift-[': '{',
'Shift-\\': '|',
'Shift-]': '}',
'Shift-\'': '"',
'Shift-a': 'A',
'Shift-b': 'B',
'Shift-c': 'C',
'Shift-d': 'D',
'Shift-e': 'E',
'Shift-f': 'F',
'Shift-g': 'G',
'Shift-h': 'H',
'Shift-i': 'I',
'Shift-j': 'J',
'Shift-k': 'K',
'Shift-l': 'L',
'Shift-m': 'M',
'Shift-n': 'N',
'Shift-o': 'O',
'Shift-p': 'P',
'Shift-q': 'Q',
'Shift-r': 'R',
'Shift-s': 'S',
'Shift-t': 'T',
'Shift-u': 'U',
'Shift-v': 'V',
'Shift-w': 'W',
'Shift-x': 'X',
'Shift-y': 'Y',
'Shift-z': 'Z',
'NumLock-Ins': '0',
'NumLock-End': '.',
'NumLock-Down': '2',
'NumLock-PageDown': '3',
'NumLock-Left': '4',
'NumLock-NumPad5': '5',
'NumLock-Right': '6',
'NumLock-Home': '7',
'NumLock-Up': '8',
'NumLock-PageUp': '9',
}