GUID identification used to determine gamepad. /JL
This commit is contained in:
@@ -30,7 +30,7 @@ class TextPrint:
|
||||
|
||||
def main():
|
||||
# Set the width and height of the screen (width, height), and name the window.
|
||||
screen = pygame.display.set_mode((500, 700))
|
||||
screen = pygame.display.set_mode((800, 700))
|
||||
pygame.display.set_caption("Joystick example")
|
||||
|
||||
# Used to manage how fast the screen updates.
|
||||
|
55
joystick_debug.py
Normal file
55
joystick_debug.py
Normal file
@@ -0,0 +1,55 @@
|
||||
import os
|
||||
import pygame
|
||||
from evdev import InputDevice, list_devices
|
||||
|
||||
def format_vidpid(info):
|
||||
return f"{info.vendor:04x}:{info.product:04x}"
|
||||
|
||||
def get_evdev_devices():
|
||||
evdev_devices = {}
|
||||
for path in list_devices():
|
||||
try:
|
||||
dev = InputDevice(path)
|
||||
evdev_devices[os.path.basename(path)] = {
|
||||
'name': dev.name,
|
||||
'phys': dev.phys,
|
||||
'vidpid': format_vidpid(dev.info),
|
||||
'path': path
|
||||
}
|
||||
except Exception:
|
||||
pass
|
||||
return evdev_devices
|
||||
|
||||
def match_evdev_to_pygame():
|
||||
pygame.init()
|
||||
pygame.joystick.init()
|
||||
|
||||
evdev_devices = get_evdev_devices()
|
||||
|
||||
for i in range(pygame.joystick.get_count()):
|
||||
js = pygame.joystick.Joystick(i)
|
||||
js.init()
|
||||
name = js.get_name()
|
||||
guid = js.get_guid()
|
||||
|
||||
# Try to guess the matching evdev device based on name
|
||||
matched = None
|
||||
for ev in evdev_devices.values():
|
||||
if name.lower() in ev['name'].lower() or ev['name'].lower() in name.lower():
|
||||
matched = ev
|
||||
break
|
||||
|
||||
print(f"Joystick {i}:")
|
||||
print(f" pygame name : {name}")
|
||||
print(f" pygame guid : {guid}")
|
||||
if matched:
|
||||
print(f" evdev name : {matched['name']}")
|
||||
print(f" path : {matched['path']}")
|
||||
print(f" phys : {matched['phys']}")
|
||||
print(f" VID:PID : {matched['vidpid']}")
|
||||
else:
|
||||
print(f" evdev info : [not matched]")
|
||||
print("-" * 40)
|
||||
|
||||
if __name__ == "__main__":
|
||||
match_evdev_to_pygame()
|
2
main.py
2
main.py
@@ -1,8 +1,10 @@
|
||||
import pygame
|
||||
import pygameControls as PC
|
||||
from pygameControls import globals
|
||||
|
||||
if __name__ == "__main__":
|
||||
pygame.init()
|
||||
globals.init()
|
||||
|
||||
done = False
|
||||
|
||||
|
@@ -1,57 +1,21 @@
|
||||
import pygame
|
||||
from .globals import *
|
||||
from evdev import InputDevice, list_devices
|
||||
from .controlsbase import ControlsBase
|
||||
from .dualsense_controller import DualSenseController
|
||||
from .dualsense_edge_controller import DualSenseEdgeController
|
||||
from .logitech_f310_controller import LogitechF310Controller
|
||||
from .logitech_f510_controller import LogitechF510Controller
|
||||
from .logitech_f710_controller import LogitechF710Controller
|
||||
from .xbox_series_x_controller import XboxSeriesXController
|
||||
from .sony_playstation3_controller import SonyPlayStation3Controller
|
||||
from .playstation3_controller import PlayStation3Controller
|
||||
from .sony_playstation4_controller import SonyPlayStation4Controller
|
||||
from .playstation4_controller import PlayStation4Controller
|
||||
from .generic_controller import GenericController
|
||||
from .logitech_dual_action_controller import LogitechDualActionController
|
||||
from .enums import InputType
|
||||
from . import globals
|
||||
|
||||
__version__ = "0.2.0"
|
||||
|
||||
CONTROLLERS = {
|
||||
"DualSense Wireless Controller": DualSenseController,
|
||||
"DualSense Edge Wireless Controller": DualSenseEdgeController,
|
||||
"Logitech Gamepad F310": LogitechF310Controller,
|
||||
"Logitech Gamepad F510": LogitechF510Controller,
|
||||
"Logitech Gamepad F710": LogitechF710Controller,
|
||||
"Logitech Dual Action": LogitechDualActionController,
|
||||
"Microsoft X-Box 360 pad": LogitechDualActionController
|
||||
"Xbox Series X Controller": XboxSeriesXController,
|
||||
"Sony PLAYSTATION(R)3 Controller": SonyPlayStation3Controller,
|
||||
"PLAYSTATION(R)3 Controller": PlayStation3Controller,
|
||||
"Sony PLAYSTATION(R)4 Controller": SonyPlayStation4Controller,
|
||||
"PLAYSTATION(R)4 Controller": PlayStation4Controller
|
||||
}
|
||||
|
||||
class Controllers:
|
||||
def __init__(self, joy):
|
||||
self.controllers = []
|
||||
if not joy.get_name() in CONTROLLERS:
|
||||
self.controllers.append(GenericController(joy, self.get_connection_type(joy.get_name())))
|
||||
else:
|
||||
self.controllers.append(CONTROLLERS[joy.get_name()](joy, self.get_connection_type(joy.get_name())))
|
||||
|
||||
def get_connection_type(self, controller_name):
|
||||
for path in list_devices()
|
||||
device = InputDevice(path)
|
||||
name = device.name.lower()
|
||||
if name != controller_name.lower():
|
||||
continue
|
||||
|
||||
if 'usb' in device.phys.lower():
|
||||
return 'usb'
|
||||
elif 'bluetooth' in device.phys.lower():
|
||||
return 'bluetooth'
|
||||
elif 'rf' in device.phys.lower() or 'wireless' in name:
|
||||
return 'wireless'
|
||||
cont = self.detect_controller(joy.get_guid())
|
||||
print(cont)
|
||||
self.controllers.append(cont(joy))
|
||||
|
||||
def detect_controller(self, guid):
|
||||
for gp in globals.GAMEPADS:
|
||||
print(gp)
|
||||
for p in globals.GAMEPADS[gp]:
|
||||
print(p)
|
||||
if p["guid"] != guid:
|
||||
continue
|
||||
return p["class"]
|
||||
return globals.CONTROLLERS["Generic Controller"]
|
@@ -1,5 +1,5 @@
|
||||
from pygameControls.controlsbase import ControlsBase
|
||||
from enums import ConnectionType
|
||||
from .enums import ConnectionType
|
||||
from pydualsense import *
|
||||
|
||||
BATTERY_STATE = {
|
||||
@@ -12,12 +12,11 @@ BATTERY_STATE = {
|
||||
}
|
||||
|
||||
class DualSenseController(ControlsBase):
|
||||
def __init__(self, joy, connection_type):
|
||||
def __init__(self, joy):
|
||||
self.device = pydualsense()
|
||||
self.device.init()
|
||||
self.name = self.device.device.get_product_string()
|
||||
self.guid = self.device.get_guid()
|
||||
self.connection_type = ConnectionType(connection_type.values())
|
||||
self.powerlevel = self.device.battery.Level
|
||||
self.batterystate = BATTERY_STATE[str(self.device.battery.State)]
|
||||
self.set_player_id(PlayerID.PLAYER_1)
|
||||
@@ -43,7 +42,6 @@ class DualSenseController(ControlsBase):
|
||||
print(f"{self.name} connected")
|
||||
print(f"Power level: {self.powerlevel}")
|
||||
print(f"Battery state: {self.batterystate}")
|
||||
print(f"Connection type: {connection_type.capitalize()}")
|
||||
|
||||
def close(self):
|
||||
self.device.close()
|
||||
|
@@ -4,12 +4,11 @@ from pydualsense import *
|
||||
|
||||
|
||||
class DualSenseEdgeController(ControlsBase):
|
||||
def __init__(self, joy, connection_type):
|
||||
def __init__(self, joy):
|
||||
self.device = pydualsense()
|
||||
self.device.init()
|
||||
self.name = self.device.device.get_product_string()
|
||||
self.guid = self.device.get_guid()
|
||||
self.connection_type = ConnectionType(connection_type.values())
|
||||
self.powerlevel = self.device.battery.Level
|
||||
self.batterystate = BATTERY_STATE[str(self.device.battery.State)]
|
||||
self.set_player_id(PlayerID.PLAYER_1)
|
||||
@@ -43,7 +42,6 @@ class DualSenseEdgeController(ControlsBase):
|
||||
print(f"{self.name} connected")
|
||||
print(f"Power level: {self.powerlevel}")
|
||||
print(f"Battery state: {self.batterystate}")
|
||||
print(f"Connection type: {connection_type.capitalize()}")
|
||||
|
||||
def close(self):
|
||||
self.device.close()
|
||||
|
@@ -3,12 +3,11 @@ from pygameControls.controlsbase import ControlsBase
|
||||
from enums import ConnectionType
|
||||
|
||||
class GenericController(ControlsBase):
|
||||
def __init__(self, joy, connection_type):
|
||||
def __init__(self, joy):
|
||||
self.device = joy
|
||||
self.instance_id: int = self.device.get_instance_id()
|
||||
self.name = self.device.get_name()
|
||||
self.guid = self.device.get_guid()
|
||||
self.connection_type = ConnectionType(connection_type.values())
|
||||
self.numaxis: int = self.device.get_numaxes()
|
||||
self.axis: list = [self.device.get_axis(a) for a in range(self.numaxis)]
|
||||
self.numhats: int = self.device.get_numhats()
|
||||
@@ -31,7 +30,6 @@ class GenericController(ControlsBase):
|
||||
"logo button": None
|
||||
}
|
||||
print(f"{self.name} connected.")
|
||||
print(f"Connection type: {connection_type.capitalize()}")
|
||||
|
||||
def close(self):
|
||||
pass
|
||||
|
@@ -1,117 +1,207 @@
|
||||
from .enums import ConnectionType, InputType
|
||||
|
||||
VID_PID = {
|
||||
"046d:c216": "Logitech Gamepad F310",
|
||||
"046d:c21d": "Microsoft X-Box 360 pad",
|
||||
"046d:c21d": "Logitech Dual Action",
|
||||
"045e:0b12": "Xbox Series X Controller",
|
||||
"045e:0b13": "Xbox Series X Controller",
|
||||
"045e:0b20": "Xbox Series X Controller",
|
||||
"045e:0b21": "Xbox Series X Controller",
|
||||
"054c:0ce6": "DualSense Wireless Controller",
|
||||
"054c:0df2": "DualSense Wireless Controller",
|
||||
}
|
||||
from .controlsbase import ControlsBase
|
||||
from .dualsense_controller import DualSenseController
|
||||
from .dualsense_edge_controller import DualSenseEdgeController
|
||||
from .logitech_f310_controller import LogitechF310Controller
|
||||
from .logitech_f510_controller import LogitechF510Controller
|
||||
from .logitech_f710_controller import LogitechF710Controller
|
||||
from .xbox_series_x_controller import XboxSeriesXController
|
||||
from .sony_playstation3_controller import SonyPlayStation3Controller
|
||||
from .playstation3_controller import PlayStation3Controller
|
||||
from .sony_playstation4_controller import SonyPlayStation4Controller
|
||||
from .playstation4_controller import PlayStation4Controller
|
||||
from .generic_controller import GenericController
|
||||
from .logitech_dual_action_controller import LogitechDualActionController
|
||||
|
||||
CONTROLLERS = {
|
||||
"DualSense Wireless Controller": DualSenseController,
|
||||
"DualSense Edge Wireless Controller": DualSenseEdgeController,
|
||||
"Logitech Gamepad F310": LogitechF310Controller,
|
||||
"Logitech Gamepad F510": LogitechF510Controller,
|
||||
"Logitech Gamepad F710": LogitechF710Controller,
|
||||
"Logitech Dual Action": LogitechDualActionController,
|
||||
"Microsoft X-Box 360 pad": LogitechDualActionController
|
||||
"Xbox Series X Controller": XboxSeriesXController,
|
||||
"Sony PLAYSTATION(R)3 Controller": SonyPlayStation3Controller,
|
||||
"PLAYSTATION(R)3 Controller": PlayStation3Controller,
|
||||
"Sony PLAYSTATION(R)4 Controller": SonyPlayStation4Controller,
|
||||
"PLAYSTATION(R)4 Controller": PlayStation4Controller
|
||||
def init():
|
||||
global VID_PID
|
||||
VID_PID = {
|
||||
"046d:c216": "Logitech Gamepad F310",
|
||||
"046d:c21d": "Microsoft X-Box 360 pad",
|
||||
"046d:c21d": "Logitech Dual Action",
|
||||
"045e:0b12": "Xbox Series X Controller",
|
||||
"045e:0b13": "Xbox Series X Controller",
|
||||
"045e:0b20": "Xbox Series X Controller",
|
||||
"045e:0b21": "Xbox Series X Controller",
|
||||
"054c:0ce6": "DualSense Wireless Controller",
|
||||
"054c:0df2": "DualSense Wireless Controller",
|
||||
}
|
||||
|
||||
GAMEPADS = {
|
||||
"Sony DualSense (PS5)": {
|
||||
[
|
||||
"vidpid": "054c:0ce6",
|
||||
"guid": "030000004c0500000c0e000011010000",
|
||||
"connection": ConnectionType.USB,
|
||||
"input": InputType.DirectInput,
|
||||
"name": ["DualSense Wireless Controller"],
|
||||
"class": CONTROLLERS[DualSenseController]
|
||||
global CONTROLLERS
|
||||
CONTROLLERS = {
|
||||
"DualSense Wireless Controller": DualSenseController,
|
||||
"DualSense Edge Wireless Controller": DualSenseEdgeController,
|
||||
"Logitech Gamepad F310": LogitechF310Controller,
|
||||
"Logitech Gamepad F510": LogitechF510Controller,
|
||||
"Logitech Gamepad F710": LogitechF710Controller,
|
||||
"Logitech Dual Action": LogitechDualActionController,
|
||||
"Microsoft X-Box 360 pad": LogitechDualActionController,
|
||||
"Xbox Series X Controller": XboxSeriesXController,
|
||||
"Sony PLAYSTATION(R)3 Controller": SonyPlayStation3Controller,
|
||||
"PLAYSTATION(R)3 Controller": PlayStation3Controller,
|
||||
"Sony PLAYSTATION(R)4 Controller": SonyPlayStation4Controller,
|
||||
"PLAYSTATION(R)4 Controller": PlayStation4Controller,
|
||||
"Generic Controller": GenericController
|
||||
}
|
||||
global GAMEPADS
|
||||
GAMEPADS = {
|
||||
"Sony Controller": [
|
||||
{
|
||||
"vidpid": "054c:0ce6",
|
||||
"guid": "0300fd574c050000e60c000011810000",
|
||||
"connection": ConnectionType.USB,
|
||||
"input": InputType.DirectInput,
|
||||
"name": [
|
||||
"Sony Interactive Entertainment DualSense Wireless Controller",
|
||||
"Sony Corp. DualSense wireless controller (PS5)",
|
||||
"DualSense Wireless Controller"
|
||||
],
|
||||
"class": CONTROLLERS["DualSense Wireless Controller"]
|
||||
},
|
||||
{
|
||||
"vidpid": "054c:0df2",
|
||||
"guid": "050057564c050000e60c000000810000",
|
||||
"connection": ConnectionType.BLUETOOTH,
|
||||
"input": InputType.DirectInput,
|
||||
"name": [
|
||||
"DualSense Wireless Controller"
|
||||
],
|
||||
"class": CONTROLLERS["DualSense Wireless Controller"]
|
||||
},
|
||||
{
|
||||
"vidpid": "054c:0dfc",
|
||||
"guid": "",
|
||||
"connection": ConnectionType.USB,
|
||||
"input": InputType.DirectInput,
|
||||
"name": ["DualSense Edge Wireless Controller"],
|
||||
"class": CONTROLLERS["DualSense Edge Wireless Controller"]
|
||||
},
|
||||
{
|
||||
"vidpid": "054c:0dfc",
|
||||
"guid": "",
|
||||
"connection": ConnectionType.BLUETOOTH,
|
||||
"input": InputType.DirectInput,
|
||||
"name": ["DualSense Edge Wireless Controller"],
|
||||
"class": CONTROLLERS["DualSense Edge Wireless Controller"]
|
||||
},
|
||||
{
|
||||
"vidpid": "054c:0268",
|
||||
"guid": "0300afd34c0500006802000011810000",
|
||||
"connection": ConnectionType.USB,
|
||||
"input": InputType.DirectInput,
|
||||
"name": ["Sony PLAYSTATION(R)3 Controller"],
|
||||
"class": CONTROLLERS["Sony PLAYSTATION(R)3 Controller"]
|
||||
},
|
||||
{
|
||||
"vidpid": "",
|
||||
"guid": "0500f9d24c0500006802000000800000",
|
||||
"connection": ConnectionType.BLUETOOTH,
|
||||
"input": InputType.DirectInput,
|
||||
"name": ["PLAYSTATION(R)3 Controller"],
|
||||
"class": CONTROLLERS["PLAYSTATION(R)3 Controller"]
|
||||
},
|
||||
{
|
||||
"vidpid": "054c:05c4",
|
||||
"guid": "",
|
||||
"connection": ConnectionType.USB,
|
||||
"input": InputType.DirectInput,
|
||||
"name": ["DualShock 4 v1 Controller"],
|
||||
"class": CONTROLLERS["PLAYSTATION(R)4 Controller"]
|
||||
},
|
||||
{
|
||||
"vidpid": "054c:05c4",
|
||||
"guid": "",
|
||||
"connection": ConnectionType.BLUETOOTH,
|
||||
"input": InputType.DirectInput,
|
||||
"name": ["DualShock 4 v1 Controller"],
|
||||
"class": CONTROLLERS["Sony PLAYSTATION(R)4 Controller"]
|
||||
},
|
||||
{
|
||||
"vidpid": "054c:09cc",
|
||||
"guid": "",
|
||||
"connection": ConnectionType.USB,
|
||||
"input": InputType.DirectInput,
|
||||
"name": ["DualShock 4 v2 Controller"],
|
||||
"class": CONTROLLERS["PLAYSTATION(R)4 Controller"]
|
||||
},
|
||||
{
|
||||
"vidpid": "054c:09cc",
|
||||
"guid": "",
|
||||
"connection": ConnectionType.BLUETOOTH,
|
||||
"input": InputType.DirectInput,
|
||||
"name": ["DualShock 4 v2 Controller"],
|
||||
"class": CONTROLLERS["Sony PLAYSTATION(R)4 Controller"]
|
||||
}
|
||||
],
|
||||
[
|
||||
"vidpid": "054c:0df2",
|
||||
"guid": "030000004c0500000c0e000011010000",
|
||||
"connection": ConnectionType.BLUETOOTH,
|
||||
"input": InputType.DirectInput,
|
||||
"name" ["DualSense Wireless Controller"],
|
||||
"class": CONTROLLERS[DualSenseController]
|
||||
]
|
||||
},
|
||||
"Sony DualSense Edge (PS5)": {
|
||||
[
|
||||
"vidhid": "054c:0dfc",
|
||||
"connection": ConnectionType.USB,
|
||||
"input": InputType.DirectInput,
|
||||
"name" ["DualSense Edge Wireless Controller"],
|
||||
"class": CONTROLLERS[DualSenseEdgeController]
|
||||
"Microsoft Controller": [
|
||||
{
|
||||
"vidpid": "045e:0b12",
|
||||
"guid": "0300509d5e040000120b000017050000",
|
||||
"connection": ConnectionType.USB,
|
||||
"input": InputType.XInput,
|
||||
"name": [
|
||||
"Xbox Series X Controller",
|
||||
"Microsoft Corp. Xbox Controller"
|
||||
],
|
||||
"class": CONTROLLERS["Xbox Series X Controller"]
|
||||
},
|
||||
{
|
||||
"vidpid": "045e:0b13",
|
||||
"guid": "0500509d5e040000130b000023050000",
|
||||
"connection": ConnectionType.BLUETOOTH,
|
||||
"input": InputType.XInput,
|
||||
"name": [
|
||||
"Xbox Series X Controller",
|
||||
"Xbox Wireless Controller"
|
||||
],
|
||||
"class": CONTROLLERS["Xbox Series X Controller"]
|
||||
}
|
||||
],
|
||||
[
|
||||
"vidhid": "054c:0dfc",
|
||||
"connection": ConnectionType.BLUETOOTH,
|
||||
"input": InputType.DirectInput,
|
||||
"name": ["DualSense Edge Wireless Controller"],
|
||||
"class": CONTROLLERS[DualSenseEdgeController]
|
||||
]
|
||||
},
|
||||
"Sony DualShock 3 (PS3)": {
|
||||
[
|
||||
"vidhid": "054c:0268",
|
||||
"connection": ConnectionType.USB,
|
||||
"input": InputType.DirectInput,
|
||||
"name": ["PLAYSTATION(R) 3 Controller"],
|
||||
"class": CONTROLLERS[PlayStation3Controller]
|
||||
],
|
||||
[
|
||||
"vidhid": None,
|
||||
"connection": ConnectionType.BLUETOOTH,
|
||||
"input": InputType.DirectInput,
|
||||
"name": ["Sony PLAYSTATION(R) 3 Controller"],
|
||||
"class": CONTROLLERS[SonyPlayStation3Controller]
|
||||
]
|
||||
},
|
||||
"Sony DualShock 4 v1 (PS4)": {
|
||||
[
|
||||
"vidhid": "054c:05c4",
|
||||
"guid": "",
|
||||
"connection": ConnectionType.USB,
|
||||
"input": InputType.DirectInput,
|
||||
"name": ["DualShock 4 v1 Controller"],
|
||||
"class": CONTROLLERS["PLAYSTATION(R)4 Controller"]
|
||||
],
|
||||
[
|
||||
"vidhid": "054c:05c4",
|
||||
"guid": "",
|
||||
"connection": ConnectionType.BLUETOOTH,
|
||||
"input": InputType.DirectInput,
|
||||
"name": ["DualShock 4 v1 Controller"],
|
||||
"class": CONTROLLERS["Sony PLAYSTATION(R)4 Controller"]
|
||||
]
|
||||
},
|
||||
"Sony DualShock 4 v2 (PS4)": {
|
||||
[
|
||||
"vidhid": "054c:09cc",
|
||||
"guid": "",
|
||||
"connection": ConnectionType.USB,
|
||||
"input": InputType.DirectInput,
|
||||
"name": ["DualShock 4 v2 Controller"],
|
||||
"class": CONTROLLERS["PLAYSTATION(R)4 Controller"]
|
||||
],
|
||||
[
|
||||
"vidhid": "054c:09cc",
|
||||
"guid": "",
|
||||
"connection": ConnectionType.BLUETOOTH,
|
||||
"input": InputType.DirectInput,
|
||||
"name": ["DualShock 4 v2 Controller"],
|
||||
"class": CONTROLLERS["Sony PLAYSTATION(R)4 Controller"]
|
||||
"Logitech Controller": [
|
||||
{
|
||||
"vidpid": "046d:c21d",
|
||||
"guid": "030005ff6d0400001dc2000014400000",
|
||||
"connection": ConnectionType.USB,
|
||||
"input": InputType.XInput,
|
||||
"name": [
|
||||
"Logitech, Inc. F310 Gamepad [XInput Mode]",
|
||||
"Logitech Gamepad F310"
|
||||
],
|
||||
"class": CONTROLLERS["Logitech Gamepad F310"]
|
||||
},
|
||||
{
|
||||
"vidpid": "046d:c216",
|
||||
"guid": "0300040e6d04000016c2000011010000",
|
||||
"connection": ConnectionType.USB,
|
||||
"input": InputType.DirectInput,
|
||||
"name": [
|
||||
"Logitech, Inc. F310 Gamepad [DirectInput Mode]",
|
||||
"Logitech Dual Action",
|
||||
"Logitech Logitech Dual Action"
|
||||
],
|
||||
"class": CONTROLLERS["Logitech Dual Action"]
|
||||
},
|
||||
{
|
||||
"vidpid": "046d:c21d",
|
||||
"guid": "",
|
||||
"connection": ConnectionType.USB,
|
||||
"input": InputType.XInput,
|
||||
"name": [
|
||||
"Logitech, Inc. F710 Gamepad [XInput Mode]",
|
||||
"Logitech Gamepad F710"
|
||||
],
|
||||
"class": CONTROLLERS["Logitech Gamepad F710"]
|
||||
},
|
||||
{
|
||||
"vidpid": "046d:c216",
|
||||
"guid": "",
|
||||
"connection": ConnectionType.USB,
|
||||
"input": InputType.DirectInput,
|
||||
"name": [
|
||||
"Logitech, Inc. F710 Gamepad [DirectInput Mode]",
|
||||
"Logitech Dual Action"
|
||||
],
|
||||
"class": CONTROLLERS["Logitech Dual Action"]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
@@ -17,12 +17,11 @@ from pygameControls.controlsbase import ControlsBase
|
||||
from enums import ConnectionType
|
||||
|
||||
class LogitechDualActionController(ControlsBase):
|
||||
def __init__(self, joy, connection_type):
|
||||
def __init__(self, joy):
|
||||
self.device = joy
|
||||
self.instance_id: int = self.device.get_instance_id()
|
||||
self.name = self.device.get_name()
|
||||
self.guid = self.device.get_guid()
|
||||
self.connection_type = ConnectionType(connection_type.values())
|
||||
self.powerlevel = self.device.get_power_level()
|
||||
self.numaxis: int = self.device.get_numaxes()
|
||||
self.axis: list = [self.device.get_axis(a) for a in range(self.numaxis)]
|
||||
@@ -46,7 +45,6 @@ class LogitechDualActionController(ControlsBase):
|
||||
"logo button": None
|
||||
}
|
||||
print(f"{self.name} connected.")
|
||||
print(f"Connection type: {connection_type.capitalize()}")
|
||||
|
||||
def close(self):
|
||||
pass
|
||||
|
@@ -17,12 +17,11 @@ from pygameControls.controlsbase import ControlsBase
|
||||
from enums import ConnectionType
|
||||
|
||||
class LogitechF310Controller(ControlsBase):
|
||||
def __init__(self, joy, connection_type):
|
||||
def __init__(self, joy):
|
||||
self.device = joy
|
||||
self.instance_id: int = self.device.get_instance_id()
|
||||
self.name = self.device.get_name()
|
||||
self.guid = self.device.get_guid()
|
||||
self.connection_type = ConnectionType(connection_type.values())
|
||||
self.powerlevel = self.device.get_power_level()
|
||||
self.numaxis: int = self.device.get_numaxes()
|
||||
self.axis: list = [self.device.get_axis(a) for a in range(self.numaxis)]
|
||||
@@ -44,7 +43,6 @@ class LogitechF310Controller(ControlsBase):
|
||||
"logo button": 8
|
||||
}
|
||||
print(f"{self.name} connected.")
|
||||
print(f"Connection type: {connection_type.capitalize()}")
|
||||
|
||||
def close(self):
|
||||
pass
|
||||
|
@@ -10,12 +10,11 @@ from pygameControls.controlsbase import ControlsBase
|
||||
from enums import ConnectionType
|
||||
|
||||
class LogitechF510Controller(ControlsBase):
|
||||
def __init__(self, joy, connection_type):
|
||||
def __init__(self, joy):
|
||||
self.device = joy
|
||||
self.instance_id: int = self.device.get_instance_id()
|
||||
self.name = self.device.get_name()
|
||||
self.guid = self.device.get_guid()
|
||||
self.connection_type = ConnectionType(connection_type.values())
|
||||
self.numaxis: int = self.device.get_numaxis()
|
||||
self.axis: list = []
|
||||
self.numhats: int = self.device.get_numhats()
|
||||
@@ -36,7 +35,6 @@ class LogitechF510Controller(ControlsBase):
|
||||
"logo button": 8
|
||||
}
|
||||
print(f"{self.name} connected.")
|
||||
print(f"Connection type: {connection_type.capitalize()}")
|
||||
|
||||
def close(self):
|
||||
pass
|
||||
|
@@ -8,12 +8,11 @@ from pygameControls.controlsbase import ControlsBase
|
||||
from enums import ConnectionType
|
||||
|
||||
class LogitechF710Controller(ControlsBase):
|
||||
def __init__(self, joy, connection_type):
|
||||
def __init__(self, joy):
|
||||
self.device = joy
|
||||
self.instance_id: int = self.device.get_instance_id()
|
||||
self.name = self.device.get_name()
|
||||
self.guid = self.device.get_guid()
|
||||
self.connection_type = ConnectionType(connection_type.values())
|
||||
self.numaxis: int = self.device.get_numaxis()
|
||||
self.axis: list = []
|
||||
self.numhats: int = self.device.get_numhats()
|
||||
@@ -34,7 +33,6 @@ class LogitechF710Controller(ControlsBase):
|
||||
"logo button": 8
|
||||
}
|
||||
print(f"{self.name} connected.")
|
||||
print(f"Connection type: {connection_type.capitalize()}")
|
||||
|
||||
def close(self):
|
||||
pass
|
||||
|
@@ -3,12 +3,11 @@ from enums import ConnectionType
|
||||
import pygame
|
||||
|
||||
class PlayStation3Controller(ControlsBase):
|
||||
def __init__(self, joy, connection_type):
|
||||
def __init__(self, joy):
|
||||
self.device = joy
|
||||
self.instance_id: int = self.device.get_instance_id()
|
||||
self.name = self.device.get_name()
|
||||
self.guid = self.device.get_guid()
|
||||
self.connection_type = ConnectionType(connection_type.values())
|
||||
self.numaxis: int = self.device.get_numaxes()
|
||||
self.axis: list = [self.device.get_axis(a) for a in range(self.numaxis)]
|
||||
self.numhats: int = self.device.get_numhats()
|
||||
@@ -33,7 +32,6 @@ class PlayStation3Controller(ControlsBase):
|
||||
"right button": 16
|
||||
}
|
||||
print(f"{self.name} connected.")
|
||||
print(f"Connection type: {connection_type.capitalize()}")
|
||||
|
||||
def close(self):
|
||||
self.device.quit()
|
||||
|
@@ -3,12 +3,11 @@ from enums import ConnectionType
|
||||
import pygame
|
||||
|
||||
class PlayStation4Controller(ControlsBase):
|
||||
def __init__(self, joy, connection_type):
|
||||
def __init__(self, joy):
|
||||
self.device = joy
|
||||
self.instance_id: int = self.device.get_instance_id()
|
||||
self.name = self.device.get_name()
|
||||
self.guid = self.device.get_guid()
|
||||
self.connection_type = ConnectionType(connection_type.values())
|
||||
self.numaxis: int = self.device.get_numaxes()
|
||||
self.axis: list = [self.device.get_axis(a) for a in range(self.numaxis)]
|
||||
self.numhats: int = self.device.get_numhats()
|
||||
@@ -33,7 +32,6 @@ class PlayStation4Controller(ControlsBase):
|
||||
"right button": 16
|
||||
}
|
||||
print(f"{self.name} connected.")
|
||||
print(f"Connection type: {connection_type.capitalize()}")
|
||||
|
||||
def close(self):
|
||||
self.device.quit()
|
||||
|
@@ -3,12 +3,11 @@ from enums import ConnectionType
|
||||
import pygame
|
||||
|
||||
class SonyPlayStation3Controller(ControlsBase):
|
||||
def __init__(self, joy, connection_type):
|
||||
def __init__(self, joy):
|
||||
self.device = joy
|
||||
self.instance_id: int = self.device.get_instance_id()
|
||||
self.name = self.device.get_name()
|
||||
self.guid = self.device.get_guid()
|
||||
self.connection_type = ConnectionType(connection_type.values())
|
||||
self.numaxis: int = self.device.get_numaxes()
|
||||
self.axis: list = [self.device.get_axis(a) for a in range(self.numaxis)]
|
||||
self.numhats: int = self.device.get_numhats()
|
||||
@@ -33,7 +32,6 @@ class SonyPlayStation3Controller(ControlsBase):
|
||||
"right button": 16
|
||||
}
|
||||
print(f"{self.name} connected.")
|
||||
print(f"Connection type: {connection_type.capitalize()}")
|
||||
|
||||
def close(self):
|
||||
self.device.quit()
|
||||
|
@@ -3,12 +3,11 @@ from enums import ConnectionType
|
||||
import pygame
|
||||
|
||||
class SonyPlayStation4Controller(ControlsBase):
|
||||
def __init__(self, joy, connection_type):
|
||||
def __init__(self, joy):
|
||||
self.device = joy
|
||||
self.instance_id: int = self.device.get_instance_id()
|
||||
self.name = self.device.get_name()
|
||||
self.guid = self.device.get_guid()
|
||||
self.connection_type = ConnectionType(connection_type.values())
|
||||
self.numaxis: int = self.device.get_numaxes()
|
||||
self.axis: list = [self.device.get_axis(a) for a in range(self.numaxis)]
|
||||
self.numhats: int = self.device.get_numhats()
|
||||
@@ -33,7 +32,6 @@ class SonyPlayStation4Controller(ControlsBase):
|
||||
"right button": 16
|
||||
}
|
||||
print(f"{self.name} connected.")
|
||||
print(f"Connection type: {connection_type.capitalize()}")
|
||||
|
||||
def close(self):
|
||||
self.device.quit()
|
||||
|
@@ -3,13 +3,11 @@ from enums import ConnectionType, InputType
|
||||
import pygame
|
||||
|
||||
class Xbox360Controller(ControlsBase):
|
||||
def __init__(self, joy, connection_type):
|
||||
def __init__(self, joy):
|
||||
self.device = joy
|
||||
self.instance_id: int = self.device.get_instance_id()
|
||||
self.name = self.device.get_name()
|
||||
self.guid = self.device.get_guid()
|
||||
self.connection_type = ConnectionType(connection_type.values())
|
||||
self.input_type = InputType.XInput
|
||||
self.numaxis: int = self.device.get_numaxes()
|
||||
self.axis: list = [self.device.get_axis(a) for a in range(self.numaxis)]
|
||||
self.numhats: int = self.device.get_numhats()
|
||||
@@ -31,7 +29,6 @@ class Xbox360Controller(ControlsBase):
|
||||
"copy button": 10
|
||||
}
|
||||
print(f"{self.name} connected.")
|
||||
print(f"Connection type: {connection_type.capitalize()}")
|
||||
|
||||
def close(self):
|
||||
self.device.quit()
|
||||
|
@@ -3,13 +3,11 @@ from enums import ConnectionType
|
||||
import pygame
|
||||
|
||||
class XboxSeriesXController(ControlsBase):
|
||||
def __init__(self, joy, connection_type):
|
||||
def __init__(self, joy):
|
||||
self.device = joy
|
||||
self.instance_id: int = self.device.get_instance_id()
|
||||
self.name = self.device.get_name()
|
||||
self.guid = self.device.get_guid()
|
||||
self.connection_type = ConnectionType(connection_type.values())
|
||||
self.input_type = InputType.XInput
|
||||
self.numaxis: int = self.device.get_numaxes()
|
||||
self.axis: list = [self.device.get_axis(a) for a in range(self.numaxis)]
|
||||
self.numhats: int = self.device.get_numhats()
|
||||
@@ -31,7 +29,6 @@ class XboxSeriesXController(ControlsBase):
|
||||
"copy button": 10
|
||||
}
|
||||
print(f"{self.name} connected.")
|
||||
print(f"Connection type: {connection_type.capitalize()}")
|
||||
|
||||
def close(self):
|
||||
self.device.quit()
|
||||
|
Reference in New Issue
Block a user