Remapping Emulator Keys (specifically mGBA)

I cannot for the life of me figure out how to remap the buttons for mgba. The main problem I’m having is I do not like how you have to hold down the shift key + X/Y to access the shoulder buttons. This is very awkward and for games like Megaman Zero it makes gameplay pretty much impossible. What I would like to do, is swap the functionality of the turbo keys which are mapped to X/Y by default (I have never had a use for turbo keys anyway) but after trying a few different things (see list below) I really cannot figure out how to do this.

Things I have tried:

  • Searching to see if anyone else had this problem
  • Searching man page for mgba and seeing if there’s something there

    Possibly through settings menu but I have yet to figure out how to open the settings menu for mgba

  • Pressed shift + every button on the device while inside mbga with game running; I found out X/Y + shift map to L/R this way
  • Went into RetroArch to see if there was any way to remap the controls there
  • And finally SSH’d into the gameshell itself to try and see if the config files were located there.

I’m still trying to figure out how to do this but so far no go so if anyone has figured this out or has a solution to my problem I am all ears.

Ok, so I figured everything out. First; I followed the first part of the guide at this location:

For getting RetroArch’s keys to match up with the gamepad controls. However, I think my problem was that I had the same key command mapped for Quit RetroArch and Menu

So, for future reference for anyone else having this problem, here’s how to fix it:

  1. Boot up retroarch on your gameshell
  2. Navigate to Settings->Input->Input Hotkey Binds
  3. Map “Menu Toggle” to whatever key(s) you want to bring up the emulator menu with
  4. Map “Quit Retroarch” to whatever key(s) you want to return to the GS menu
  5. Boot up mGBA under the emulators menu
  6. Press whatever button you set as “Menu Toggle”
  7. Go to controls and remap as desired
  8. Happy gaming!
1 Like

I use “backspace” (shift-Menu) to quit Retroarch and “escape” (Menu) for Menu Toggle. Much less apt to accidentally exit out of a game that way…



Yeah I tried that at first but for whatever reason it feels more natural to me flipped; I really don’t know why as the way you suggested is safer, but oh well; whatever works I guess.

I still can’t get any of these settings to take, and it sucks because this is the main system I want to play, as it has the right # of buttons for it, despite it not being easy to get set up to actually play it.

Are you saying that changes to Retroarch settings aren’t being saved? If so, you may have a corrupt config file. To repair the file, try this:

cp ~/.config/retroarch/retroarch.cfg.bak ~/.config/retroarch/retroarch.cfg

…then go to Settings->Buttons Layout and instruct it to Update RetroArch (X or Y, depending on your layout choice).


Do you have remap-file one could use?
I followed your 8 steps above but I still didn’t find an easy way to remap the buttons.

1 Like

This is for the people who have said that they couldn’t get what I did above to work. Just to clarify and just in case people are missing this part, there is a link above my 8 steps which I followed first which is used to sync the retroarch menu buttons. Not the emulator menu buttons but the retroarch interface itself.

Once you get the menu buttons synced according to the retroarch megathread then follow the 8 steps.

To set the controls, go to the control section of the mGBA menu and use up/down on the D-pad to highlight the control you want to change and left/right to change the button to the desired key. (you have to run the emulator first and while the emulator is running hit whatever key combo you assigned to bring up the menu).

Hopefully this reply clears up any confusion / helps those who are having trouble and I apologize for the late reply; I’m in the middle of buying a house and it’s been crazy busy.