Support 3d connexion space mouse
I'm testing this device and is working as expected, but userspace drivers are using x11 events.
https://github.com/FreeSpacenav/spacenavd/issues/58
I test the usb device itself and report is really simple (two buttons and 6 axis):
$ sudo usbhid-dump -a1:13 -i0 | grep -v : | xxd -r -p | hidrd-convert -o spec
Usage Page (Desktop), ; Generic desktop controls (01h)
Usage (Multi Axis Ctrl), ; Multi-axis controller (08h, application collection)
Collection (Application),
Collection (Physical),
Report ID (1),
Logical Minimum (-350),
Logical Maximum (350),
Physical Minimum (-1400),
Physical Maximum (1400),
Unit Exponent (12),
Unit (Centimeter),
Usage (X), ; X (30h, dynamic value)
Usage (Y), ; Y (31h, dynamic value)
Usage (Z), ; Z (32h, dynamic value)
Report Size (16),
Report Count (3),
Input (Variable, Relative),
End Collection,
Collection (Physical),
Report ID (2),
Usage (Rx), ; Rx (33h, dynamic value)
Usage (Ry), ; Ry (34h, dynamic value)
Usage (Rz), ; Rz (35h, dynamic value)
Report Size (16),
Report Count (3),
Input (Variable, Relative),
End Collection,
Collection (Logical),
Report ID (3),
Usage Page (Desktop), ; Generic desktop controls (01h)
Usage Page (Button), ; Button (09h)
Usage Minimum (01h),
Usage Maximum (02h),
Logical Minimum (0),
Logical Maximum (1),
Physical Minimum (0),
Physical Maximum (1),
Report Size (1),
Report Count (2),
Input (Variable),
Report Count (14),
Input (Constant, Variable),
End Collection,
Collection (Logical),
Report ID (4),
Usage Page (LED), ; LEDs (08h)
Usage (4Bh),
Logical Minimum (0),
Logical Maximum (1),
Report Count (1),
Report Size (1),
Output (Variable),
Report Count (1),
Report Size (7),
Output (Constant, Variable),
End Collection,
Usage Page (FF00h), ; FF00h, vendor-defined
Usage (01h),
Collection (Logical),
Logical Minimum (-128),
Logical Maximum (127),
Report Size (8),
Usage (3Ah),
Collection (Logical),
Report ID (5),
Usage (20h),
Report Count (1),
Feature (Variable),
End Collection,
Collection (Logical),
Report ID (6),
Usage (21h),
Report Count (1),
Feature (Variable),
End Collection,
Collection (Logical),
Report ID (7),
Usage (22h),
Report Count (1),
Feature (Variable),
End Collection,
Collection (Logical),
Report ID (8),
Usage (23h),
Report Count (7),
Feature (Variable),
End Collection,
Collection (Logical),
Report ID (9),
Usage (24h),
Report Count (7),
Feature (Variable),
End Collection,
Collection (Logical),
Report ID (10),
Usage (25h),
Report Count (7),
Feature (Variable),
End Collection,
Collection (Logical),
Report ID (11),
Usage (26h),
Report Count (1),
Feature (Variable),
End Collection,
Collection (Logical),
Report ID (19),
Usage (2Eh),
Report Count (1),
Feature (Variable),
End Collection,
Collection (Logical),
Report ID (25),
Usage (31h),
Report Count (4),
Feature (Variable),
End Collection,
End Collection,
End Collection
evtest is too really simple:
Input driver version is 1.0.1
Input device ID: bus 0x3 vendor 0x46d product 0xc626 version 0x111
Input device name: "3Dconnexion SpaceNavigator"
Supported events:
Event type 0 (EV_SYN)
Event type 1 (EV_KEY)
Event code 256 (BTN_0)
Event code 257 (BTN_1)
Event type 2 (EV_REL)
Event code 0 (REL_X)
Event code 1 (REL_Y)
Event code 2 (REL_Z)
Event code 3 (REL_RX)
Event code 4 (REL_RY)
Event code 5 (REL_RZ)
Event type 4 (EV_MSC)
Event code 4 (MSC_SCAN)
Event type 17 (EV_LED)
Event code 8 (LED_MISC) state 0
Properties:
Testing ... (interrupt to exit)
Event: time 1644343535.132211, type 2 (EV_REL), code 4 (REL_RY), value 3
Event: time 1644343535.132211, -------------- SYN_REPORT ------------
Event: time 1644343535.148180, type 2 (EV_REL), code 4 (REL_RY), value 10
Event: time 1644343535.148180, -------------- SYN_REPORT ------------
Event: time 1644343535.164186, type 2 (EV_REL), code 4 (REL_RY), value 13
Event: time 1644343535.164186, -------------- SYN_REPORT ------------
Event: time 1644343535.180201, type 2 (EV_REL), code 4 (REL_RY), value 14
Event: time 1644343535.180201, -------------- SYN_REPORT ------------
Event: time 1644343535.196189, type 2 (EV_REL), code 4 (REL_RY), value 18
Event: time 1644343535.196189, -------------- SYN_REPORT ------------
Event: time 1644343535.212294, type 2 (EV_REL), code 4 (REL_RY), value 21
Event: time 1644343535.212294, -------------- SYN_REPORT ------------
Event: time 1644343535.228181, type 2 (EV_REL), code 4 (REL_RY), value 22
Event: time 1644343535.228181, -------------- SYN_REPORT ------------
Event: time 1644343535.236205, type 2 (EV_REL), code 1 (REL_Y), value 1
Event: time 1644343535.236205, -------------- SYN_REPORT ------------
Event: time 1644343535.244166, type 2 (EV_REL), code 4 (REL_RY), value 25
Event: time 1644343535.244166, -------------- SYN_REPORT ------------
Event: time 1644343535.252187, type 2 (EV_REL), code 1 (REL_Y), value 5
Event: time 1644343535.252187, -------------- SYN_REPORT ------------
...
How can this device by detect by libinput?