mdqinc / SDL_GameControllerDB

A community sourced database of game controller mappings to be used with SDL2 Game Controller functionality
http://libsdl.org
zlib License
1.38k stars 520 forks source link

Downstream issues (wontfix) #771

Closed LingKuja closed 4 months ago

LingKuja commented 4 months ago

I've mentioned it in this issue on the PCSX2 repo, and they told me to open an issue in the upstream. Somehow the latest version of the database is breaking support for some controllers. For example, The 8BitDo SN30 Pro+ and SF30 are both now being recognized as an 8BitDo Zero 2, which doesn't have neither analog triggers nor analog sticks, on Linux (Kubuntu 24.04 LTS), both on xinput mode. On Switch mode they both work just fine. Let me know if there's anything I can do to provide more info.

DonKatsu commented 4 months ago

Confirming with my 8BitDo Pro 2 on CachyOS. My pcsx2 issue.

When set to xinput mode, it was detected as Xbox One Controller through bluetooth by pcsx2 until this commit, when it started being detected as an 8BitDo Zero 2. Automatic Mapping still applies what should be the correct values, but things like the dpad and triggers don't work. Trying to manually map inputs applies the different, nonfunctional values. It is still detected as Xbox 360 Controller through usb, and manually mapping applies the correct inputs.

Setting it to dinput mode, it is detected as 8BitDo Pro 2 through bluetooth and usb. Manual mapping applies correct values. Except for the triggers applying SDL-0 Button29/30 & SDL-0/[Directon]Trigger instead of just [Direction]Trigger on a quick long press. A quick light press just applies the button mapping?

On the system side, with KDE Plasma 6's System Settings>Game Controller: xinput reports as Xbox Series S Controller and Xbox 360 Controller through bluetooth and usb respectively. dinput reports as 8BitDo Pro 2 through both methods. The bluetooth applet still reports it as 8BitDo Pro 2 with both xinput and dinput.

offalynne commented 4 months ago

@DonKatsu @LingKuja this is a community database for SDL2. If your issue is indeed related to the db (which given your reports, I do not believe) it is up to you to fix and test to confirm. If this is a bug with PCSX2, take it up with the PCSX2 maintainers. We do not support PCSX2. If you want to contribute to this DB, see the README. https://github.com/mdqinc/SDL_GameControllerDB

LingKuja commented 4 months ago

If this is a bug with PCSX2, take it up with the PCSX2 maintainers. We do not support PCSX2.

I see. Yes, the issue is specifically on PCSX2, and I suppose Duckstation as well. On Kubuntu, when I test the controllers via system settings, all inputs are responding accordingly (sticks, triggers, buttons); while on PCSX2, while using those controller on PC/xinput mode, they get recognized as "8BitDo Zero 2"; which has a SNES Controller layout (2 shoulder buttons, start, select, dpad, 4 face buttons).

offalynne commented 4 months ago

Please do not comment any further regarding Duckstation, PCSX2 etc. Not relevant to this repo. If you want to test if your issue is db related, use https://www.generalarcade.com/gamepadtool/ for every relevant device/mode and post the mapping results. If the software you mention is actually using gamecontrollerdb.txt you can try to edit that file locally to determine what's happening, but do not post about that here