A script to let the user choose the controllers to use for RetroArch players 1-4. It shows several user-friendly dialog boxes to perform this task. You can set the global and/or the system specific configuration.
The joystick selection has two methods of work:
- The traditional joystick selection by its index number
- The new joystick selection by name method
The advantage of the selection by name method is that there is no need to care about the joystick connection order. You can configure your "Generic USB SNES gamepad" to be the player1 no matter what USB port you use. Or, better yet, configure your "Fancy Bluetooth joypad" to be the player1 no matter what was the order it was paired or how many USB joysticks are connected.
It was made for use with RetroPie only.
[30-June-2017] The installation procedure has changed (again)!
Some people were having issues with the previous installation procedure, then I changed it to simplify things.
-
If you're on EmulationStation, press
F4
to go to the Command Line Interface. -
Download the
install.sh
script, and launch it:
curl https://raw.githubusercontent.com/meleu/RetroPie-joystick-selection/master/install.sh -o install.sh
bash install.sh
- The script will automatically download the joystick-selection scriptmodule and install everything you need. After installation you can safely delete the
install.sh
file:
rm install.sh
- After that you are ready to use it via RetroPie menu in emulationstation:
emulationstation
After installing, you can update it through RetroPie-Setup.
To update the joystick-selection tool, go to RetroPie-Setup and:
Manage packages >> Manage experimental packages >> joystick-selection >> Update from source
If you would like to buy me a beer and say thanks, click the button below.
Main menu:
Global configuration (with no configs):
Joystick selection screen:
Global configuration (by index method, all 4 joysticks are set):
Global configuration (by name method, all 4 joysticks are set):
Systems menu (I have just a few of them installed):
System specific (by index method, some joysticks are set):
System specific (by name method, some joysticks are set):
- If you are using joysticks with equal names, then, yes, the connection order matters.
- [This issue doesn't happen if you use the joystick selection by name method] If the joystick list order changes (adding/removing devices), your configuration changes too. So you have to run
joystick_selection.sh
again. - [This is RetroArch issue. It doesn't happen because of the joystick selection tool] Due to the dynamic nature of bluetooth connections, if you configure a bluetooth joystick as Player 1, and somehow lose the connection during a game, if you don't have a keyboard plugged in it'll be annoying to exit RetroArch (connect to RetroPie via ssh and kill RetroArch process. If your raspi isn't on the LAN, :( I think you'll have to unplug your power supply.).