RetroArch controller mapping
Last updated
Was this helpful?
Last updated
Was this helpful?
If the configuration of the buttons does not suit you for a game or a system managed by Retroarch (libretro cores), it is possible to create a specific mapping for a game.
Here is how to proceed.
Open RetroBat and launch the game for which you require a specific remapping.
Once in the game, press SELECT + buttons simultaneously to open the RetroArch menu, and select Quick Menu:
In the QUICK MENU list, you will find " Controls "
From there, proceed with the required remapping:
In this example, i have mapped the RetroPad left analog up input to the key defined for A in RetroBat (which is W on my keyboard):
Once the mapping is performed, exit and go back to the CONTROLS menu, then select the "Manage Remap Files" option:
In the next submenu, save the remap file for the game (it will apply to this game only)
Once saved, the new remap will now be used next time you run the game.
If you want to change the assignment of Retroarch hotkeys to controller or keyboard buttons, RetroBat offers a way to do so by appending dedicated files, here is how to proceed.
Template files can be found in the \system\resources\inputmapping\
folder of your RetroBat installation:
The file retroarch_controller_hotkeys.yml can be used to overwrite controller hotkeys assignment, and the file retroarch_kb_hotkeys.yml to overwrite keyboard hotkeys.
Copy the file retroarch_controller_hotkeys.yml to the \user\inputmapping\
folder of your RetroBat installation.
Open the file with your preferred text editor.
The file is a yml-formatted file, by default all values are commented.
The first thing to do is to uncomment the actual section where the buttons are defined, as well as the container section, this is done by removing the # character on all lines after the #default:
line, including the latter:
In this example, we will replace the fast-forward and rewind hotkeys with R1 and L1 buttons, and move the disk_eject and ai_service to the d-pad:
to do this, just assign the rewind feature to pageup (L1) and the hold_fast_forward to pagedown (R1), and then assign the disk_eject_toggle and ai_service to their respective d-pad buttons (left & right):
Now save the file:
Next time you run a game, the hotkeys will be the ones defined in the file:
In addition, it is also possible to perform a specific hotkey mapping for a single retroarch core, in this example, the mapping is different between the flycast core, by using toggle instead of hold for fast forward:
Copy the file retroarch_kb_hotkeys.yml to the \user\inputmapping\
folder of your RetroBat installation.
Open the file with your preferred text editor.
The file is a yml-formatted file, by default all values are commented.
The first thing to do is to uncomment the actual section where the buttons are defined, as well as the container section, this is done by removing the # character on all lines after the #default:
line, including the latter:
In this example, we will replace the fast-forward and rewind hotkeys with F9 and F10 keys:
to do this, just assign the rewind feature to F9 and the hold_fast_forward to F10:
Now save the file:
Next time you run a game, the hotkeys will be the ones defined in the file:
In addition, it is also possible to perform a specific hotkey mapping for a single retroarch core, in this example, the mapping is different between the flycast core, by using toggle instead of hold for fast forward:
Remap files are stored in the following folder of your RetroBat installation:
\emulators\retroarch\config\remaps\<core shortname>\
As you can see in this example: the value for "input_player1_stk_l_y-" is the value 8 (which corresponds to the change i have done above).
Information on how RetroArch manages controls can be found here:
RetroArch has a 2-step approach with controllers mapping:
Step 1: mapping of your physical gamepad with RetroArch "RetroPad"
Step 2: mapping of the Retropad with the original console or computer game controller
The guide in this page only treats about the second step, as it is assumed that RetroBat is passing all your physical gamepad buttons to RetroArch (this should always be the case if you have correctly configured your controller in RetroBat).
The mapping done in Step 1 can be found in the following section of RetroArch configuration:
()