Controller Configs

I am having a hard time grasping the controller configs. What’s the difference between settings> input > user 1 binds and quick menu> controls

I was using the first method before and saving the configuration file for the core but that wasn’t saving anything. Today I noticed the second method and it seems to be a bit more intuitive but I have to save each core remap and some of my systems use the same cores.

Basically I have no idea what I’m doing and any help is appreciated.

Settings > input are the universal controller binds. Quick menu > controls allows you to fine tune controller binds to core/game specific buttons. For example, let’s say you’re using a SNES controller to navigate the menus. A selects, B goes back, arrow keys moves the cursor, etc. Now you’ve loaded a NES game where A is jump and B is shoot. Maybe you’d rather have B as jump and Y as shoot? That’s where the Quick Menu > controls comes in. This is where those remaps occur, and can be saved and loaded automatically by the core when relaunched. Hope that makes sense!

That does help me a little. I am using a Xbox one pad for every core. What do you mean universal? Is that JUST for RA menus? I swear before I was changing them in settings> input and it was remapping for games.

RetroArch’s input is based on the idea of a virtual gamepad that we call “the retropad”. In settings > input > user 1 binds, you can map the retropad’s buttons to your physical pad.

As part of the process of porting a core to libretro, the author chooses a default mapping for the core’s functions on the retropad. We usually try to match the physical layout of the original pad, but that’s not always possible (see: oddball gamepad layouts, like Sega Genesis/MD and N64). These default mappings will usually be fine and “sane”.

Not everyone likes the default mapping, though, so that’s where quick menu > controls comes in. There, you can move the core’s functions around on the retropad, such as Sivarticus’ example about moving the NES shoot/jump commands to Y and B instead of B and A, respectively. To make this process easier, we display the physical gamepad’s buttons in the left column when possible (that is, when the gamepad is recognized and autoconfigured).

If your gamepad is recognized and autoconfigured, you probably don’t need to go into settings > input > user 1 binds unless you really know what you’re doing. This is a mistake many people make that gets them in the weeds unnecessarily.

I think I may be even more confused now because when I edit the user 1 binds it changes the game controls.

Yes. It’s like this:

your gamepad > retropad > core functions

If you change your gamepad > retropad mapping, that is also going to affect where core functions appear on your gamepad.

Ah ha. So I might as well just change the upper level gamepad/retro pad settings instead of the slower level core pad?

well, if you change the gamepad > retropad mapping (i.e., via settings > input > user 1 binds), it affects everything, including menus and all cores. If you change the retropad > core function mapping (i.e., via the quick menu > controls menu), it affects just that core or even just that game, and not the menu (that’s what the controls menu is designed for, in fact).

I noticed for Mednafen Lynx I cannot change the core mapping.