La configurazione di questo controller con raspberry dipende da alcuni parametri settati nei file di configurazione, in alternativa il sistema rileva solo un unico joystick pilotato dalle due levette. Innanzitutto è necessario estrapolare il codice del dispositivo, che deve essere stato rilevato correttamente all’avvio del kernel. Si dà il seguente comando:
# cat /proc/bus/input/devices
I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name=”Xbox Gamepad (userspace driver)”
P: Phys=
S: Sysfs=/devices/virtual/input/input0
U: Uniq=
H: Handlers=js0 event0
B: PROP=0
B: EV=b
B: KEY=7fdb0000 0 0 0 0 0 0 0 0 0
B: ABS=3001b
I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name=”Xbox Gamepad (userspace driver) #2″
P: Phys=
S: Sysfs=/devices/virtual/input/input1
U: Uniq=
H: Handlers=js1 event1
B: PROP=0
B: EV=b
B: KEY=7fdb0000 0 0 0 0 0 0 0 0 0
B: ABS=3001b
I: Bus=0003 Vendor=16c0 Product=05e1 Version=0101
N: Name=”THT THT Arcade console 2P USB Player”
P: Phys=usb-3f980000.usb-1.4/input0
S: Sysfs=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.4/1-1.4:1.0/0003:16C0:05E1.0001/input/input2
U: Uniq=
H: Handlers=js2 event2
B: PROP=0
B: EV=1b
B: KEY=3ff 0 0 0 0 0 0 0 0 0
B: ABS=3
B: MSC=10
I: Bus=0003 Vendor=16c0 Product=05e1 Version=0101
N: Name=”THT THT Arcade console 2P USB Player”
P: Phys=usb-3f980000.usb-1.4/input0
S: Sysfs=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.4/1-1.4:1.0/0003:16C0:05E1.0001/input/input3
U: Uniq=
H: Handlers=js3 event3
B: PROP=0
B: EV=1b
B: KEY=fff 0 0 0 0 0 0 0 0 0
B: ABS=3
B: MSC=10
I parametri che servono sono quelli che compaiono al centro della stringa Sysfs=….. /0003:16C0:05e1………
Questi vanno inseriti nel file /boot/cmdline.txt in fondo all’unica riga presente, aggiungendo la stringa:
usbhid.quirks=0x16c0:0x05e1:0x040
Un bel reboot et voilà.