Open tomillr opened 3 years ago
It's up to the core authors how to lay out the core's buttons on the retropad. In the case of GPGX, the layout is intended to make 3-button games (the vast majority of the MD library) most comfortable vs putting one of the key buttons on a shoulder. Blastem, in contrast, prioritizes 6-button layouts (IIRC, it's very close to your proposed layout). In any event, it's just a remap away.
Button mapping for 6 button controllers for Sega Mega Drive and Sega Saturn emulation is not handles properly for the default retropad setup. It does not observe the basic diamond shape (north/south/east/west) button layout assumed by the usual Retropad setup. To assure maximum compatibility across different emulators, the default buttons mapping assumed by the Retroarch retropad should look like this:
Background explanation:
There currently is no right way to assign the buttons of a 6 button controller like the 8BitDo M30 or Retrobit Genesis and Saturn controller so that they work across different Sega emulator:
Once you've assigned the buttons through the EmulationStation interface to properly work with the Sega Saturn emulator Beetle, it no longer properly works with the SEGA Mega Drive emulator genesisplusgx. If you go and change the button mapping to work with the Sega Genesis emulator, it in turn no longer works with the Saturn emulator. Not to mention, completely breaking support for a Super Nintendo emulator.
As you can see, this layout doesn't respect the usual north/south/east/west button alignment assumed by the retropad concept.
Which makes the controller pretty much useless for any other emulator. Imagine to try and play the Super Nintendo version of Street Fighter 2 with that mapping. It would look like this:
Also, navigation of the Retroarch menus is also less than straightforward with this setup:
With the button layout proposed above, the 6 button controller would work better across different emulator and the RA menus. You also wouldn't need to manually change the button layout for almost every core.