class InputManager: currently_pressed_keys = [] left_paw_keys = [ "1", "2", "3", "4", "5", "Q", "W", "E", "R", "T", "Y", "A", "S", "D", "F", "G", "H", "Z", "X", "C", "V", "B", "Espace", "Oem_5", "Tab", "Capital", "Lshift", "Lcontrol", "Lwin", "Lmenu", "Space", "F1", "F2", "F3", "F4", "F5" ] right_paw_keys = [ "6", "7", "8", "9", "0", "Oem_Plus", "Oem_4", "Back", "U", "I", "O", "P", "Oem_6", "Oem_1", "Return", "J", "K", "L", "Oem_3", "Oem_7", "Oem_2", "N", "M", "Oem_Comma", "Oem_Period", "Oem_Minus", "Rshift", "Rmenu", "Rwin", "Rcontrol", "Up", "Left", "Down", "Right", "Insert", "Home", "Prior", "Delete", "End", "Next", "Snapshot", "Scroll", "Pause", "Numpad0", "Numpad1", "Numpad2", "Numpad3", "Numpad4", "Numpad5", "Numpad6", "Numpad7", "Numpad8", "Numpad9", "Numlock", "Divide", "Multiply", "Subtract", "Add", "Decimal", "F6", "F7", "F8", "F9", "F10", "F11", "F12" ] left_paw_keys_linux_fi = [ "1", "2", "3", "4", "5", "exclam", "quotedbl", "numbersign", "currency", "percent", "q", "w", "e", "r", "t", "y", "a", "s", "d", "f", "g", "h", "z", "x", "c", "v", "b" "Escape", "section", "Tab", "Caps_Lock", "Shift_L", "Control_L", "Super_L", "Alt_L", "space", "F1", "F2", "F3", "F4", "F5" ] right_paw_keys_linux_fi = [ "6", "7", "8", "9", "0", "plus", "[65105]", "BackSpace", "ampersand", "slash", "parenleft", "parenright", "equal", "u", "i", "o", "p", "aring", "[65111]", "Return", "j", "k", "l", "odiaresis", "adiaresis", "apostrophe", "asterisk", "n", "m", "comma", "period", "minus", "Shift_R", "semicolon", "colon", "underscore", "[65027]", "Menu", "Control_R", "Up", "Left", "Down", "Right", "Insert", "Home", "Page_Up", "Delete", "End", "Next", "Print", "Scroll_Lock", "Pause", "P_Insert", "P_End", "P_Down", "P_Next", "P_Left", "P_Begin", "P_Right", "P_Home", "P_Up", "P_Page_Up", "Num_Lock", "P_Divide", "P_Multiply", "P_Subtract", "P_Add", "P_Delete", "P_Enter", "F6", "F7", "F8", "F9", "F10", "F11", "F12" ] pyxhook_shifted_numbers = [ "exclam", "quotedbl", "numbersign", "currency", "percent", "ampersand", "slash", "parenleft", "parenright", "equal", ] def on_update(self, down): pass def press_key(self, key): if not key in self.currently_pressed_keys: self.currently_pressed_keys.append(key) self.on_update(True) def release_key(self, key): if key in self.currently_pressed_keys: self.currently_pressed_keys.remove(key) self.on_update(False) def left_keys_pressed(self): pressed = False for key in self.currently_pressed_keys: if key in self.left_paw_keys: pressed = True return pressed def right_keys_pressed(self): pressed = False for key in self.currently_pressed_keys: if key in self.right_paw_keys: pressed = True return pressed