Closed KuleRucket closed 2 years ago
The Xbox button is not strictly a gamepad button, and historically, games (especially jsdev games) expect the 10 first buttons to only have gaming buttons, and most Xbox compatible gamepads did exactly this layout. xpadneo was developed to fix this situation very early at the driver level before SDL picked up, simply by excluding it from the jsdev map. The problem is that jsdev orders the buttons by key codes, and the Xbox buttons comes at position 9 while it should be in position 11. The only way to fix this, is by excluding it from the mapping. Instead, the button is exposed on a secondary device like the Xbox Elite 2 controllers do it.
You really don't need to look at jstest, it has no importance for games today. No current games uses this dying API. You should look at evtest instead.
This problem may be addressed in a later update, after v0.10 or v0.11.
Closing as duplicate of #286
Thanks for the info. I also get the same inconsistency between button 8/9/10 using sdl2-jstest. But I see your point in #286.
Version of xpadneo
0.9.1
Controller Model
Device ID 045e:0b12 via USB and 045e:0b13 via bluetooth
Connection mode
Installed Software
N.B. xboxdrv is installed but the service is disabled so I have not checked the box as I don't think this would have any impact.
Severity / Impact
Describe the Bug
When connected via USB, the button mapping is as follows (using jstest): Axis 0: Left Stick L/R Axis 1: Left Stick U/D Axis 2: LT Axis 3: Right Stick L/R Axis 4: Right Stick U/D Axis 5: RT Axis 6: D-Pad L/R Axis 7: D-Pad U/D Button 0: A Button 1: B Button 2: X Button 3: Y Button 4: LB Button 5: RB Button 6: Select Button 7: Start Button 8: XBox Button Button 9: L.Click Button 10: R.Click
When using xpadneo via bluetooth, everything is the same except for the final three buttons which map as: Button 8: L.Click Button 9: R.Click Button 10: Nothing This means that the button mapping for the joystick clicks are inconsistent between USB and BT and the X Box button is not detected via neoxpad. Sometimes I use USB and sometimes Bluetooth so I would like them to be consistent.
Steps to Reproduce
Connect pad via USB, run jstest and record mapping. Disconnect cable and connect via BT, repeat.
Expected Behavior
I expect the mapping to be the same regardless of the connection method
Screenshots / GIFs / Videos
Not useful.
System Information
Arch
Controller and Bluetooth Information
xpadneo-btmon.txt
xpadneo-dmesg.txt
xpadneo-lsusb.txt
Additional Context