-
-
Notifications
You must be signed in to change notification settings - Fork 21.6k
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
Fix Xbox Series controller detected as 2 devices #71784
Conversation
afd3634
to
e940086
Compare
Makes sense. The original report mentions Xbox One controller, would we also need an exception for that one? I can test the fix (and the original bug) with a Series controller in coming days. |
@akien-mga I don't have an Xbox One controller, so I can't test the issue with one, and I don't know how to get its GUID. (See my question in https://chat.godotengine.org/channel/input) |
I tested the change with an Xbox Series controller, and it works fine to prevent detecting it as two controller. After this change it's only detected as a generic Xinput controller (not sure if that's the better one of the two, but I'm not really familiar with the controller code on Windows). On the other hand, both before and after this PR, the button mappings seem completely wrong for my (official) Xbox Series controller. In master/before this PR, they're wrong for both the detected controllers. Edit: Actually I think it's the joypads demo in the 4.0-dev branch https://github.com/godotengine/godot-demo-projects/tree/4.0-dev which is broken, it's highlighting the wrong buttons, but the input events seem correct. |
Thanks! |
Cherry-picked for 3.6. |
Cherry-picked for 3.5.2. |
Fixes #69257, related to #41684.
Adds missing
GUID
check for the Xbox Series controller. This prevents the same device from getting added as an XInput device and a DInput device. GUID was retrieved by reading it while the comparator function was being run.Bugsquad edit: