hrydgard / ppsspp

A PSP emulator for Android, Windows, Mac and Linux, written in C++. Want to contribute? Join us on Discord at https://discord.gg/5NJB6dD or just send pull requests / issues. For discussion use the forums at forums.ppsspp.org.
https://www.ppsspp.org
Other
11.44k stars 2.19k forks source link

Support for MFi controllers on macOS #16711

Open beginor opened 1 year ago

beginor commented 1 year ago

What should happen

Since macOS supports MFi controllers, I have tried a mfi controller with ppsspp version (1.14.3) on macOS 13, but I find that some buttons are not correctly recognized.

I have tried to remap the buttons, but it can not recognize L R and Square button, and many other buttons can not be recognized.

Screenshot 2023-01-03 at 10 25 42

Who would this benefit

All mfi controllers are supported by macOS, please add official support of mfi controllers.

Platform (if relevant)

macOS

Games this would be useful in

All games, this is controller related issue.

Other emulators or software with a similar feature

Playing iOS games with PlayCover using a mfi controller on macOS is perfect, I think there many people would like to see it's perfect with ppsspp too.

Checklist

unknownbrackets commented 1 year ago

PPSSPP currently uses SDL for game controller mapping on macOS, so you'd have to use SDL gamecontrollerdb tools to make sure controller inputs are mappable.

Surely this can be improved, though I think there's already an issue about this.

-[Unknown]

beginor commented 1 year ago

@unknownbrackets Thanks for your suggestion, I have tried SDL2 Gamepad Tool from https://www.generalarcade.com/gamepadtool/ , and make sure the controller I use is mappable with it.

I also have tried add the mapping to both /Applications/PPSSPP.app/Contents/Resources/assets/gamecontrollerdb.txt and ~/Games/ppsspp/assets/gamecontrollerdb.txt, but it does not work. Then I have tried set the SDL_GAMECONTROLLERCONFIG Environment Variable, but it does not work.

But I found some useful information, according to SDL2 Gamepad Tool , the identifier of my controller is 030000005e040000e002000001000000,

Screenshot 2023-01-03 at 18 43 10

when I try to use Auto Config in PPSSPP, it shows my controller's identifier is 030000005e040000e002000001006800

Screenshot 2023-01-03 at 18 41 59