You have to set your controls once in the main ui without a core loaded, this will be your main default controls. Then if you want to change the controls for a specific core you need to load a game for that core, then drop into the ui with F1 or the guide button on a xbox controller, then go to the "quick menu" this is the important part, not the "settings/input" menu but the "quick menu" as the options here are for the specific core you have loaded, just scroll to controls and set them how you would like, then in the same menu is a "save core remap file" this will save the controls you just changed for the specific core only and they will be auto loaded when you start that core.