class InputManager: currently_pressed_keys = [] left_paw_keys = [] right_paw_keys = [] shifted_keys = {} def init(self, linux): if linux: import keylist_linux_fi as keys else: import keylist_win_fi as keys self.shifted_keys = keys.shifted_keys for key in keys.right_paw_keys: self.right_paw_keys.append(key.lower()) for key in keys.left_paw_keys: self.left_paw_keys.append(key.lower()) def on_update(self, down): pass def press_key(self, key): key = key.lower() if not key in self.currently_pressed_keys: self.currently_pressed_keys.append(key) self.on_update(True) def release_key(self, key): key = key.lower() if key in self.currently_pressed_keys: self.currently_pressed_keys.remove(key) self.on_update(False) shifted = self.shifted_keys.get(key) if shifted != None: shifted = shifted.lower() if shifted 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