Confused about Controller Mapping
-
When I first set up RetroPie, EmulationStation prompts for a configuration setup of the controller. I'm using an Xbox 360 controller. When it says to press a button for "A", I press "A" on the controller, and so on. So far, this has worked out great on the older systems. But once I started adding 16-bit consoles (SNES/SEGA) the buttons seemed to be wrong. I never owned an SNES so I don't know how bad it is for that, but specifically for the Sega Genesis, the buttons are really confusing. The "A" button the Sega controller is mapped to "Y" (top) button on the Xbox Controller. Is this correct? It would make more sense to have it mapped to "X" (left). I think the problem comes from Nintendo, in that their controllers are almost set up to read right to left, with it reading out as YX and BA. Microsoft has it as XY and AB. Should I be mapping my Xbox controller as if it were a SNES controller? I found a script in the RetroPie setup that is supposed to reverse this, but it says afterwards I have to remap the buttons again inside EmulationStation. So my question is, after I "swap" the buttons, do I still map them in EmulationStation as it says, or do I correct it by mapping "A" to "B"? I can't seem to figure it out.
-
-
So I should just map it backwards, rather than follow the button markings on the physical controller. That's fine, I just needed to know if it was the correct way to do it, or if I should use that "reverse button" setting in the RetroPie-Setup scripts.
-
The Y and X you described in first post is wrong. The RetroPad (RetroArch abstract controller) uses the same button names as SNES (not as XBox). Look the correct scheme:
If you configure your controller like the SNES above, then the MegaDrive will be like this:
I think the "Swap A/B" buttons only change the behaviour for OK/Cancel, it doesn't affect the emulators.
If you want to different mappings for each core (libretro emulator) you can use the core input remapping. It's very easy and can be done via RGUI.
-
Ignore the physical real life button names. And look at the physical button locations.
-
I've got it figured out. I mapped the buttons as if I had an SNES controller (backwards). This corrected the problem with SEGA. The only issue now is that in EmulationStation, it says to press A to enter, B to go back, etc. For somebody not familiar with the system, that can be confusing. By going through the RetroArch-Setup scripts and swapping the A/B buttons, it only does it in EmulationStation. So everything now works like it's supposed to.
Thanks! On to my next big project!
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.