# shift map | |
# letters | |
shift_map = { | |
'a': 'A', | |
'b': 'B', | |
'c': 'C', | |
'd': 'D', | |
'e': 'E', | |
'f': 'F', | |
'g': 'G', | |
'h': 'H', | |
'i': 'I', | |
'j': 'J', | |
'k': 'K', | |
'l': 'L', | |
'm': 'M', | |
'n': 'N', | |
'o': 'O', | |
'p': 'P', | |
'q': 'Q', | |
'r': 'R', | |
's': 'S', | |
't': 'T', | |
'u': 'U', | |
'v': 'V', | |
'w': 'W', | |
'x': 'X', | |
'y': 'Y', | |
'z': 'Z', | |
# numbers | |
'1': '!', | |
'2': '@', | |
'3': '#', | |
'4': '$', | |
'5': '%', | |
'6': '^', | |
'7': '&', | |
'8': '*', | |
'9': '(', | |
'0': ')', | |
# symbols | |
'-': '_', | |
'=': '+', | |
'[': '{', | |
']': '}', | |
'\\': '|', | |
';': ':', | |
'\'': '"', | |
',': '<', | |
'.': '>', | |
'/': '?', | |
'`': '~', | |
} | |
# hex map | |
# modifier keys | |
mod_keys = { | |
'00': '', | |
'01': 'left_ctrl', | |
'02': 'left_shift', | |
'04': 'left_alt', | |
'08': 'left_meta', | |
'10': 'right_ctrl', | |
'20': 'right_shift', | |
'40': 'right_alt', | |
'80': 'right_meta', | |
} | |
# base keys | |
base_keys = { | |
# meta | |
'00': '', # none | |
'01': 'error_ovf', | |
# letters | |
'04': 'a', | |
'05': 'b', | |
'06': 'c', | |
'07': 'd', | |
'08': 'e', | |
'09': 'f', | |
'0a': 'g', | |
'0b': 'h', | |
'0c': 'i', | |
'0d': 'j', | |
'0e': 'k', | |
'0f': 'l', | |
'10': 'm', | |
'11': 'n', | |
'12': 'o', | |
'13': 'p', | |
'14': 'q', | |
'15': 'r', | |
'16': 's', | |
'17': 't', | |
'18': 'u', | |
'19': 'v', | |
'1a': 'w', | |
'1b': 'x', | |
'1c': 'y', | |
'1d': 'z', | |
# numbers | |
'1e': '1', | |
'1f': '2', | |
'20': '3', | |
'21': '4', | |
'22': '5', | |
'23': '6', | |
'24': '7', | |
'25': '8', | |
'26': '9', | |
'27': '0', | |
# misc | |
'28': 'enter', # enter \n | |
'29': 'esc', | |
'2a': 'backspace', | |
'2b': 'tab', | |
'2c': 'spacebar', # space | |
'2d': '-', | |
'2e': '=', | |
'2f': '[', | |
'30': ']', | |
'31': '\\', | |
'32': '=', | |
'33': '_SEMICOLON', | |
'34': 'KEY_APOSTROPHE', | |
'35': 'KEY_GRAVE', | |
'36': 'KEY_COMMA', | |
'37': 'KEY_DOT', | |
'38': 'KEY_SLASH', | |
'39': 'KEY_CAPSLOCK', | |
'3a': 'KEY_F1', | |
'3b': 'KEY_F2', | |
'3c': 'KEY_F3', | |
'3d': 'KEY_F4', | |
'3e': 'KEY_F5', | |
'3f': 'KEY_F6', | |
'40': 'KEY_F7', | |
'41': 'KEY_F8', | |
'42': 'KEY_F9', | |
'43': 'KEY_F10', | |
'44': 'KEY_F11', | |
'45': 'KEY_F12', | |
'46': 'KEY_SYSRQ', | |
'47': 'KEY_SCROLLLOCK', | |
'48': 'KEY_PAUSE', | |
'49': 'KEY_INSERT', | |
'4a': 'KEY_HOME', | |
'4b': 'KEY_PAGEUP', | |
'4c': 'KEY_DELETE', | |
'4d': 'KEY_END', | |
'4e': 'KEY_PAGEDOWN', | |
'4f': 'KEY_RIGHT', | |
'50': 'KEY_LEFT', | |
'51': 'KEY_DOWN', | |
'52': 'KEY_UP', | |
'53': 'KEY_NUMLOCK', | |
'54': 'KEY_KPSLASH', | |
'55': 'KEY_KPASTERISK', | |
'56': 'KEY_KPMINUS', | |
'57': 'KEY_KPPLUS', | |
'58': 'KEY_KPENTER', | |
'59': 'KEY_KP1', | |
'5a': 'KEY_KP2', | |
'5b': 'KEY_KP3', | |
'5c': 'KEY_KP4', | |
'5d': 'KEY_KP5', | |
'5e': 'KEY_KP6', | |
'5f': 'KEY_KP7', | |
'60': 'KEY_KP8', | |
'61': 'KEY_KP9', | |
'62': 'KEY_KP0', | |
'63': 'KEY_KPDOT', | |
'64': 'KEY_102ND', | |
'65': 'KEY_COMPOSE', | |
'66': 'KEY_POWER', | |
'67': 'KEY_KPEQUAL', | |
'68': 'KEY_F13', | |
'69': 'KEY_F14', | |
'6a': 'KEY_F15', | |
'6b': 'KEY_F16', | |
'6c': 'KEY_F17', | |
'6d': 'KEY_F18', | |
'6e': 'KEY_F19', | |
'6f': 'KEY_F20', | |
'70': 'KEY_F21', | |
'71': 'KEY_F22', | |
'72': 'KEY_F23', | |
'73': 'KEY_F24', | |
'74': 'KEY_OPEN', | |
'75': 'KEY_HELP', | |
'76': 'KEY_PROPS', | |
'77': 'KEY_FRONT', | |
'78': 'KEY_STOP', | |
'79': 'KEY_AGAIN', | |
'7a': 'KEY_UNDO', | |
'7b': 'KEY_CUT', | |
'7c': 'KEY_COPY', | |
'7d': 'KEY_PASTE', | |
'7e': 'KEY_FIND', | |
'7f': 'KEY_MUTE', | |
'80': 'KEY_VOLUMEUP', | |
'81': 'KEY_VOLUMEDOWN', | |
'85': 'KEY_KPCOMMA', | |
'87': 'KEY_RO', | |
'88': 'KEY_KATAKANAHIRAGANA', | |
'89': 'KEY_YEN', | |
'8a': 'KEY_HENKAN', | |
'8b': 'KEY_MUHENKAN', | |
'8c': 'KEY_KPJPCOMMA', | |
'90': 'KEY_HANGEUL', | |
'91': 'KEY_HANJA', | |
'92': 'KEY_KATAKANA', | |
'93': 'KEY_HIRAGANA', | |
'94': 'KEY_ZENKAKUHANKAKU', | |
'b6': 'KEY_KPLEFTPAREN', | |
'b7': 'KEY_KPRIGHTPAREN', | |
'e0': 'KEY_LEFTCTRL', | |
'e1': 'KEY_LEFTSHIFT', | |
'e2': 'KEY_LEFTALT', | |
'e3': 'KEY_LEFTMETA', | |
'e4': 'KEY_RIGHTCTRL', | |
'e5': 'KEY_RIGHTSHIFT', | |
'e6': 'KEY_RIGHTALT', | |
'e7': 'KEY_RIGHTMETA', | |
'e8': 'KEY_MEDIA_PLAYPAUSE', | |
'e9': 'KEY_MEDIA_STOPCD', | |
'ea': 'KEY_MEDIA_PREVIOUSSONG', | |
'eb': 'KEY_MEDIA_NEXTSONG', | |
'ec': 'KEY_MEDIA_EJECTCD', | |
'ed': 'KEY_MEDIA_VOLUMEUP', | |
'ee': 'KEY_MEDIA_VOLUMEDOWN', | |
'ef': 'KEY_MEDIA_MUTE', | |
'f0': 'KEY_MEDIA_WWW', | |
'f1': 'KEY_MEDIA_BACK', | |
'f2': 'KEY_MEDIA_FORWARD', | |
'f3': 'KEY_MEDIA_STOP', | |
'f4': 'KEY_MEDIA_FIND', | |
'f5': 'KEY_MEDIA_SCROLLUP', | |
'f6': 'KEY_MEDIA_SCROLLDOWN', | |
'f7': 'KEY_MEDIA_EDIT', | |
'f8': 'KEY_MEDIA_SLEEP', | |
'f9': 'KEY_MEDIA_COFFEE', | |
'fa': 'KEY_MEDIA_REFRESH', | |
'fb': 'KEY_MEDIA_CALC', | |
} |