Remap RetroArch buttons for one game on Android
Keep the global controller profile unchanged. Load the authorized content with the intended core, open Quick Menu → Controls, change only the affected RetroPad-to-core mappings, test every required action, and save a Game Remap File. Use a directory or core remap only when the same mapping is intentionally shared, then restart the content to prove the `.rmp` file reloads.
Do this in order
- 01
Verify the controller autoconfig works in the RetroArch menu and record the frontend build, core name and revision, content name, and current Input Remapping directory.
- 02
Load the content, open Quick Menu → Controls, select the correct port, and confirm its Device Type is supported by that core.
- 03
Change only the core-facing buttons that the game needs; leave frontend hotkeys and the physical controller profile untouched.
- 04
Resume content and test movement, start, coin or select, every required action button, and the menu hotkey so you cannot lock yourself out.
- 05
Return to Quick Menu → Controls and choose Save Game Remap File; use content-directory or core scope only after documenting why every affected title needs the same mapping.
- 06
Close and reload the content, verify the remap appears, and keep the previous `.rmp` file or a deletion note so the change is reversible.
Decision and diagnostic table
| Remap scope | Use it when | Main risk |
|---|---|---|
| Game | One title has a distinct panel or preferred layout | Filename or content identity changes can prevent a match |
| Content directory | A curated folder intentionally shares one mapping | Unrelated content in the folder inherits it |
| Core | Every title using that core needs the same translation | A broad change can hide title-specific controls |
| Controller profile | Physical buttons are wrong in menus and all cores | Do not use it for one game's layout |
Hardware binding and core remapping are different layers
Autoconfiguration maps the physical pad to the RetroPad. A remap translates RetroPad inputs into the controls exposed by the loaded core. Keeping those layers separate lets one controller remain predictable across the frontend while one arcade title receives a special panel layout.
Frontend hotkeys live outside the core's emulated buttons. Test the menu combination after every remap so an action button does not accidentally become an exit or save-state command.
The narrowest scope is the safest default
Libretro loads remaps in a hierarchy: game is more specific than content directory, which is more specific than core. A game remap therefore limits the blast radius while you validate the layout.
Promote a proven layout to a broader scope only when the affected collection is deliberate and homogeneous. Folder organization becomes configuration once a content-directory remap exists.
Reloading is part of the save operation
A mapping that works before closing content may still be only session state. Reload the same content and inspect Quick Menu → Controls to confirm RetroArch found the expected `.rmp` file.
If the wrong mapping returns, record every active scope before editing again. Removing the most specific remap can reveal a broader directory or core remap that was always present.
Input remapping changes controls, not content rights. Use your own dump, creator-authorized content, a project-original test program, or another lawful source; do not download a commercial ROM to test a button layout.