jskeycodes = { 'KEY_A': 'KeyA', 'KEY_B': 'KeyB', 'KEY_C': 'KeyC', 'KEY_D': 'KeyD', 'KEY_E': 'KeyE', 'KEY_F': 'KeyF', 'KEY_G': 'KeyG', 'KEY_H': 'KeyH', 'KEY_I': 'KeyI', 'KEY_J': 'KeyJ', 'KEY_K': 'KeyK', 'KEY_L': 'KeyL', 'KEY_M': 'KeyM', 'KEY_N': 'KeyN', 'KEY_O': 'KeyO', 'KEY_P': 'KeyP', 'KEY_Q': 'KeyQ', 'KEY_R': 'KeyR', 'KEY_S': 'KeyS', 'KEY_T': 'KeyT', 'KEY_U': 'KeyU', 'KEY_V': 'KeyV', 'KEY_W': 'KeyW', 'KEY_X': 'KeyX', 'KEY_Y': 'KeyY', 'KEY_Z': 'KeyZ', 'KEY_GRAVE': 'Backquote', 'KEY_0': 'Digit0', 'KEY_1': 'Digit1', 'KEY_2': 'Digit2', 'KEY_3': 'Digit3', 'KEY_4': 'Digit4', 'KEY_5': 'Digit5', 'KEY_6': 'Digit6', 'KEY_7': 'Digit7', 'KEY_8': 'Digit8', 'KEY_9': 'Digit9', 'KEY_MINUS': 'Minus', 'KEY_EQUAL': 'Equal', 'KEY_LEFTBRACE': 'BracketLeft', 'KEY_RIGHTBRACE': 'BracketRight', 'KEY_SEMICOLON': 'Semicolon', 'KEY_APOSTROPHE': 'Quote', 'KEY_BACKSLASH': 'Backslash', 'KEY_COMMA': 'Comma', 'KEY_DOT': 'Period', 'KEY_SLASH': 'Slash', 'KEY_102ND': 'IntlBackslash', 'KEY_KP0': 'Numpad0', 'KEY_KP1': 'Numpad1', 'KEY_KP2': 'Numpad2', 'KEY_KP3': 'Numpad3', 'KEY_KP4': 'Numpad4', 'KEY_KP5': 'Numpad5', 'KEY_KP6': 'Numpad6', 'KEY_KP7': 'Numpad7', 'KEY_KP8': 'Numpad8', 'KEY_KP9': 'Numpad9', 'KEY_KPASTERISK': 'NumpadMultiply', 'KEY_KPPLUS': 'NumpadAdd', 'KEY_KPMINUS': 'NumpadSubtract', 'KEY_KPDOT': 'NumpadDecimal', 'KEY_KPSLASH': 'NumpadDivide', 'KEY_KPENTER': 'NumpadEnter', 'KEY_ESC': 'Escape', 'KEY_F1': 'F1', 'KEY_F2': 'F2', 'KEY_F3': 'F3', 'KEY_F4': 'F4', 'KEY_F5': 'F5', 'KEY_F6': 'F6', 'KEY_F7': 'F7', 'KEY_F8': 'F8', 'KEY_F9': 'F9', 'KEY_F10': 'F10', 'KEY_F11': 'F11', 'KEY_F12': 'F12', 'KEY_F13': 'F13', 'KEY_F14': 'F14', 'KEY_F15': 'F15', 'KEY_F16': 'F16', 'KEY_F17': 'F17', 'KEY_F18': 'F18', 'KEY_F19': 'F19', 'KEY_F20': 'F20', 'KEY_F21': 'F21', 'KEY_F22': 'F22', 'KEY_F23': 'F23', 'KEY_BACKSPACE': 'Backspace', 'KEY_SPACE': 'Space', 'KEY_TAB': 'Tab', 'KEY_ENTER' : 'Enter', 'KEY_PAGEUP': 'PageUp', 'KEY_PAGEDOWN': 'PageDown', 'KEY_HOME': 'Home', 'KEY_END': 'End', 'KEY_INSERT': 'Insert', 'KEY_DELETE': 'Delete', 'KEY_UP': 'ArrowUp', 'KEY_DOWN': 'ArrowDown', 'KEY_LEFT': 'ArrowLeft', 'KEY_RIGHT': 'ArrowRight', 'KEY_NUMLOCK': 'NumLock', 'KEY_CAPSLOCK': 'CapsLock', 'KEY_SCROLLLOCK': 'ScrollLock', 'KEY_MOD_LMETA': 'MetaLeft', 'KEY_MOD_RMETA': 'MetaRight', 'KEY_COMPOSE': 'ContextMenu', } jskeywhich = { 'KEY_CANCEL': 3, 'KEY_BACKSPACE': 8, 'KEY_TAB': 9, 'KEY_CLEAR': 12, 'KEY_ENTER': 13, 'KEY_...': 14, 'KEY_SHIFT': 16, 'KEY_CONTROL': 17, 'KEY_ALT': 18, 'KEY_PAUSE': 19, 'KEY_CAPSLOCK': 20, 'KEY_ESC': 27, 'KEY_SPACE': 32, 'KEY_PAGEUP': 33, 'KEY_PAGEDOWN': 34, 'KEY_END': 35, 'KEY_HOME': 36, 'KEY_LEFT': 37, 'KEY_UP': 38, 'KEY_RIGHT': 39, 'KEY_DOWN': 40, 'KEY_PRINTSCREEN': 44, 'KEY_INSERT': 45, 'KEY_DELETE': 46, 'KEY_0': 48, 'KEY_1': 49, 'KEY_2': 50, 'KEY_3': 51, 'KEY_4': 52, 'KEY_5': 53, 'KEY_6': 54, 'KEY_7': 55, 'KEY_8': 56, 'KEY_9': 57, 'KEY_SEMICOLON': 59, 'KEY_EQUAL': 61, 'KEY_A': 65, 'KEY_B': 66, 'KEY_C': 67, 'KEY_D': 68, 'KEY_E': 69, 'KEY_F': 70, 'KEY_G': 71, 'KEY_H': 72, 'KEY_I': 73, 'KEY_J': 74, 'KEY_K': 75, 'KEY_L': 76, 'KEY_M': 77, 'KEY_N': 78, 'KEY_O': 79, 'KEY_P': 80, 'KEY_Q': 81, 'KEY_R': 82, 'KEY_S': 83, 'KEY_T': 84, 'KEY_U': 85, 'KEY_V': 86, 'KEY_W': 87, 'KEY_X': 88, 'KEY_Y': 89, 'KEY_Z': 90, 'KEY_CONTEXTMENU': 93, 'KEY_NP0': 96, 'KEY_NP1': 97, 'KEY_NP2': 98, 'KEY_NP3': 99, 'KEY_NP4': 100, 'KEY_NP5': 101, 'KEY_NP6': 102, 'KEY_NP7': 103, 'KEY_NP8': 104, 'KEY_NP9': 105, 'KEY_KPASTERISK': 106, 'KEY_KPPLUS': 107, 'KEY_SEPARATOR': 108, 'KEY_KPMINUS': 109, 'KEY_KPDOT': 110, 'KEY_KPSLASH': 111, 'KEY_F1': 112, 'KEY_F2': 113, 'KEY_F3': 114, 'KEY_F4': 115, 'KEY_F5': 116, 'KEY_F6': 117, 'KEY_F7': 118, 'KEY_F8': 119, 'KEY_F9': 120, 'KEY_F10': 121, 'KEY_F11': 122, 'KEY_F12': 123, 'KEY_F13': 124, 'KEY_F14': 125, 'KEY_F15': 126, 'KEY_F16': 127, 'KEY_F17': 128, 'KEY_F18': 129, 'KEY_F19': 130, 'KEY_F20': 131, 'KEY_F21': 132, 'KEY_F22': 133, 'KEY_F23': 134, 'KEY_F24': 135, 'KEY_NUMLOCK': 144, 'KEY_SCROLLLOCK': 145, 'KEY_FIND': 170, 'KEY_COMMA': 188, 'KEY_MINUS': 189, 'KEY_DOT': 190, 'KEY_SLASH': 191, 'KEY_GRAVE': 192, 'KEY_LEFTBRACE': 219, 'KEY_BACKSLASH': 220, 'KEY_RIGHTBRACE': 221, 'KEY_APOSTROPHE': 222, 'KEY_META': 224 }