Affiliate disclosure: This guide contains affiliate links. As an Amazon Associate, we earn from qualifying purchases at no extra cost to you. Learn more.
How to Fix Controller and Button Mapping Problems in Emulation
2026-07-29 · Troubleshooting
Affiliate disclosure: This guide contains affiliate links. As an Amazon Associate, we earn from qualifying purchases at no extra cost to you. Learn more.
Controller problems are the most confusing category of emulation issue, because the same symptom can come from three completely different layers. A button in the wrong place might be an emulator setting, a core setting, or the operating system deciding your controller is something else entirely.
This guide separates those layers so you can fix the right one.
The Three Layers of Emulator Input
Almost every mapping problem lives in one of these.
- The device layer. Your handheld or operating system recognises a controller and assigns it an identity.
- The emulator layer. RetroArch or a standalone emulator maps that controller's physical buttons to a virtual gamepad.
- The core or game layer. The emulated console maps its own buttons, and some games remap further internally.
If your face buttons are swapped, that is usually layer 2 or 3. If nothing responds at all, it is layer 1.
Problem: The Controller Is Not Detected At All
Start here if nothing works.
- Check it is actually paired and connected, not just paired. Our Bluetooth controller will not connect guide covers the pairing side in detail.
- Try a wired connection to rule out the wireless stack entirely. If wired works and wireless does not, the problem is pairing, not mapping.
- Check the input driver. RetroArch has several, and the right one varies by platform. On Linux handhelds
udevis usually correct. On Android,androidis correct. On Windows,xinputordinput. - Turn off the handheld's built in controls conflict. Some devices register their internal controls as Player 1 and your external pad as Player 2, which makes the external pad look dead in a single player game.
Problem: Buttons Are in the Wrong Place
This is the most common complaint, and there is a reason it happens so often.
Nintendo and Xbox layouts are mirrored. On a Nintendo pad, B is the bottom face button. On an Xbox pad, A is the bottom face button. Emulators map physical positions, not labels, so a SNES game on an Xbox style controller will feel swapped unless something corrects for it.
The fix in RetroArch:
- Go to Settings, then Input, then Port 1 Controls.
- Remap the buttons to match how you want them to feel.
- Save this as a game remap or core remap so it applies only where you want it, rather than globally.
Saving per core is the key trick. You probably want Nintendo layout for SNES and Xbox layout for a PS1 game, and per core remaps let you have both.
Standalone emulators each have their own input screen, but the principle is identical.
Problem: Hotkeys Fire During Gameplay
If your game randomly saves states, opens menus, or exits, a hotkey is bound to a button you are actually using.
- In RetroArch, set a dedicated Hotkey Enable button, often a shoulder button or a Select button. After that, hotkeys only trigger while you hold it.
- Avoid binding hotkeys to face buttons or the D-pad.
- On handhelds with few buttons, the Menu or Function key is usually the intended hotkey modifier.
This one fix eliminates a whole class of mysterious mid game interruptions.
Problem: Analog Sticks Do Not Work, or Drift
- Sticks not responding in a game that should support them? Check whether the core is set to a controller type that has sticks. In RetroArch, PS1 cores often default to a digital pad. Change the Device Type to a DualShock or analog controller and the sticks come alive.
- Sticks work but the character drifts? That is a hardware or deadzone issue rather than a mapping one. Our stick drift guide covers both the calibration and the hardware fixes.
- Stick mapped to the D-pad, or the reverse? Some cores have a left analog to D-pad option. Turn it on or off depending on what you want.
Problem: The Wrong Player Number
If the game thinks you are Player 2, you will control nothing in a single player game.
- Check the port assignment in your emulator's input settings.
- Unplug or unpair other controllers to remove ambiguity.
- On devices with built in controls, the internal pad usually claims Player 1. If you want an external pad as Player 1, you may need to change the port order.
Problem: Mapping Resets Every Time
Frustrating and usually simple.
- You changed the mapping but never saved it. In RetroArch, use Save Core Remap File or Save Game Remap File in the quick menu.
- Your configuration file is not being written. Check that RetroArch has Save Configuration on Exit enabled, or save the config manually.
- On a locked or full microSD card, nothing can be written at all. Check free space, and see our microSD corruption guide if the card is misbehaving more broadly.
Handheld Specific Notes
- Steam Deck uses Steam Input, which sits on top of everything else and can override emulator mappings. If a mapping makes no sense, check the Steam Input layout for that game or emulator first.
- Android handhelds sometimes have a manufacturer mapping tool that intercepts buttons before the emulator sees them. Check the device's own settings app.
- Budget Linux handhelds on custom firmware usually have sane defaults. If you have broken them, reinstalling the firmware's default config is often faster than fixing it by hand. See our muOS and KNULLI guides.
Quick Checklist
- Confirm the controller is connected, not just paired
- Try wired to rule out wireless problems
- Check the input driver matches your platform
- Remap in the emulator and save as a core or game remap
- Set a Hotkey Enable button so hotkeys stop firing mid game
- Set the core's Device Type correctly for analog support
- Confirm you are Player 1
- Make sure your config is actually saving
Frequently Asked Questions
Why are my A and B buttons swapped in emulators?
Nintendo and Xbox controller layouts are mirrored. Nintendo puts B at the bottom, Xbox puts A at the bottom, and emulators map physical positions rather than printed labels. Remap the buttons in your emulator and save it as a per core remap so each system feels right.
How do I stop hotkeys triggering while I play?
Set a dedicated Hotkey Enable button in RetroArch, usually a shoulder or Select button. Hotkeys will then only work while you hold it, which stops accidental save states and menu exits during gameplay.
Why do my analog sticks not work in PS1 games?
The core is probably set to a digital controller. In RetroArch, open the quick menu, find Controls, and change the Device Type to a DualShock or analog pad. The sticks will start working immediately.
Why does my controller mapping reset every time?
You did not save it, or the config cannot be written. In RetroArch use Save Core Remap File or Save Game Remap File after remapping, and confirm Save Configuration on Exit is enabled. A full or corrupted microSD card can also block writes.
My controller works in the menu but not in games. Why?
This is usually a player port problem. The emulator has your controller assigned to a port the game is not reading, often Player 2. Check the port assignment and disconnect any other controllers that might be claiming Player 1.
Why does my Steam Deck ignore my emulator button mapping?
Steam Input sits above the emulator and can override its mappings. Check the Steam Input controller layout assigned to that emulator or game, and either fix it there or set the layout to a plain gamepad template so the emulator's own mapping takes effect.

