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.87k stars 110 forks source link

Incorrect bindings on Gulikit KingKong 2 Pro NS09(axis and buttons detected incorrectly) #433

Closed account231241 closed 11 months ago

account231241 commented 1 year ago

Version of xpadneo

Controller Model

Connection mode

Installed Software

Protocol Information

Please help us identify at which layer the problem can be found if you want to report mapping errors or if the controller fails to be detected:

Please describe how it is failing below in the next sections.

Severity / Impact

Describe the Bug

I didn't have any problems for more than half a year, but after last month my bindings are wrong on the controller. Problem persistent in all controller modes and both via USB and Bluetooth. Left Trigger moves right stick, some buttons are non existent, some messed up(tested via gamepad-tester, but not only), etc. The exact bindings depend on the controller mode, but always wrong. I spent a lot of time looking into the problem and at the end I think the main issue is - specs of the controller are detected incorrectly. If I use evtest for example(or literally anything else) it says that I have 9 axis and 11 buttons(Xbox controller mode, in other modes different). This problem is also persistent on another controller of this module(I have 2 of them, completely identical). But no such problem on Windows.

Steps to Reproduce

Connect controller via USB or Bluetooth, try to use it. Check axis and buttons via evtest/any tester.

Expected Behavior

I expect that controller bindings won't be insane and it'll work as supposed to.

Screenshots / GIFs / Videos

System Information

Manjaro Linux, 6.1 LTS Kernel. But I also had same problem on Fedora, Linux Mint, EndeveourOS(all live cd, except Fedora). Laptop, Acer Swift 3 SF314-43, with 5500u.

# uname -a
Linux swift-sf314-43 6.1.31-2-MANJARO #1 SMP PREEMPT_DYNAMIC Sun Jun  4 12:31:46 UTC 2023 x86_64 GNU/Linux
# xxd -c20 -g1 /sys/module/hid_xpadneo/drivers/hid:xpadneo/0005:045E:*/report_descriptor | tee >(cksum)

zsh: no matches found: /sys/module/hid_xpadneo/drivers/hid:xpadneo/0005:045E:*/report_descriptor
4294967295 0

Controller and Bluetooth Information

Additional Context

Last command for file creating returns an empty file for some reason.

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

kakra commented 1 year ago

I'll test this with my Gulikit Controller. Usually, evtest should be correct always (ignore the extra axis). But if it is wrong in USB mode, too, that's not a problem of xpadneo because xpadneo doesn't support USB.

kakra commented 11 months ago

@CheerfulNag What did change that this was closed now?

account231241 commented 11 months ago

Hey. Well, I still don't know what the issue is with detection(wrong axis and button amount) and why do testers go insane, but in games it works fine(only tried steam though). So... Not a problem anymore? Also considering that this issue is persistent between xpadneo and regular xpad and across distros - I doubt something is wrong with xpadneo specifically :)

kakra commented 11 months ago

Okay, then it's fine to close.

Take note: Testers that use /dev/js* instead of evdev may be wrong anyways. That interface is hardly used anymore by modern games. And for testers using SDL, there might be a wrong controllerdb entry which messes that up. Officially, SDL removes controllerdb entries for xpadneo-compatible devices (and thus, probably also for xpad-devices) in the next release because it caused problems like yours. Instead, it will have a robust auto-detection for all mappings. For paddles, the next xpadneo release will use xpad-compatible mappings so it'll work with SDL, too. Only the main Guide button will need some extra work and will be fixed later.

Recognizer83 commented 11 months ago

I have the exact same issue. Some games work fine. Some games dont. All games used to work perfect.