atar-axis / xpadneo

Advanced Linux Driver for Xbox One Wireless Controller (shipped with Xbox One S)
https://atar-axis.github.io/xpadneo/
GNU General Public License v3.0
1.95k stars 112 forks source link

XBox One S controller buttons mapped incorrectly #242

Closed BrianAllred closed 4 years ago

BrianAllred commented 4 years ago

Version of xpadneo

0.8.2

Severity / Impact

Describe the bug

Left bumper activates Back Right bumper activates Start Y activates left bumper Start and Back don't work at all

Steps to Reproduce

Connect controller, use evtest or start game (I was using Dark Souls 3), press buttons.

Expected behavior

Buttons activate correctly.

Screenshots/Gifs

System information

# uname -a
# Linux thematrix 5.8.5-8-tkg-pds #1 TKG SMP PREEMPT Thu, 27 Aug 2020 14:48:10 +0000 x86_64 GNU/Linux
# xxd -c20 -g1 /sys/module/hid_xpadneo/drivers/hid:xpadneo/0005:045E:*/report_descriptor | tee >(cksum)
(This command never returned, had to Ctrl+C)

Controller and Bluetooth information

xpadneo-btmon.txt xpadneo-dmesg.txt xpadneo-lsusb.txt

Additional context

kakra commented 4 years ago

Try pairing your controller again, I've seen this before when the controller remained half in Windows mode, half in Linux mode, when it was swapped between Windows and Linux. Also, please update the firmware of the controller (using Windows). After this, you'll need to pair the controller again despite it's seemingly working.

BrianAllred commented 4 years ago

I updated the firmware and then removed and re-paired the controller, but the issue persists. It works fine over USB, if that helps.

kakra commented 4 years ago

I'm guessing the problem is in SDL's new feature to use raw HID. Are the buttons mapped correctly when using evtest or jstest directly?

kakra commented 4 years ago

There's a patch in the queue for #235 which may fix this: I see that dmesg says "fixing up buttons" but didn't output the resulting quirk flag - which would be part of the bug found in #235. If so, git master should not show this problem.

BrianAllred commented 4 years ago

Yep, latest master fixes the problem. Sorry for not responding earlier. evtest was showing the wrong buttons, too, but now it's reporting correctly. Dark Souls 3 is also working. Thanks!