Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
  • mhkievit
    Post count: 3

    Does anybody know the default button mapping that RetroArch uses?

    When I initially setup my X-Arcade TankStick controller, I pressed all of the buttons according to the way I presume I’d use them in the emulators, and partly according to an SNES controller layout.

    Problem is, in Atari 2600, the buttons aren’t where I’d expect them. Atari 7800 has a slightly different layout, as it uses 2 buttons. piFBA uses a completely different mapping, and Mega Drive was different yet. Start and select buttons seemed to move, etc…

    This was with all of the /opt/retropie/configs/(emulator)/retroarch.cfg files unmodified.

    Ultimately, I have everything working the way I want, but I had to edit each emulator’s retroarch.cfg file and trial-and-error which buttons it used (is the fire button for Atari 2600 a, b, x, y, l, or r? For the Atari 7800 is button ‘A’ the same as the 2600’s, or is that the 7800’s right button, and the left button is x. It took a while.

    So what I’m looking for is a document or list that maps each emulator’s settings (as sent by retroarch) as mapped to the controller config (/opt/retropie/emulators/retroarch/configs/(controller).cfg

    Start -> (controller).cfg ‘Start’
    Button -> (controller).cfg ‘X’

    Start -> ‘Start’
    Left Button -> ‘A’
    Right Button -> ‘X’

    Start -> ‘L’
    Select -> ‘Start’
    Left Button -> ‘Y’
    Middle Button -> ‘X’
    Right Button -> ‘A’

    That’s an example, and not really indicative of what the mapping really is, but it’s aggravating that the first button isn’t always ‘X’ and the second button isn’t always ‘Y’, and so on. (or whatever layout makes sense).

    Post count: 1858

    Got you covered… Well partially anyways- its in the works. See the diagram here for Atari 2600 :

    We’ve done it for about half of the controllers or so. Just check each page: taalas and I maintain a github page for our progress:

    The libretro wiki supposedly has some but unfortunately it isn’t complete

    Retroarch uses the concept of retropad which is essentially what you are describing- a joypad abstraction with mappings for each emulator. We’ve tried to replicate that as much as possible and it will hopefully be implemented with inputstation: an experimental module petrockblog is working on that will be a one time controller configuration script for all emulators.

    There is another added complication in button mappings as my button 1 on my SNES gamepad might be “B” but maybe on yours your “B” is button 3 in the code. Ideally that should be addressed when you run retroarch-joyconfig but it can still add to the confusion then on top of that you different mappings for different games… Probably a lot more than you wanted to know I’m sure but as you’ve seen with controller configurations it can get pretty complicated.

    Post count: 3

    That’s great, thank you! I figured it had to exist somewhere in SkyNet, but I’ll be danged if I could find it (need to use the right terminology).

    Here’s what I ultimately envision… I have the TankStick, which is nice, and I love the trackball, but some console games, say the NES and SNES can be more fun (and easier) to play with the original controller than ‘arcade’ controls.

    So, I added a dual-USB port to the front of my cabinet where I can plug them (generic Buffalo SNES controllers in this case) into, and without unplugging my TankStick, they become J0 and J1 (if two are installed). Then, as part of the script, I determine which controllers are on J0 and J1 and use specific configuration files merged together. This would allow 1 player with SNES controller, or 2 player with 1 SNES controller (and p2 on tankstick) or 2 player with 2 SNES controllers.

    Having said that, inputstation sounds like it could cover a lot of what I’m working towards – I’d just have to switch between several config files.

    Thanks, again!

Viewing 3 posts - 1 through 3 (of 3 total)
  • The forum ‘Controller Configuration in RetroPie’ is closed to new topics and replies.