# vim:fileencoding=utf-8 # License: GPL v3 Copyright: 2016, Kovid Goyal from __python__ import hash_literals KEYCODE_MAP = K = Object.create(None) K[8] = 'backspace' K[9] = 'tab' K[13] = 'enter' K[16] = 'shift' K[17] = 'ctrl' K[18] = 'alt' K[19] = 'pause' K[20] = 'capslock' K[27] = 'escape' K[32] = 'space' K[33] = 'pageup' K[34] = 'pagedown' K[35] = 'end' K[36] = 'home' K[37] = 'left' K[38] = 'up' K[39] = 'right' K[40] = 'down' K[45] = 'insert' K[46] = 'delete' K[91] = 'meta_l' K[92] = 'meta_r' K[93] = 'select' K[106] = 'numpad*' K[107] = 'numpad+' K[109] = 'numpad-' K[111] = 'numpad/' K[144] = 'numlock' K[145] = 'scrolllock' K[186] = ';' K[190] = '.' K[191] = '/' K[192] = '`' K[219] = '[' K[220] = '\\' K[221] = ']' K[222] = "'" for i in range(10): KEYCODE_MAP[48 + i] = i + '' KEYCODE_MAP[96 + i] = 'numpad' + i for i, c in enumerate(str.ascii_lowercase): KEYCODE_MAP[65 + i] = c for i in range(1, 13): KEYCODE_MAP[111 + i] = 'f' + 1 def get_key(key_event): return KEYCODE_MAP[key_event.keyCode]