51 lines
1.3 KiB
Python
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
|