Suggestion: Default button mapping for 6-button controllers

I’ve bough myself a couple of those nice Sega-style 6-button controllers from 8bitdo and Retro-Bit. For obvious reasons, I’m primarily looking to use those controllers with the Sega Saturn and Genesis/Mega Drive cores:

Unfortunately, the individual cores come with different default button mappings and you have to manually remap them. A mapping that, for example, works with Beetle won’t work in GenesisPlusGX or Picodrive.

I’d like to make a suggestion, that all Sega cores should be configured to use one and the same button mapping under the hood. The best layout might look like this:

This layout would work best with the default “diamond-shaped” layout (north, south, west, east) used by most other emulators and the Retroarch interface:

As a nice side-effect, this layout would also work fine when playing Street Fighter 2 on a SNES emulator. The bottom row of the 6 face buttons would belong to the the 3 different kicks (weak, medium, strong). While the top row matches perfectly to the 3 punches.

1 Like

The button layouts are set by the individual core authors, who are not always us. That is, Blastem, for example, uses a different layout than GPGX because those core authors have different ideas as to the best experience for users.

Luckily, as a user, you can always change the core mapping to suit your preferences.

2 Likes

@hunterk Manually remapping the buttons for all the different Sega cores is a real hassle for most users.

How about an additional option for the Sega cores that let’s users toggle between a diamond-shaped and 6-button controller?

The default would be as is. But when a user has a dedicated 6-button-controller, you could change this new setting and Retroarch automatically copies a remap-file for the Sega cores that uses the layout proposed above?

1 Like

Just came across a thread over on Reddit which shows how difficult it is, to explain this issue - and your suggestion for manually editing the layout on a per-core basis - to actual users.

Street Fighter would be a good example, how this retropad mapping would work both for 6-button- and diamond shaped-controllers for MAME and SEGA cores:

1 Like

The controller mapping can be a bit of a pain sometimes, but based on what Hunter was saying above, you would have to contact the author of each core you wanted to get mapping changed and convince them to do it and wait for it to happen. It seems like it would be a lot easier to just learn the mapping feature and remap stuff that you use.

With the YXL BAR mapping, core mapping can be the same whether you are using a diamond-shaped-controller or a 6-button-controller, the only exception might be 3-buttons games where diamond-shaped-controller might prefer YBA while 6-button-controller might prefer BAR. Well, i personally think YBA is the superior choice even on 6-button-controller because the thumb needs less movement, but i’m sure some fans of the OG megadrive controller will disagree.

Note that i’m only talking about joypads here. Arcade sticks are an entirely different matter : while joypad users usually consider a 2/3 buttons games should be mapped to the bottom row, lots of arcade stick users have a preference for the top row.

If retroarch could pass information about the controller’s layout to the core (how many rows ? how many buttons per row ? are there shoulder buttons ? are there trigger buttons ? is it a joypad or an arcade stick ?), that could leverage default mapping at the core level further. Until then, device types can do a pretty good job at this.