|
|
@@ -0,0 +1,41 @@
|
|
|
+import evdev
|
|
|
+from evdev import ecodes
|
|
|
+
|
|
|
+
|
|
|
+def test_joystick():
|
|
|
+ # find the Anxinshi device
|
|
|
+ target_device = None
|
|
|
+ devices = [evdev.InputDevice(path) for path in evdev.list_devices()]
|
|
|
+
|
|
|
+ for device in devices:
|
|
|
+ if "shenzhenxiaolong" in device.name.lower():
|
|
|
+ target_device = device
|
|
|
+ break
|
|
|
+
|
|
|
+ if not target_device:
|
|
|
+ print("Anxinshi device not found. You may not have the permissions.")
|
|
|
+ return
|
|
|
+
|
|
|
+ print(f"Testing Device: {target_device.name}")
|
|
|
+
|
|
|
+ # check capabilities
|
|
|
+ caps = target_device.capabilities()
|
|
|
+ if ecodes.EV_ABS in caps:
|
|
|
+ abs_axes = caps[ecodes.EV_ABS]
|
|
|
+ print(f"Detected {len(abs_axes)} absolute axes.")
|
|
|
+ for axis in abs_axes:
|
|
|
+ axis_code = axis[0]
|
|
|
+ print(f" - Axis found: {ecodes.ABS[axis_code]}")
|
|
|
+
|
|
|
+ print("\n--- Monitoring Movements (Ctrl+C to exit) ---")
|
|
|
+ try:
|
|
|
+ for event in target_device.read_loop():
|
|
|
+ if event.type == ecodes.EV_ABS:
|
|
|
+ axis_name = ecodes.ABS.get(event.code, f"Unknown({event.code})")
|
|
|
+ print(f"Event: {axis_name:<10} Value: {event.value:<5}")
|
|
|
+ except KeyboardInterrupt:
|
|
|
+ print("\nTest finished.")
|
|
|
+
|
|
|
+
|
|
|
+if __name__ == "__main__":
|
|
|
+ test_joystick()
|