I have a gamepad with two joystick on it and it function perfectly if I use windows, but when I plug into Linux the two joysticks functions as one (it will take the same direction whatever of the two I move) and right pad buttons do not work (it has a total of 20 buttons, 10 for each side).
It’s surely not Manjaro specific, but anyway there is some suggestion on how to try to solve it?
Some informations on the device: it’s recognized with “usb ID 0810:e001 Personal Communication Systems, Inc. Twin controller”, and evemu-record is showing:
Available devices:
/dev/input/event21: Twin USB Gamepad
Select the device event number [0-21]: 21
EVEMU 1.3
Kernel: 5.10.89-1-MANJARO
DMI: dmi:bvnAmericanMegatrendsInternational,LLC.:bvrF14f:bd10/13/2021:br5.17:svnGigabyteTechnologyCo.,Ltd.:pnB550MS2H:pvrDefaultstring:rvnGigabyteTechnologyCo.,Ltd.:rnB550MS2H:rvrDefaultstring:cvnDefaultstring:ct3:cvrDefaultstring:
Input device name: "Twin USB Gamepad "
Input device ID: bus 0x03 vendor 0x810 product 0xe001 version 0x110
Supported events:
Event type 0 (EV_SYN)
Event code 0 (SYN_REPORT)
Event code 1 (SYN_CONFIG)
Event code 2 (SYN_MT_REPORT)
Event code 3 (SYN_DROPPED)
Event code 4 ((null))
Event code 5 ((null))
Event code 6 ((null))
Event code 7 ((null))
Event code 8 ((null))
Event code 9 ((null))
Event code 10 ((null))
Event code 11 ((null))
Event code 12 ((null))
Event code 13 ((null))
Event code 14 ((null))
Event code 15 (SYN_MAX)
Event type 1 (EV_KEY)
Event code 288 (BTN_TRIGGER)
Event code 289 (BTN_THUMB)
Event code 290 (BTN_THUMB2)
Event code 291 (BTN_TOP)
Event code 292 (BTN_TOP2)
Event code 293 (BTN_PINKIE)
Event code 294 (BTN_BASE)
Event code 295 (BTN_BASE2)
Event code 296 (BTN_BASE3)
Event code 297 (BTN_BASE4)
Event type 3 (EV_ABS)
Event code 0 (ABS_X)
Value 127
Min 0
Max 255
Fuzz 0
Flat 15
Resolution 0
Event code 1 (ABS_Y)
Value 127
Min 0
Max 255
Fuzz 0
Flat 15
Resolution 0
Event type 4 (EV_MSC)
Event code 4 (MSC_SCAN)
Properties:
N: Twin USB Gamepad
I: 0003 0810 e001 0110
P: 00 00 00 00 00 00 00 00
B: 00 0b 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 ff 03 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 02 00 00 00 00 00 00 00 00
B: 03 03 00 00 00 00 00 00 00
B: 04 10 00 00 00 00 00 00 00
B: 05 00 00 00 00 00 00 00 00
B: 11 00 00 00 00 00 00 00 00
B: 12 00 00 00 00 00 00 00 00
B: 14 00 00 00 00 00 00 00 00
B: 15 00 00 00 00 00 00 00 00
B: 15 00 00 00 00 00 00 00 00
A: 00 0 255 0 15 0
A: 01 0 255 0 15 0
jstest /dev/input/js0 is confirming the behaviours:
Driver version is 2.1.0.
Joystick (Twin USB Gamepad ) has 2 axes (X, Y)
and 10 buttons (Trigger, ThumbBtn, ThumbBtn2, TopBtn, TopBtn2, PinkieBtn, BaseBtn, BaseBtn2, BaseBtn3, BaseBtn4).
Testing … (interrupt to exit)
Axes: 0: 0 1: 0 Buttons: 0:off 1:off 2:off 3:off 4:off 5:off 6:off 7:off 8:off 9:off
usbhid-dump descriptor dump:
003:004:000:DESCRIPTOR 1642028605.396474
05 01 09 04 A1 01 85 01 A1 02 75 08 95 02 15 00
26 FF 00 35 00 46 FF 00 95 02 81 01 95 02 09 30
09 31 81 02 65 00 75 01 95 04 25 01 45 01 81 01
75 01 95 0A 25 01 45 01 05 09 19 01 29 0A 81 02
75 01 95 02 81 01 06 00 FF 75 01 95 08 25 01 45
01 45 01 09 01 81 02 C0 C0 05 01 09 04 A1 01 85
02 A1 02 75 08 95 02 15 00 26 FF 00 35 00 46 FF
00 95 02 81 01 95 02 09 30 09 31 81 02 65 00 75
01 95 04 25 01 45 01 81 01 75 01 95 0A 25 01 45
01 05 09 19 01 29 0A 81 02 75 01 95 02 81 01 06
00 FF 75 01 95 08 25 01 45 01 45 01 09 01 81 02
C0 C0
and the dump of me moving joysticks and pressing all buttons usbhid-dump events
Looking on the internet seems I’m not alone and problem is not new, just willing to understand if there is a way to address this problem.