Compare commits
18 Commits
Author | SHA1 | Date | |
---|---|---|---|
6eca515cf7 | |||
57d2d60f67 | |||
1ccceeeb06 | |||
ff3bfc66d2 | |||
5be0dace93 | |||
d6f72a8e74 | |||
5a5acdf583 | |||
9c66fe8930 | |||
3980bd92ca | |||
75fb3f577b | |||
b9a9d60e52 | |||
e0609fd526 | |||
e9a7764459 | |||
8cba42f903 | |||
58320211cd | |||
4adc27aec5 | |||
758f5b7b3d | |||
cccaf0c8cb |
@@ -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.0"
|
||||
__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:
|
||||
|
@@ -30,4 +30,12 @@ class ControlsBase(ABC):
|
||||
|
||||
@abstractmethod
|
||||
def rumble(self):
|
||||
pass
|
||||
|
||||
@abstractmethod
|
||||
def stop_rumble(self):
|
||||
pass
|
||||
|
||||
@abstractmethod
|
||||
def close(self):
|
||||
pass
|
@@ -49,7 +49,7 @@ class DualSenseController(ControlsBase):
|
||||
print(f"Power level: {self.powerlevel}")
|
||||
print(f"Battery state: {self.batterystate}")
|
||||
|
||||
def __leave__(self):
|
||||
def close(self):
|
||||
self.device.close()
|
||||
|
||||
def handle_input(self, event):
|
||||
@@ -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(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
|
||||
|
@@ -41,7 +41,7 @@ class DualSenseEdgeController(ControlsBase):
|
||||
print(f"Power level: {self.powerlevel}")
|
||||
print(f"Battery state: {self.batterystate}")
|
||||
|
||||
def __leave__(self):
|
||||
def close(self):
|
||||
self.device.close()
|
||||
|
||||
def handle_input(self, event):
|
||||
@@ -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(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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
Reference in New Issue
Block a user