Есть клон Nintendo Switch Pro controller, который умеет работать в режиме Xbox360 и «Dinput For Windows», если его переключить. В режиме Dinput не задействуется гироскоп, наличие которого я, таки, хочу выяснить. Сабж в Dmesg, в нормальном режиме:
[ +2,111243] usb 3-5: new full-speed USB device number 21 using xhci_hcd
[ +0,140036] usb 3-5: device descriptor read/64, error -71
[ +0,217999] usb 3-5: device descriptor read/64, error -71
[ +0,218943] usb 3-5: new full-speed USB device number 22 using xhci_hcd
[ +0,214631] usb 3-5: config 1 has an invalid interface number: 1 but max is 0
[ +0,000004] usb 3-5: config 1 has an invalid interface number: 2 but max is 0
[ +0,000002] usb 3-5: config 1 has an invalid interface number: 3 but max is 0
[ +0,000001] usb 3-5: config 1 has 4 interfaces, different from the descriptor's value: 1
[ +0,009297] usb 3-5: New USB device found, idVendor=045e, idProduct=028e, bcdDevice= 1.02
[ +0,000006] usb 3-5: New USB device strings: Mfr=0, Product=2, SerialNumber=3
[ +0,000001] usb 3-5: Product: XBOX 360 For Windows
[ +0,000002] usb 3-5: SerialNumber: 000000000001
[ +0,027516] input: Microsoft X-Box 360 pad as /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb3/3-5/3-5:1.0/input/input41
В режиме Dinput:
[ +3,848211] usb 3-5: USB disconnect, device number 22
[ +0,274452] usb 3-5: new full-speed USB device number 23 using xhci_hcd
[ +0,223406] usb 3-5: New USB device found, idVendor=2563, idProduct=0575, bcdDevice= 1.00
[ +0,000006] usb 3-5: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ +0,000002] usb 3-5: Product: Controller (Dinput For Windows)
[ +0,000001] usb 3-5: Manufacturer: Nintendo Co., Ltd.
[ +0,019471] input: Nintendo Co., Ltd. Controller (Dinput For Windows) as /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb3/3-5/3-5:1.0/0003:2563:0575.0008/input/input42
[ +0,000086] hid-generic 0003:2563:0575.0008: input,hidraw5: USB HID v1.11 Gamepad [Nintendo Co., Ltd. Controller (Dinput For Windows)] on usb-0000:16:00.0-5/input0
И я подумал…
А если сделать какой-нибудь ремап/блэклист режима Dinput для данного контроллера и, вместо этого, подсунуть ему hid-nintendo? Такое возможно? Как и чем это делается? Udev?
