12 Commits

Author SHA1 Message Date
6eca515cf7 Merge pull request 'Updated Xbox controller. /JL' (#18) from 0.1.9 into main
Reviewed-on: #18
2025-04-20 23:37:38 +02:00
57d2d60f67 Updated Xbox controller. /JL 2025-04-20 23:37:16 +02:00
1ccceeeb06 Merge pull request 'Updated Xbox controller selection. /JL' (#17) from 0.1.8 into main
Reviewed-on: #17
2025-04-20 23:25:30 +02:00
ff3bfc66d2 Updated Xbox controller selection. /JL 2025-04-20 23:25:09 +02:00
5be0dace93 Merge pull request 'Added close() method to all controller classes. /JL' (#16) from 0.1.7 into main
Reviewed-on: #16
2025-04-20 23:21:01 +02:00
d6f72a8e74 Added close() method to all controller classes. /JL 2025-04-20 23:20:37 +02:00
5a5acdf583 Merge pull request 'Added stop_rumble() to all controller classes. /JL' (#15) from 0.1.6 into main
Reviewed-on: #15
2025-04-20 23:15:59 +02:00
9c66fe8930 Added stop_rumble() to all controller classes. /JL 2025-04-20 23:15:35 +02:00
3980bd92ca Merge pull request 'Update Xbox controller. /JL' (#14) from 0.1.5 into main
Reviewed-on: #14
2025-04-20 23:09:50 +02:00
75fb3f577b Update Xbox controller. /JL 2025-04-20 23:09:25 +02:00
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
9 changed files with 54 additions and 9 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.3"
__version__ = "0.1.9"
CONTROLLERS = {
"DualSense Wireless Controller": DualSenseController,
@@ -18,7 +18,7 @@ CONTROLLERS = {
"Logitech Gamepad F510": LogitechF510Controller,
"Logitech Gamepad F710": LogitechF710Controller,
"Logitech Dual Action": LogitechDualActionController,
"X box Series X Controller": XboxSeriesXController
"Xbox Series X Controller": XboxSeriesXController
}
class Controllers:

View File

@@ -30,4 +30,12 @@ class ControlsBase(ABC):
@abstractmethod
def rumble(self):
pass
@abstractmethod
def stop_rumble(self):
pass
@abstractmethod
def close(self):
pass

View File

@@ -36,6 +36,9 @@ class GenericController(ControlsBase):
}
print(f"{self.name} connected.")
def close(self):
pass
def handle_input(self, event):
pass
@@ -57,6 +60,9 @@ class GenericController(ControlsBase):
def rumble(self):
pass
def stop_rumble(self):
pass
@property
def name(self) -> str:
return self._name

View File

@@ -56,7 +56,10 @@ class LogitechDualActionController(ControlsBase):
"logo button": None
}
print(f"{self.name} connected.")
def close(self):
pass
def handle_input(self, event):
pass
@@ -78,6 +81,9 @@ class LogitechDualActionController(ControlsBase):
def rumble(self):
pass
def stop_rumble(self):
pass
@property
def name(self) -> str:
return self._name

View File

@@ -57,6 +57,9 @@ class LogitechF310Controller(ControlsBase):
}
print(f"{self.name} connected.")
def close(self):
pass
def handle_input(self, event):
pass
@@ -78,6 +81,9 @@ class LogitechF310Controller(ControlsBase):
def rumble(self):
pass
def stop_rumble(self):
pass
@property
def name(self) -> str:
return self._name

View File

@@ -59,6 +59,9 @@ class LogitechF510Controller(ControlsBase):
}
print(f"{self.name} connected.")
def close(self):
pass
def handle_input(self, event):
pass
@@ -80,6 +83,9 @@ class LogitechF510Controller(ControlsBase):
def rumble(self):
pass
def stop_rumble(self):
pass
@property
def name(self) -> str:
return self._name

View File

@@ -59,6 +59,9 @@ class LogitechF710Controller(ControlsBase):
}
print(f"{self.name} connected.")
def close(self):
pass
def handle_input(self, event):
pass
@@ -80,6 +83,9 @@ class LogitechF710Controller(ControlsBase):
def rumble(self):
pass
def stop_rumble(self):
pass
@property
def name(self) -> str:
return self._name

View File

@@ -1,7 +1,6 @@
import time
import threading
from pygameControls.controlsbase import ControlsBase
class XboxSeriesXController:
class XboxSeriesXController(ControlsBase):
def __init__(self, joy):
self.device = joy
self.instance_id: int = self.device.get_instance_id()
@@ -37,6 +36,9 @@ class XboxSeriesXController:
}
print(f"{self.name} connected.")
def close(self):
self.device.quit()
def handle_input(self, event):
pass
@@ -55,9 +57,14 @@ class XboxSeriesXController:
def pause(self):
pass
def rumble(self):
pass
def rumble(self, left, right, duration=0):
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.rumble(left / 255, right / 255, duration)
def stop_rumble(self):
self.device.stop_rumble()
@property
def name(self) -> str:
return self._name

View File

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