Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
RetroPie supports many popular controllers out of the box. On first boot you will be prompted to configure a controller in EmulationStation. Once you finish configuring your controller, multiple configuration profiles will be automagically generated for most of the systems in RetroPie.
Some emulators will still require manual controller configuration which will be detailed on their respective system page here in the documentation.
You can also configure controls for individual systems and individual games. For more advanced controller configuration with libretro cores (any emulator that starts with
lr) see the RetroArch-Configuration page.
Note that some controllers (primarily wireless or bluetooth controllers) may require special drivers to be installed through the RetroPie Setup Script which are detailed on their individual controller page.
On first boot this menu in EmulationStation will configure your controls for both Emulationstation and RetroArch Emulators:
Hold down any button on your keyboard or gamepad and the name will appear at the bottom and then open up into a configuration menu:
Follow the onscreen instructions to configure your gamepad- if you run out of buttons just hold down a button to skip each unused button. When you get to OK press the button you have configured as "A".
If you wish to configure more than one controller, you can do so from the start menu of emulationstation. For more details on manual controller configurations see this page Here.
See the following diagrams for reference:
|XBox 360 Controller|
Hotkeys enable you to press a combination of buttons to access functions such as saving, loading, and exiting emulators. The following chart shows the default hotkey combinations. By default, the hotkey is select so that means you hold down select while pressing another button to execute a command. Note that hotkeys are only specific to the retroarch/libretro based emulators.
|Select+Right||Input State Slot Increase|
|Select+Left||Input State Slot Decrease|