""" \author Tristan Israël """
import evdev
from evdev import ecodes
[docs]
class KeymapFR():
""" Cette classe permet de convertir un code clavier en caractère """
KEYMAP = {
ecodes.KEY_0: '0',
ecodes.KEY_1: '1',
ecodes.KEY_2: '2',
ecodes.KEY_3: '3',
ecodes.KEY_4: '4',
ecodes.KEY_5: '5',
ecodes.KEY_6: '6',
ecodes.KEY_7: '7',
ecodes.KEY_8: '8',
ecodes.KEY_9: '9',
ecodes.KEY_A: 'Q',
ecodes.KEY_B: 'B',
ecodes.KEY_C: 'C',
ecodes.KEY_COMMA: ',',
ecodes.KEY_D: 'D',
ecodes.KEY_DOLLAR: '$',
ecodes.KEY_DOT: '.',
#108: 'DOWN',
ecodes.KEY_E: 'E',
#107: 'END',
ecodes.KEY_ENTER: '\r',
ecodes.KEY_EQUAL: '=',
#1: 'ESC',
ecodes.KEY_EURO: '€',
ecodes.KEY_F: 'F',
#59: 'F1',
#68: 'F10',
#87: 'F11',
#88: 'F12',
#183: 'F13',
#184: 'F14',
#185: 'F15',
#186: 'F16',
#187: 'F17',
#188: 'F18',
#189: 'F19',
#60: 'F2',
#190: 'F20',
#191: 'F21',
#192: 'F22',
#193: 'F23',
#194: 'F24',
#61: 'F3',
#62: 'F4',
#63: 'F5',
#64: 'F6',
#65: 'F7',
#66: 'F8',
#67: 'F9',
#464: 'FN',
#478: 'FN_1',
#479: 'FN_2',
# 484: 'FN_B',
# 480: 'FN_D',
# 481: 'FN_E',
# 465: 'FN_ESC',
# 482: 'FN_F',
# 466: 'FN_F1',
# 475: 'FN_F10',
# 476: 'FN_F11',
# 477: 'FN_F12',
# 467: 'FN_F2',
# 468: 'FN_F3',
# 469: 'FN_F4',
# 470: 'FN_F5',
# 471: 'FN_F6',
# 472: 'FN_F7',
# 473: 'FN_F8',
# 474: 'FN_F9',
# 485: 'FN_RIGHT_SHIFT',
# 483: 'FN_S',
ecodes.KEY_G: 'G',
ecodes.KEY_H: 'H',
#102: 'HOME',
#172: 'HOMEPAGE',
ecodes.KEY_I: 'I',
ecodes.KEY_J: 'J',
ecodes.KEY_K: 'K',
ecodes.KEY_KPASTERISK: '*',
ecodes.KEY_KPCOMMA: ',',
ecodes.KEY_KPDOT: '.',
ecodes.KEY_KPENTER: '\r',
ecodes.KEY_KPEQUAL: '=',
#95: 'KPJPCOMMA',
#179: 'KPLEFTPAREN',
ecodes.KEY_KPMINUS: '-',
ecodes.KEY_KPPLUS: '+',
#118: 'KPPLUSMINUS',
#180: 'KPRIGHTPAREN',
ecodes.KEY_KPSLASH: '/',
ecodes.KEY_L: 'L',
#105: 'LEFT',
#56: 'LEFTALT',
#26: 'LEFTBRACE',
#29: 'LEFTCTRL',
#125: 'LEFTMETA',
#42: 'LEFTSHIFT',
#617: 'LEFT_DOWN',
#616: 'LEFT_UP',
ecodes.KEY_M: 'M',
ecodes.KEY_N: 'N',
ecodes.KEY_NUMERIC_0: '0',
ecodes.KEY_NUMERIC_1: '1',
ecodes.KEY_NUMERIC_11: '11',
ecodes.KEY_NUMERIC_12: '12',
ecodes.KEY_NUMERIC_2: '2',
ecodes.KEY_NUMERIC_3: '3',
ecodes.KEY_NUMERIC_4: '4',
ecodes.KEY_NUMERIC_5: '5',
ecodes.KEY_NUMERIC_6: '6',
ecodes.KEY_NUMERIC_7: '7',
ecodes.KEY_NUMERIC_8: '8',
ecodes.KEY_NUMERIC_9: '9',
ecodes.KEY_NUMERIC_A: 'A',
ecodes.KEY_NUMERIC_B: 'B',
ecodes.KEY_NUMERIC_C: 'C',
ecodes.KEY_NUMERIC_D: 'D',
ecodes.KEY_NUMERIC_POUND: '£',
ecodes.KEY_NUMERIC_STAR: '*',
#69: 'NUMLOCK',
ecodes.KEY_O: 'O',
#357: 'OPTION',
ecodes.KEY_P: 'P',
#109: 'PAGEDOWN',
#104: 'PAGEUP',
ecodes.KEY_Q: 'A',
ecodes.KEY_R: 'R',
#106: 'RIGHT',
#100: 'RIGHTALT',
#27: 'RIGHTBRACE',
#97: 'RIGHTCTRL',
#126: 'RIGHTMETA',
#54: 'RIGHTSHIFT',
#615: 'RIGHT_DOWN',
#614: 'RIGHT_UP',
ecodes.KEY_S: 'S',
ecodes.KEY_SEMICOLON: ';',
ecodes.KEY_SLASH: '/',
ecodes.KEY_SPACE: ' ',
ecodes.KEY_T: 'T',
ecodes.KEY_TAB: '\t',
ecodes.KEY_U: 'U',
#103: 'UP',
ecodes.KEY_V: 'V',
ecodes.KEY_W: 'Z',
ecodes.KEY_X: 'X',
ecodes.KEY_Y: 'Y',
ecodes.KEY_Z: 'W'
}
[docs]
@staticmethod
def convertit(evcode):
return KeymapFR.KEYMAP[evcode]