Please do not post a support request without first reading and following the advice in

Controllers order, how swap ?

  • I have searched during days google / youtube / forums
    and I did not see a functionality that would be necessary and useful
    an option to swap between controls, or even change their order

    for example, you may have established that a wired control would be the first, and a wireless ps3 the second and a keyboard the third!
    days later you decide you want the wireless ps3 as joy1 but now it's late! or just a reset!

    so an option could be made to change their order WILL BE GREAT

  • @wfraga in emulationstation, go into the retropie menu. Do you see joystick selection in there? If not go into "run command" option and enable it. Exit and restart your pi. Now when you go into the retropie menu you will see joystick selection. Now you can arrange the controllers any way you want for any retroarch emulator.

  • hi @edmaul69 thank you by the prompt help
    i tried this many times before and today after you tell too

    but still showing only:

    audio, bluetooth, config editor, es themes, file manager,raspi-config, retroarch, retroarch netplay, retropie setup, RUN COMMAND CONFIG, show ip, splash screens, wifi

    but not about joystick selection

  • @wfraga did you go into runcommand config and enable joystick selection, exit then restart the pi? if so the problem is that there is more than 1 gamelist.xml for retropie menu and it didnt add it to the one that is seen first. Look in:


    And look for joystick_selection. If it is not there look in:


    you should see the joystick_selection listed there. It might not be listed in the first location. If it isnt in the first location then you need to add that whole section in there.

  • @edmaul69 Hi, I have seen you mention this a few times. As far as I know the joystick selection script needs to be manually installed. It is not installed by default. I even asked @meleu about this and he confirmed his script had not been incorporated into the setup script. Perhaps I have misunderstood.

  • @jonnykesh you will see i told how to manually install. he said he did so this was my next step.

  • @edmaul69 Ah, sorry.

  • Hello friends! Thanks for tagging me.

    Let me say some notes about my tool:


  • Hi, sorry for the reply on a dead post here, but I am absolutely baffled with these github instructions. What do I download? Where do I install it on the pi? How do I make a .sh file executable? Right now, my Pi is convinced that my wireless PS3 controller is player 1 ONLY when it's plugged in. I would dearly like to correct this, and this module/update seems to be the ticket. Any further information would be greatly appreciated, thank you!

  • @koober728 As far as I remember doing it myself, you just enter the three commands listed unter "Installation" in the command console you get to by pressing F4 in Emulation Station. The first will download the installation script, the second will make it executable, the third the second will execute it. All done.

    The only command not listed is one to delete the after successful installation. You can use this one: rm

    You get back to ES from the command line by entering exit edit: or emulationstation.

    edit: Included the changes @meleu did to the Instructions on

  • @clyde I've updated the installation instructions trying to detail and simplify them a little bit. I hope it is more clear for newcommers ;)

    Thanks for your suggestions.

  • administrators

    Note that RetroPie does have basic joystick order selection built in. Via the configuration editor. Not as extensive as Meleus script but works.

  • @meleu My pleasure. :) Thanks for keeping the instructions as newbie-friendly as possible.

    I wonder if there's any technical difference between starting emulationstation or just exit'ing the shell. I don't have my Pi in working order right now to test it, because I had to disassemble my upright cabinet for the finishing touches.

  • @meleu can this be done at a rom level or is it only possible at an emulator level? Reason I ask is because I built a 4 player arcade cabinet that mainly houses 3-4 player games but I also threw in some of the classics like Donkey Kong, Q-Bert, etc. My joystick order from left to right on the arcade is player 1, 2, 3, and 4. I would like to be able to set player 2 as player 1 when I am playing the classic games and set player 2 as player 1 and player 3 as player 2 on the two player games I have like Mortal Combat so you are using the middle controllers rather than the outside controller.

  • Global Moderator

    @doughrat19 Have you tried using the RetroArch gui (started with Select + X mid-game) and then re-arranging your controls from the controls section ? Use the 'Save game remap' function and if it works it could save the mapping for the game.

  • @mitu, right now my roms are a mess. I’m a newbie and learning as I go. I have multiple versions of roms that I am running on multiple emulators, not all libretro. I am going to do a cleanup and make sure all my roms are MAME 0.78 and use lr-mame2003 to run them. I will give your method a shot. One question though, controller 1 (port 0) has the ability to exit out of the games. If I map everything to controller 2 to make it player 1, will it have that ability or will it still be tied to port 0?

    I actually came across this thread because I am building a system for my buddy who is currently stationed in Afghanistan, I’m going to ship it over to him. I got a SNES raspberry pi case with functional ports in the front of the case. It’s moves ports 2 and 3 to the front of the case (ports 0 and 1 are on the side). This thread was extremely helpful in allowing me to change port 2 to player 1, port 3 to player 2, port 0 to player 3 and port 1 to player 4.

  • This is now built into the Retro Pie Configuration Editor.

    Configuration Editor -> 1) Configure basic libretro emulator options -> Pick your system or pick default for all -> 7) Choose joypad order.

    From there just pick your order and you are good to go!

  • @Mr_Fix_It Thanks sooo much for this man I've been pulling my hair out for days with these bloody controllers. :)

Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.