XBox One controller has different mappings in BT and USB

Getting your soundcard to work, using Debian on non-i386 hardware, etc

XBox One controller has different mappings in BT and USB

Postby ngolia » 2019-08-16 21:35

I've got an XBox One controller, and a few months ago the button mappings got messed up when it's in Bluetooth mode, which means it doesn't work properly in games with preset mappings for XBox. I've managed to mostly remap it with jstest-gtk and jscal-store, but the "View"/"Select" button and the "Xbox"/"Mode" button don't generate any events according to jstest-gtk. Those two buttons do produce events when the controller is connected by USB cable, and the mappings work as expected in games. Previously the mappings in Bluetooth were the same as in USB, although I'm not sure whether the above two buttons worked in both or either mode.

For Bluetooth the identifiers are:
Code: Select all
NAME="Xbox Wireless Controller"
VENDOR="0a12"
PRODUCT="0001"

The above vendor/product codes seem to be for the Bluetooth receiver rather than the controller.

For USB cable:
Code: Select all
NAME="Microsoft X-Box One S pad"
VENDOR="045e"
PRODUCT="02ea"


Anyway, I don't know what package I should investigate further or file a bug against. bluez? udev? The kernel:- which subsystem/module? Maybe even xserver-xorg-input-joystick? This isn't Debian-specific BTW, I also tested it on Arch today and found the same discrepancy. Also, when Googling I found xpadneo, claiming to be the first and only XBox One S controller driver, but mine has always worked with the xpad driver (from stock kernel I think).
ngolia
 
Posts: 28
Joined: 2010-02-17 21:17

Re: XBox One controller has different mappings in BT and USB

Postby pylkko » 2019-09-02 10:07

According to what you say, you changed something and then it stopped working, however, you also know that before that it worked perfectly. One might then suggest that you undo that change.
User avatar
pylkko
 
Posts: 1584
Joined: 2014-11-06 19:02

Re: XBox One controller has different mappings in BT and USB

Postby ngolia » 2019-09-02 10:55

I didn't change anything, other than performing a dist-upgrade. I'm pretty sure that this happened before buster, so the only way I can undo my own actions is to wipe and install oldstable, which doesn't seem sensible. I'd rather try to work out exactly what changed upstream and see if that alone can be reverted/fixed.

However, apparently the controller can get firmware updates when used in Windows, so perhaps that's what's happened. But I probably can't undo that either, so it would be nice if the Linux driver could be updated to cope with the change.
ngolia
 
Posts: 28
Joined: 2010-02-17 21:17

Re: XBox One controller has different mappings in BT and USB

Postby pylkko » 2019-09-02 13:27

Fair enough. The easiest way to get it to work (especially since you do not know what changed) is to go back, however, you might be able to remap it.



Do you have the xwiimote package installed?

http://dvdhrm.github.io/xwiimote/

"xwiimote is an open-source device driver for Nintendo Wii / Wii U remotes. It
contains tools and libraries which work together with the official hid-wiimote
kernel driver, available since linux-3.1."

Code: Select all
apt install xwiimote


follow the manual to check and change the keys (read the link, especially under xwiishow)
User avatar
pylkko
 
Posts: 1584
Joined: 2014-11-06 19:02

[Solved] XBox One controller has different mappings in BT &

Postby ngolia » 2019-10-01 20:55

I think xwiimote is just for Wii remotes, it doesn't claim to be compatible with Xbox controllers too AFAICT. I went ahead and installed xpadneo, that's fixed it. It even has a battery monitor, a feature which never made itself apparent in Windows, so that's cool.
ngolia
 
Posts: 28
Joined: 2010-02-17 21:17


Return to Hardware

Who is online

Users browsing this forum: No registered users and 6 guests

fashionable