Open pascal260303 opened 4 months ago
This is a known behavior and is explained by the fact how browsers implement input: they use evdev to detect the button mappings, then use jsdev to actually read the inputs - but both input layers are different devices and have nothing in common. Because this creates problems sometimes, they add a layer in between which tries to fix mapping mismatches between both devices using static hard-coded tables - and this last bit is where it fails in Chrome, and seemingly also Firefox.
Browsers should use either only evdev or only jsdev but not both. If they did, everything would work fine. The browser implementations are designed around the behaviors of the stock in-kernel drivers - that is hid-microsoft for your controller. xpadneo is currently not compatible with the stock-kernel assumptions of browsers.
In case that Firefox uses SDL, you can try removing read permissions from the hidraw device of xpadneo. Usually, our udev rules do that but if you're using OpenRGB or ymk firmware, this may have overwritten our permissions.
If you want to use the gamepad in browsers, I recommend connecting via USB cable or not using xpadneo currently. There are plans to work around that in upcoming versions of xpadneo.
Version of xpadneo
v0.9.6
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:
evtest
is showing issues (describe the issues below)BTN_NORTH
andBTN_WEST
are intentionally swappedjstest
is showing issues (describe the issues below)gamepad-tool
is showing issues (post console output below)Please describe how it is failing below in the next sections.
Severity / Impact
Describe the Bug
I want to use an xbox controller to play on xbox cloud gaming but the y and y buttons are swapped, both triggers don't work and the xbox button (home button) doesn't work (would be needed to exit games). I already tried swapping back the x and y buttons with jscal but it didn't work. In jstest everything appears to be working, I can see all inputs except the xbox button. I'm using Ubuntu 22.04, gnome and wayland.
Steps to Reproduce
git clone https://github.com/atar-axis/xpadneo.git
cd xpadneo
sudo ./install.sh
Connect xbox controller in bluetooth settings (confirmed buzzing). Start xbox cloud gaming in firefox.Expected Behavior
The x and y buttons and trigger to work normally. Optionally the xbox button to work normally.
Screenshots / GIFs / Videos
System Information
Linux pascal-ThinkPad-T460s 6.5.0-41-generic #41~22.04.2-Ubuntu SMP PREEMPT_DYNAMIC Mon Jun 3 11:32:55 UTC 2 x86_64 x86_64 x86_64 GNU/Linux
Controller and Bluetooth Information
xpadneo-dmesg.txt xpadneo-btmon.txt xpadneo-lsusb.txt
Additional Context
Firefox is installed from apt (not snap since I had problems with Firefox from snap in the past) Firefox version 127.0.2