-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
[BUG]: 8BitDo Pro 2 in XInput Mode misidentified as 8BitDo Zero 2 #11702
Comments
This is an upstream issue, not something PCSX2 deals with, you need to report it to here https://github.com/mdqinc/SDL_GameControllerDB |
No, it's not. Read the linked PR to upstream. The game controller DB contains the right IDs, PCSX2 is outright picking the wrong GUID for the controller. |
But PCSX2 just asks SDL what the controller is, using that DB, PCSX2 has no concept of what controllers are what, and it certainly doesn't keep its own database, we receive the file from upstream and use it directly, we don't modify anything. So if yours is modified, either you have an old one some how or you modified it. If there's a duplicate GUID, that's just tough luck, nothing can be done about it, especially from this end, it'll be SDL or the controller DB that has to fix it Edit: Just checked, the CRC he pointed out doesn't exist in PCSX2's copy of the database, so i dunno where you you got it. |
Yes, I mention the thing with the CRC in the issue:
The matching logic is not part of game_controller_db.txt. There's no duplicate GUIDs - there's two mappings:
By looking at them one on top of the other you can clearly see that they start to differ around the 24th character. When you connect a controller with GUID
From a summary assessment this could mean the GUID is getting outright truncated at some point. I have no idea how much of that matching logic is directly PCSX2 and how much it leaves to SDL, though. I think this can't be an issue with the database itself though, because it does in fact contain different GUIDs that appear to be correct for the gamepads involved. |
I'm not convinced it's a PCSX2 issue. |
Ok, this is... surprising. Not sure if it's indicative of a PCSX2 issue or an SDL issue (from what you say it could be SDL) but it seems like I can't reproduce the issue with a file that only contains mappings for This is the minimal file I need to reproduce it:
The moment you remove the XBox One S Controller mapping it breaks the matching. So... something that strikes me as weird is that the XBox One S mapping does in fact include a CRC. I wonder, is it possible that the presence of two mappings differing only by CRC makes whatever logic does GUID->Mapping break? Whatever it is, if PCSX2 is leaving literally everything to SDL, and this behaviour clearly isn't documented as the "correct" one by SDL, then it can't be a PCSX2 issue, feel free to close and sorry. |
It might be best to report this upstream to SDL. |
Describe the Bug
When connecting an 8BitDo Pro 2 gamepad wirelessly in XInput mode, PCSX2 actually loads the mappings for the 8Bit Do Zero 2.
The GUID of the 8BitDo Pro 2 is
050095ac5e040000e002000003090000
. This means it should grab the mappings for GUID050000005e040000e002000003090000
(see also mdqinc/SDL_GameControllerDB#779, a PR I opened thinking this was an upstream issue with the Controller DB).Other info:
050000005e040000e002000030110000
, which is identical to the 8BitDo Pro 2's XInput's GUID (modulo the CRC) up to the 24th characterThis leads me to think there might be some truncation going on that in turns leads to loading the wrong mapping from the file.
I'm reporting the issue again (#11581) because the previous one was closed as "External | Upstream", which as it turns out it's not.
Reproduction Steps
Expected Behavior
No response
PCSX2 Revision
v2.1.83
Operating System
Linux (64bit) - Specify distro below
If Linux - Specify Distro
Fedora 40
Logs & Dumps
No response
The text was updated successfully, but these errors were encountered: