Updates. /JL

This commit is contained in:
2025-03-22 10:47:56 +01:00
parent 15b1de2ad7
commit c8a7e4e650
9 changed files with 85 additions and 38 deletions

View File

@@ -1,2 +1,2 @@
from . import joystick
from . import controller
from . import keyboard

76
controls/controller.py Normal file
View File

@@ -0,0 +1,76 @@
import pygame
from controls.controlsbase import ControlsBase
class ControllerControls(ControlsBase):
def __init__(self, joy):
self.device = joy
self.instance_id: int = self.device.get_instance_id()
self.name = self.device.get_name()
self.numaxis: int = self.device.get_numaxis()
self.axis: list = []
self.numhats: int = self.device.get_numhats()
self.hats: list = []
self.numbuttons: int = self.device.get_numbuttons()
self.buttons: list = []
self.power_level: str = ""
def handle_input(self, event):
pass
def left(self):
pass
def right(self):
pass
def up(self):
pass
def down(self):
pass
def pause(self):
pass
def rumble(self):
pass
@property
def name(self) -> str:
return self._name
@name.setter
def name(self, name: str) -> None:
self._name = name
@property
def axis(self) -> list:
return self._axis
@axis.setter
def axis(self) -> None:
self._axis = [self.device.get_axis(a) for a in range(self.numaxis)]
@property
def hats(self) -> list:
return self._hats
@hats.setter
def hats(self) -> None:
self.hats = [self.device.get_hats(h) for h in range(self.numhats)]
@property
def buttons(self) -> list:
return self._buttons
@buttons.setter
def buttons(self) -> None:
self._buttons = [self.device.get_buttons(b) for b in range(self.numbuttons)]
@property
def power_level(self) -> str:
return self._power_level
@power_level.setter
def power_level(self) -> None:
self._power_level = self.device.get_power_level()

View File

@@ -5,17 +5,5 @@ from abc import ABC, abstractmethod
class ControlsBase(ABC):
@abstractmethod
def left(self):
pass
def right(self):
pass
def up(self):
pass
def down(self):
pass
def pause(self):
def handle_input(self, event):
pass

View File

@@ -1,23 +0,0 @@
from controls.controlsbase import ControlsBase
class JoystickControls(ControlsBase):
def __init__(self):
pass
def left(self):
pass
def right(self):
pass
def up(self):
pass
def down(self):
pass
def pause(self):
pass
def rumble(self):
pass

View File

@@ -7,6 +7,9 @@ class KeyboardControls(ControlsBase):
def __init__(self):
pass
def handle_input(self, event):
pass
def left(self):
pass
@@ -20,4 +23,7 @@ class KeyboardControls(ControlsBase):
pass
def pause(self):
pass
pass
def rumble(self):
return

View File

View File

View File