Files
PyGame-Pacman/pygameController/dualsense_controller.py

74 lines
1.8 KiB
Python

from pygameController.controlsbase import ControlsBase
from pydualsense import *
BATTERY_STATE = {
"0": "Discharging",
"1": "Charging",
"2": "Full",
"11": "Not charging",
"15": "Error",
"10": "Temp or voltage out of range"
}
class DualSenseController(ControlsBase):
def __init__(self, joy):
self.device = pydualsense()
self.device.init()
self.name = self.device.device.get_product_string()
self.powerlevel = self.device.battery.Level
self.batterystate = BATTERY_STATE[str(self.device.battery.State)]
self.set_player_id(PlayerID.PLAYER_1)
print(f"{self.name} connected")
print(f"Power level: {self.powerlevel}")
print(f"Battery state: {self.batterystate}")
def handle_input(self, event):
pass
def set_led(self, red: int, green: int, blue: int):
self.device.light.setColorI(red, green, blue)
def set_player_id(self, playerid: PlayerID):
self.device.light.setPlayerID(playerid)
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 powerlevel(self) -> str:
return self._powerlevel
@powerlevel.setter
def powerlevel(self, lvl: str) -> None:
self._powerlevel = lvl
@property
def batterystate(self) -> int:
return self._batterystate
@batterystate.setter
def batterystate(self, state) -> None:
self._batterystate = state