Kaynağa Gözat

add testing script for 3d ptz joystick

Noah Vogt 3 hafta önce
ebeveyn
işleme
0f0f494ad7
1 değiştirilmiş dosya ile 41 ekleme ve 0 silme
  1. 41 0
      test3djoystick.py

+ 41 - 0
test3djoystick.py

@@ -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()