programming-bongocat/input_manager.py

51 lines
1.3 KiB
Python

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.right_paw_keys = keys.right_paw_keys
self.left_paw_keys = keys.left_paw_keys
self.shifted_keys = keys.shifted_keys
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)
shifted = self.shifted_keys.get(key)
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