Added rumble functionality to DualSense controllers. /JL

This commit is contained in:
2025-04-20 22:30:36 +02:00
parent cccaf0c8cb
commit 4adc27aec5
4 changed files with 20 additions and 6 deletions

View File

@@ -9,7 +9,7 @@ from .xbox_series_x_controller import XboxSeriesXController
from .generic_controller import GenericController
from .logitech_dual_action_controller import LogitechDualActionController
__version__ = "0.1.1"
__version__ = "0.1.2"
CONTROLLERS = {
"DualSense Wireless Controller": DualSenseController,

View File

@@ -76,9 +76,16 @@ class DualSenseController(ControlsBase):
def pause(self):
pass
def rumble(self):
pass
def rumble(self, left, right):
if not left in range(255) or not right in range(255):
raise ValueError("left and right values must be in the range 0 - 255")
self.device.setLeftMotor(left)
self.device.setRightMotor(right)
def stop_rumble(self):
self.device.setLeftMotor(0)
self.device.setRightMotor(0)
@property
def name(self) -> str:
return self._name

View File

@@ -68,9 +68,16 @@ class DualSenseEdgeController(ControlsBase):
def pause(self):
pass
def rumble(self):
pass
def rumble(self, left, right):
if not left in range(255) or not right in range(255):
raise ValueError("left and right values must be in the range 0 - 255")
self.device.setLeftMotor(left)
self.device.setRightMotor(right)
def stop_rumble(self):
self.device.setLeftMotor(0)
self.device.setRightMotor(0)
@property
def name(self) -> str:
return self._name