10 Commits

9 changed files with 50 additions and 10 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.4"
__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,13 +57,13 @@ class XboxSeriesXController:
def pause(self):
pass
def rumble(self, left, right):
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.joy.rumble(left, right)
self.device.rumble(left / 255, right / 255, duration)
def stop_rumble(self):
self.joy.rumble(0, 0)
self.device.stop_rumble()
@property
def name(self) -> str:

View File

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