13 Commits

Author SHA1 Message Date
b9a9d60e52 Merge pull request 'Added rumble functionality to Xbox controller. /JL' (#13) from 0.1.4 into main
Reviewed-on: #13
2025-04-20 23:05:17 +02:00
e0609fd526 Added rumble functionality to Xbox controller. /JL 2025-04-20 23:04:52 +02:00
e9a7764459 Merge pull request 'Fixed a bug to allow rumble values 255. /JL' (#12) from 0.1.3 into main
Reviewed-on: #12
2025-04-20 22:47:57 +02:00
8cba42f903 Fixed a bug to allow rumble values 255. /JL 2025-04-20 22:47:18 +02:00
58320211cd Merge pull request 'Added rumble functionality to DualSense controllers. /JL' (#11) from 0.1.2 into main
Reviewed-on: #11
2025-04-20 22:31:15 +02:00
4adc27aec5 Added rumble functionality to DualSense controllers. /JL 2025-04-20 22:30:36 +02:00
758f5b7b3d Merge pull request 'Added close() method to dualsense controller class #8. /JL' (#10) from 0.1.1 into main
Reviewed-on: #10
2025-04-20 12:55:09 +02:00
cccaf0c8cb Added close() method to dualsense controller class #8. /JL 2025-04-20 12:54:08 +02:00
19fee503fa Merge pull request '#8 Added close() to class. /JL' (#9) from 0.1.0 into main
Reviewed-on: #9
2025-04-20 12:48:41 +02:00
fd7a3ea0b5 #8 Added close() to class. /JL 2025-04-20 12:47:14 +02:00
6248124a20 Merge pull request '0.0.7' (#7) from 0.0.7 into main
Reviewed-on: #7
2025-04-20 12:09:11 +02:00
ce694b3625 Update DualSense controllers. /JL 2025-04-20 12:08:16 +02:00
1d65c88a7b Updated dualsense. /JL 2025-04-20 09:19:45 +02:00
5 changed files with 45 additions and 8 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.0.4"
__version__ = "0.1.4"
CONTROLLERS = {
"DualSense Wireless Controller": DualSenseController,

View File

@@ -18,6 +18,12 @@ class DualSenseController(ControlsBase):
self.powerlevel = self.device.battery.Level
self.batterystate = BATTERY_STATE[str(self.device.battery.State)]
self.set_player_id(PlayerID.PLAYER_1)
self.numaxis: int = joy.get_numaxes()
self.axis: list = [joy.get_axis(a) for a in range(self.numaxis)]
self.numhats: int = joy.get_numhats()
self.hats: list = [joy.get_hat(h) for h in range(self.numhats)]
self.numbuttons: int = joy.get_numbuttons()
self.buttons: list = [joy.get_button(b) for b in range(self.numbuttons)]
self.mapping = {
"left stick x": self.axis[0],
"left stick y": self.axis[1],
@@ -43,6 +49,9 @@ class DualSenseController(ControlsBase):
print(f"Power level: {self.powerlevel}")
print(f"Battery state: {self.batterystate}")
def close(self):
self.device.close()
def handle_input(self, event):
pass
@@ -67,9 +76,16 @@ class DualSenseController(ControlsBase):
def pause(self):
pass
def rumble(self):
pass
def rumble(self, left, right):
if not left in range(256) or not right in range(256):
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

@@ -10,6 +10,12 @@ class DualSenseEdgeController(ControlsBase):
self.powerlevel = self.device.battery.Level
self.batterystate = BATTERY_STATE[str(self.device.battery.State)]
self.set_player_id(PlayerID.PLAYER_1)
self.numaxis: int = joy.get_numaxes()
self.axis: list = [joy.get_axis(a) for a in range(self.numaxis)]
self.numhats: int = joy.get_numhats()
self.hats: list = [joy.get_hat(h) for h in range(self.numhats)]
self.numbuttons: int = joy.get_numbuttons()
self.buttons: list = [joy.get_button(b) for b in range(self.numbuttons)]
self.mapping = {
"left stick x": self.axis[0],
"left stick y": self.axis[1],
@@ -35,6 +41,9 @@ class DualSenseEdgeController(ControlsBase):
print(f"Power level: {self.powerlevel}")
print(f"Battery state: {self.batterystate}")
def close(self):
self.device.close()
def handle_input(self, event):
pass
@@ -59,9 +68,16 @@ class DualSenseEdgeController(ControlsBase):
def pause(self):
pass
def rumble(self):
pass
def rumble(self, left, right):
if not left in range(256) or not right in range(256):
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

@@ -55,9 +55,14 @@ class XboxSeriesXController:
def pause(self):
pass
def rumble(self):
pass
def rumble(self, left, right):
if not left in range(256) or not right in range(256):
raise ValueError("left and right values must be in the range 0 - 255")
self.joy.rumble(left, right)
def stop_rumble(self):
self.joy.rumble(0, 0)
@property
def name(self) -> str:
return self._name

View File

@@ -3,7 +3,7 @@ if __name__ == "__main__":
setup(
name='pygameControls',
version='0.0.5',
version='0.1.4',
packages=find_packages(),
install_requires=[],
author='Jan Lerking',