New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SDL doesn't interpret Xbox Elite Series 2 input correctly via Bluetooth #8907
Comments
What kernel driver do you have for the Xbox controller? |
No additional drivers installed, just what's in the Linux Kernel:
|
What does it say in dmesg when you connect your controller? |
USB:
Bluetooth:
|
uhid means there’s a user space driver picking up the Bluetooth controller. Do you know which one that is? |
I think the driver is called hid_microsoft. Does this info help? dmsg:
|
No, that's not a user mode driver. You might find it by running |
I did a full reboot, connected the controller. Seeing the same behavior, but I can't find anything suspicious in "ps aux" |
I don't see anything obvious, but from a little google searching, it looks like maybe you're using https://atar-axis.github.io/xpadneo/? |
At one time I did have that installed through the package manager. But I have since removed it. Just to double check I tried the xpadneo uninstall script, and it doesn't find it.
I noticed that when connected by USB the driver connected to the /sys/class/input/inputXX/device/driver appears to be xpad as opposed to hid_microsoft. |
What happens if you just use controllermap in the test directory to create a new mapping? |
controllermap also finds 122 buttons. Paddle1 (top right hand) records as button 121. The other three paddles do not register when clicked.
|
Hmm, aside from the paddles, everything there looks like I would expect. This doesn't look like an SDL bug, this is happening in the driver for the Xbox controller, whatever that is. |
Xbox Elite Series 2 input is read correctly via USB cord but not bluetooth. When connected via Bluetooth, sdl2-jstest reports 122 buttons, and only one paddle (top right) seems to work with SDL programs.
Oddly, jstest with root permissions seems to correctly identify all buttons over bluetooth.
This udev rule is being used to mark the controller as a joystick, which is only necessary for the Bluetooth connection.
USB cord:
Bluetooth:
Bluetooth with sudo:
The text was updated successfully, but these errors were encountered: