-
Notifications
You must be signed in to change notification settings - Fork 111
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
Xbox Series X|S controller recognized as 360 controller and no inputs detected in games #457
Comments
Steam settings also works correctly here, although what you see here is only meaningful to Steam Input. This covers all the usual input layers: joydev, evdev, SDL2 (Steam Input is actually SDL2 for Proton games, mapped via a virtual controller ID). So I wonder what the difference is on your computer. It looks like the SDL2 layer is broken for you. Please check the permissions of
If it doesn't and assigns ownership to a different user or group, or assigns different read/write permissions, or adds ACLs for your desktop user, then your udev rules are broken because they ignore xpadneo's own rules. We've seen issues like that in the past with OpenRGB and QMK which happily assign write permissions to "other" for all hidraw devices, no matter if they manage it or don't. If this is the case, try revoking any permissions from the device and test again ( OTOH, even if SDL2 uses the hidraw device, you should still see input although some buttons may be swapped or not working - but at least some buttons would work. Without hidraw, SDL2 uses the evdev device.
Chances are that gamepad-tool found some broken legacy mappings. You didn't post the terminal output of the tool, so I cannot say what the difference may be. Using xpadneo with SDL2 expects that no custom mapping has been defined, unfortunately, there have been many forum guides in the past which suggested exactly this without even asking if the controller works properly without any mappings. |
Can you retry with the latest git version? |
This causes bugs in some applications, seemingly Unity games, and maybe a few others. This commit introduces a new module parameter `enable_rolling_axis` defaulting to "disabled", essentially removing the axis from default installations. Enabling it will emit a deprecation warning. This is better solved in user-space. Scheduled for removal after v0.10. Maybe-affects: atar-axis#457 Maybe-affects: atar-axis#452 Fixes: atar-axis#385 Fixes: atar-axis#345 Fixes: atar-axis#334 Signed-off-by: Kai Krakow <kai@kaishome.de>
I stumbled over this since my "share" button doesn't seem to work as it should (doesn't take screenshots). Steam also claims it is a 360 Pad though i have the pad working.
When checking the journal i get the message I have ignored this for a long time since i thoughtt it wouldn't really matter. Is this still related? |
This warning is okay if the kernel automatically binds the driver to xpadneo... Then binding won't work because the device is already bound to the correct driver. If this shows a result, binding worked correctly: ls -ald /sys/module/hid_xpadneo/drivers/hid:xpadneo/0005:045E:*/report_descriptor For "F12" to work, you need the Git version of xpadneo. The v0.9 branch reports the button in a way which is not compatible with Steam, and games will probably ignore it. You can use pre-v0.10 is mostly stable, you can use it, if your distribution offers a git version of xpadneo. But some more time is needed for code redesign and some feature integration (mouse mode, to use your controller on desktop from the couch). But you can already use the functions that are there. |
Hello! I am facing the same issues. The only difference being that I run Arch and not Debian. How would I find out what is causing problems ? |
I'm also an Arch Linux and since a couple months I seem to be getting wrong permissions on the hidraw file:
(hidraw4 taken from dmesg)
How would one do at? |
@WaffleLapkin This may be caused by OpenRGB... Try uninstalling it and see if the issue persists. OpenRGB is one known software which overrides our udev rule fixing permissions. But this seems to be different from the previous comments, so you're likely seeing a different issue if driver binding works for you. |
Before connecting the controller, run You can find more information about the udev rules and debugging here: #461 |
@kakra sadly those debugging suggestions did not help (I couldn't see anything suspicions). In the end I did find out that it was QMK's udevrules -- disabling those fixed the permission issue (sorry for spamming in an unrelated issue and thanks for help 💜 ). |
Yeah, QMK is a known suspect. I actually thought they've fixed that meanwhile by looking at the device with a udev helper... I'd still be interested if we could find a way to override their rules for the devices we support. |
I just checked with a fresh checkout of qmk, and the rules they suggest to copy still cause problems with the controller. If it helps here is the file they suggest to add:
|
Looks like this may be problematic because it doesn't check if the hidraw device is actually a supported device. It assigns the tag Our hidraw device is not compatible with SDL currently, see #286. Thus, we have a rule in place that assigns Maybe, if changing our mode to Monitoring the udev events should show if a previous rule also uses We could also try to use If you find a proper way around it that we can implement in our rules, let me know. I'm planning another 0.9 release (currently mostly to finalize documentation), it would be nice if we could deploy such a fix. |
Version of xpadneo
0.9.5
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
Xbox Series X|S controller with updated firmware is connected via a Bluetooth adapter.
evtest
andjstest
identify the controller and recognize its inputs correctly, howevergamepad-tool
, Steam settings, Retroarch and other software identifies it as an "Xbox 360 Controller" and does not react to any of its buttons or axis.Steam Input is disabled for everything.
In fact, the only game that works that I've tried is PICO-8
Steps to Reproduce
Turn on, pair and connect an Xbox Wireless Controller (with up to date firmware) via a Bluetooth adapter. Launch a game or software which supports controllers.
Expected Behavior
Games and software which support controllers identify the controller as the proper model and/or at least recognize its inputs (so you can navigate the interface, play the game, etc.)
Would really appreciate any help, thank you
Screenshots / GIFs / Videos
System Information
Controller and Bluetooth Information
xpadneo-btmon.txt
xpadneo-dmesg.txt
xpadneo-lsusb.txt
The text was updated successfully, but these errors were encountered: