Addiing individual controller support. /JL
This commit is contained in:
@@ -1,76 +1,27 @@
|
||||
import pygame
|
||||
from controls.controlsbase import ControlsBase
|
||||
from controls.dualsense_controller import DualSenseController
|
||||
from controls.dualsense_edge_controller import DualSenseEdgeController
|
||||
from controls.logitech_f310_controller import LogitechF310Controller
|
||||
from controls.logitech_f510_controller import LogitechF510Controller
|
||||
from controls.logitech_f710_controller import LogitechF710Controller
|
||||
from controls.xbox_controller import XboxController
|
||||
from controls.generic_controller import GenericController
|
||||
|
||||
class ControllerControls(ControlsBase):
|
||||
CONTROLLERS = {
|
||||
"DualSense Wireless Controller": DualSenseController,
|
||||
"DualSense Edge Wireless Controller": DualSenseEdgeController,
|
||||
"Logitech Gamepad F310": LogitechF310Controller,
|
||||
"Logitech Gamepad F510": LogitechF510Controller,
|
||||
"Logitech Gamepad F710": LogitechF710Controller,
|
||||
"Xbox": XboxController
|
||||
}
|
||||
|
||||
class Controllers:
|
||||
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()
|
||||
self.controllers = []
|
||||
if not joy.get_name() in CONTROLLERS:
|
||||
self.controllers.append(GenericController(joy))
|
||||
else:
|
||||
self.controllers.append(CONTROLLERS[joy.get_name()](joy))
|
||||
|
Reference in New Issue
Block a user