Manual mapping of buttons
-
I've been doing a lot of reading, so I'm sorry if this is covered elsewhere, but please do answer my question directly as the guides out there are rather confusing, and a clear straightforward answer here to this would be most helpful to me and others with this specific situation.
I am setting up a retropie device as a christmas gift, and loading it up with NES, SNES, and gameboy games, and including a pair of SNES style usb controllers, as I feel that's the best layout for playing of these systems. By default, it maps A to A and B to B on all systems, which I can see how that may be considered logical, but.....actually isn't. Super Mario All Stars knew this. So I'd like to manually tweak things to map the Y button on the controller as B and the B button on the controller as A for the NES and gameboy emulators, which makes for a more natural layout when playing these games on a SNES controller.
I do see from here (https://github.com/retropie/retropie-setup/wiki/retroarch-configuration) that the mappings for buttons are stored in /opt/retropie/configs/all/retroarch-joypads. I see that settings in /opt/retropie/configs/SYSTEMNAME should override the all. However, the individual system folders do not include retorarch-joypads folders, so I don't see how to override that. I did try creating a retroarch-joypads folder in the nes folder, copying out the config file for my controller there, editing it with the changes I wished to make, but that did not work, so a straightforward override by system folder isn't an option here. Rather confusing to me that these folders would be created to override, but they don't adhere to the same standard....I don't get the logic in this.
I do see reference to utilizing the retroarch.cfg files in the system folders for overriding settings, so I tried copying out my desired button mappings into the retroarch.cfg file in my nes folder, but those settings didn't effect anything, so that's not where to set it either.
I then read about starting a game on the system, using select+X, going into the quick menu and controls, and setting the controls there. Although, with this it looks like it has to be done for each player, instead of just once and having it apply to all controllers of that type (both controllers are the same type, so one setting applies to all, trying to keep it simple, but....whatever....I can work with this if it would work). I set my configurations how I wanted it here, and the instructions on this link (https://github.com/retropie/retropie-setup/wiki/retroarch-configuration) say to then select save core remap file. That isn't an option. The closest thing I have is save core overrides. Not sure if that's what you meant, but since that's the only think like it I have, unless you're referring to something hidden somewhere in the menus, I tried that. My set button mappings work when I resume my game, but when I quit out of the game and go back it, it goes right back to the defaults.
I hope you can see, I've been reading up, and have tried several things before reaching out for help. Perhaps to you, I've overlooked something, and perhaps even right in those links above is a supposedly obvious answer here, but I assure you, the answer to this is not obvious to me, and a simple, direct, complete guide to setting this would be much welcome here.
Thank you for taking the time to read this.
-
I figured out what I was overlooking. The 2nd method, going into the quick menu, the save remap options were in the same menu as the button mappings, I was backing out of that where I saw the save core overrides. I think I'm set for this issue, although I still am curious how I could manually remap emulator buttons directly from editing config files.
-
@Macon-Ebbs retroarch config remapping is indeed a confusing thing. I personally prefer core input remapping as it doesn't affect rgui controls (not that you really use the rgui with retropie) but anyways as far as system specific retroarch.cfg overrides that is possible. if you go into the configuration editor >> advanced configuration >> Manually edit retroArch configurations you can scroll past all the shaders and you'll see the retroarch configs for each system as you referenced above for the gameboy would be
gb/retroarch.cfg
(which full path outside of the config editor would be/opt/retropie/configs/gb/retroarch.cfg
) so anyways in the config editor you'll make your edits and press tab to get out of the editor. or if you make edits on the file directly through ssh or whatever it will need to be ABOVE the #include line in order for the system specific retroarch.cfg to override the overall retroarch.cfg.also the gb and nes configs are actually correct if you look at the gamepads and their original hardware ;) see wiki pages for reference diagrams.
-
btw, thanks goes to floobs for helping me figure out what I was overlooking, this video helped,
I did try editing the retroarch.cfg files, but it didn't take. I must have done something wrong there. Anyways, I'm happy with the core input mapping that I figured out, so I'll stick with that. But it is nice to know that the retroarch.cfg files is the right thing to edit, I may play around with that more at some point.
The gb and nes configs are correct in the sense that A is mapped to A and B is mapped to B. But, I find on a SNES controller, the thumb rests more naturally on the Y and B buttons, and prefer to map Y to B and B to A. This is what Super Mario All Stars defaults to, and I'm pretty sure the super game boy also defaults to that. I understand why the emulators wouldn't default to that though.
-
how the heck do you post on this site, keep getting errors that no topic
-
@drooh7 must post atleast 1 topic before posting, ??? FAIL! How do I post a question? Not enough tags?
-
If I may I would like to join this thread here since I have some issues setting up the controls manually for FBA (pifba).
I am well aware how all this per core or per game saving stuff works and I know that pifba doesn't have a quick menu with the "Controls" option.
You have to edit the fba2x.cfg file manually to get the layout you want.
Well, it did work before and that is what makes this issue really strange.
I had 1 arcade stick in the past and I set it up in that fba2x.cfg file and all was good.
Yesterday I connected a XBox 360 Wireless Arcade Stick and all works good in the ES menu and all other emulators except for that pifba.
I did the jstest for js0 and js1 and wrote down the button numbers.
Now the previous settings for my 1st arcade stick are still in there so I setup the settings for my new Arcade Stick in the Player 2 section of the file.
Save -> Close. Start game Marvel vs Street Fighter, clicking on START+L+R to get to the Input test menu and the controls are all messed up, they make no sense at all.
Funny thing is both sticks have the same button layout like it got overwritten by some other option or setting.
I then tried to remove the Xbox 360 Arcade stick and revert back to 1 stick setup but even then it won't recognize the settings within that fba2x.cfg file. It just decided to ignore them, any change I make in that file has no effect what so ever. I can switch the layout and nothing changes when I start the game.
I checked all other config files that I can think of but none seem to be connected to that pifba emulator.
I am totally lost here. If there is any other place that I can look please tell me.Raspberry Pi 3
Retropie 4.1.5
Latest pifba package installed -
@FlyingTomahawk You'd be better starting a new topic asking for help as this was specifically about retroarch remapping and you're more likely to get better help that way.
-
Roger that. Will do. Thx.
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.