RetroArch B and A Swapped: Why Your Controller Feels Wrong and How to Fix It

RetroArch B and A Swapped: Why Your Controller Feels Wrong and How to Fix It

It happens every single time you set up a new handheld or a fresh install of RetroArch. You fire up Super Mario World or Chronicles of Narnia, press what you think is the "Accept" button, and nothing happens. Or worse, you back out of the menu entirely. It’s infuriating. RetroArch B and A swapped issues aren't just a minor glitch; they're a fundamental clash between two different philosophies of controller design that have been at war since the mid-eighties.

Nintendo likes their "A" on the right. Sony and Microsoft? They want their primary action button on the bottom. When you drop an emulator into that mix, things get messy fast.

The problem basically stems from how RetroArch handles its "Retropad" abstraction layer. Think of the Retropad as a virtual controller that sits between your physical hardware and the game engine. When you press a button on your Xbox controller, RetroArch translates that to a Retropad input, which then tells the SNES core what to do. If that translation is off, your muscle memory goes out the window.

Honestly, it’s the number one reason people quit using RetroArch within the first ten minutes. They think the software is broken. It isn't. It's just very, very specific about its internal logic.

The Nintendo vs. The World Problem

Why is this even a thing?

Look at a SNES controller. The A button is on the far right, and B is at the bottom. Now look at an Xbox or PlayStation controller. On an Xbox pad, the A button is at the bottom. On a PlayStation "DualSense," the Cross button (the primary "OK" button in the West) is also at the bottom.

RetroArch was built with a "Nintendo-first" mindset for its menu navigation. By default, it expects the button on the right of your diamond pattern to be "Accept" and the button on the bottom to be "Back." If you’re using a modern PC controller, this feels completely backwards. You’re hitting 'A' to select a game, but RetroArch thinks you’re hitting 'B' because of the physical position.

It’s a literal geographical conflict on your thumb.

Fixing the Menu Mess

First, let's deal with the menus. If you're tired of hitting the bottom button and having the menu close, you need to toggle the Menu Swap option.

Navigate your way (carefully) to Settings, then Input. Look for a toggle called Menu Swap OK and Cancel Buttons.

Flip it.

💡 You might also like: Why the Pokemon Blooming Waters Premium Collection is a Must-Have for Every TCG Fan

Suddenly, the world makes sense again. Your bottom button (A on Xbox, Cross on PS) now acts as "Enter," and the right button acts as "Back." This doesn't change how the games play, but it makes navigating the thousands of shaders and core options 100% less painful. You’ve basically told RetroArch to stop acting like a Super Famicom and start acting like a modern console.

Remapping the In-Game Action

Now, the games themselves. This is where people get tripped up. Just because you fixed the menu doesn't mean Street Fighter is going to behave.

RetroArch uses "Core Remapping" for this. You shouldn't go into the global Input settings and start changing "User 1 Binds." If you do that, you'll break the controls for every single other system you have installed. It's a nightmare to undo.

Instead, load a game. Any game. Once it’s running, open the Quick Menu (usually F1 or the home button). Scroll down to Controls. Inside here, go to Port 1 Controls.

This is where the magic happens. You’ll see a list of the original console’s buttons on the left and what they are currently mapped to on your physical controller on the right. If the SNES "B" is mapped to your "A," and it feels wrong for a specific platformer, you change it here.

Once you’ve found the sweet spot, don’t just exit. You have to save it. Look for Manage Remap Files and select Save Core Remap File. Now, every time you load a game for that specific system, RetroArch will remember that you prefer the swapped layout.

The "All Users" Confusion

There is a weird quirk in the RetroArch config file (retroarch.cfg) that sometimes causes these settings to revert. If you find that your RetroArch B and A swapped fix isn't sticking, check if you have "Configuration Save on Exit" turned on.

Go to Settings > Configuration. Ensure Save Configuration on Quit is enabled.

Sometimes, if you're using a pre-built image like those found on certain handheld "retro" devices, the developers have hard-coded the button layout into an override file. These override files sit in the /config/ folder and will ignore whatever you do in the UI. If you’re comfortable with a text editor, you can go in and manually change input_menu_ok_btn and input_menu_cancel_btn.

It’s a bit technical, but it’s the "nuclear option" when the menu toggles refuse to behave.

Why Handhelds Make This Harder

Devices like the Miyoo Mini, Anbernic, or Retroid Pocket add another layer of complexity. These devices usually have physical buttons labeled in the Nintendo layout (A on right, B on bottom). However, the underlying Linux or Android OS might see them as an Xbox-style controller.

You end up in a situation where the physical label on the plastic says "A," the OS thinks it's "B," and RetroArch is trying to guess which one you want to prioritize.

In these cases, the best approach is to ignore the labels on the plastic. Close your eyes. Feel where your thumb wants to go to "Accept." Map the controls based on your physical comfort, not what is printed on the hardware.

💡 You might also like: Cartoon Network Punch Time Explosion: Why This Weird Smash Bros Clone Still Matters

Actionable Steps for a Perfect Setup

If you’re staring at your screen right now, frustrated that you keep backing out of folders, do this exactly:

  1. Open RetroArch and go to Settings -> Input.
  2. Enable Menu Swap OK and Cancel Buttons. This fixes the "UI feel."
  3. Go to Settings -> Input -> Retropad Binds -> Port 1 Controls.
  4. Verify that your physical "bottom" button is mapped to "B (down)" and your "right" button is mapped to "A (right)." This follows the Retropad standard.
  5. Launch a game and use the Quick Menu -> Controls method to fine-tune specific systems like the NES or Sega Genesis, which only had two or three buttons and often need custom layouts to feel "right" on a four-button diamond.
  6. Always use Save Core Remap File to ensure your NES games don't use your SNES layout.

By separating the "Menu" logic from the "In-Game" logic, you stop fighting the software. You can have a modern, comfortable menu experience while still maintaining the authentic, intended button placement for the classic games you're playing. It takes five minutes to set up correctly, but it saves hours of accidental menu closures and missed jumps in-game.