The current gamepad mapping system (based on SDL_GameControllerDB) expresses everything in terms of the buttons of an XBox controller. In my opinion that is not fit-for-purpose, as not all controllers are congruent to XBox controllers.
Wouldn’t it be so much better for the mapping system to be able to differentiate between at least the major players, saying “this is XBox-like”, “this is DualShock-like”, or “this is Nintendo-like”, and exposing the appropriate button labels?
I want my program to be able to automatically choose between “Press Triangle” and “Press Y” when displaying a prompt to the user according to what type of controller they are using. Unless I’m missing something obvious, there’s currently no way to do that without asking the user what type of controller they have on startup.
How does anyone else handle this? Thoughts?