How to Use a PS3 Controller With Your PC, Raspberry Pi or RetroGame.Club Console

How to Use a PS3 Controller With Your PC, Raspberry Pi or RetroGame.Club Console

Almost four years into a new generation of consoles, the PlayStation 3 can be regarded as going extinct. Gamers have very few reasons to take out their PS3 these days, but if you’ve got a RetroGame.Club console or a Gaming PC, those old PlayStation controllers can still be put to good use. All you will need is a few minutes of time and a Mini USB cable and you can pair your PlayStation 3 Controller with your PC or one of RetroGame.Club's @Home Consoles. If that interests you, we have put together a tutorial, so you can lose the mouse and keyboard in exchange for something a bit more fun.


Video (Method 2):

(Text Guide Method 1)

Step 1. Update Drivers & Windows .Net Framework

Connect your PlayStation 3 controller to your PC via USB, and Windows should begin installing drivers automatically. Some of these are probably already installed on your computer, but just in case, make sure you have downloaded the official Xbox 360 PC driver, .NET Framework 4.0, and Visual C++ (2010 or later should work). If you’re running Windows 10, the Xbox driver should install automatically, but you may need to download it manually if you’re running an older operating system.

You can check your currently installed drivers by opening Command Prompt and typing in “driverquery,” before hitting the Enter key. Once you’ve installed all the relevant drivers, it’s time to download the third-party software that will enable your DualShock 3 controller to work with your PC.


Head to the official SCP Toolkit download thread and click the green link to download the latest stable release. If you’re using an older version of Windows, you will need a tool like 7-Zip to extract the files; Windows 10 has a native decompression tool. Once downloaded and extracted, launch the executable file — “ScToolkit_Setup.exe” — as an administrator to install the software.

Once installed, you’ll be prompted to open the program, which will actually install additional drivers (it sounds more complicated than it is). If you don’t see this prompt, search for “Scp” and select ScpToolkit Driver Installer.


Go ahead and run the installer, and a new window will open. Be sure all the boxes are checked, including Force Driver Installation. From the Choose DualShock 3 drop-down menu, find and select your DualShock 3 controller. If you also plan to use either a DualShock 4 or a Bluetooth dongle to enable wireless play, select those as well. Finally, click Install. All the necessary files will install and be automatically configured. Once complete, your DualShock 3 will now be plug-and-play, meaning you can plug it in at any time and it should work automatically.

Something to keep in mind: Since you’re technically using the Xbox 360 drivers to interact with the PS3 controller, games will likely display an Xbox control scheme. So when a game wants you to “press X,” you’ll want to hit the Circle button instead.


At this point, your DualShock 3 is ready to go. However, if you’re so inclined, you can fine-tune your controller through various applications included with the ScpToolkit.


By using the ScpToolkit Profile Manager and the ScpToolkit Settings Manager, you can customize your controller experience to suit your needs and individual play style. With the Profile manager, you can create custom button mappings that you can then swap between on the fly. You can also create mapping for your keyboard and mouse as well. The Settings Manager will even allow you to fine-tune your thumbstick sensitivity, rumble, controller latency, and LED display, among a lot of other advanced settings.


Windows 10 can be picky with controllers. Microsoft’s operating system is, unsurprisingly, designed to work with Xbox One accessories and the Xbox Liveecosystem: It isn’t naturally suited for a Sony device, especially an outdated one. While the ScpToolkit circumvents most of the issues users may face when using the DualShock 3 on their PC, there may be errors during the installation process. Thankfully, there is a workaround to enable driver installation. It may be wise, however, to back up important files before proceeding, even if the procedure isn’t necessarily dangerous. You will be changing Windows startup settings, after all.

  1. Begin by pressing the Start button, or the Windows key.
  2. Go to Settings.
  3. Click on Update and Security.
  4. Select Recovery from the list on the left.
  5. Click Advanced Restart.
  6. Now wait. Your system will restart and boot in a mode that will allow you to alter your firmware and startup settings, thus allowing you to bypass the driver signature enforcement.
  7. Select Troubleshoot from the resulting list of options.
  8. Click Advanced Settings, then Startup Settings. This will initiate another restart.
  9. After your system boots again, you will have another set of options to choose from. Find Disable Driver Signature Enforcement, then press the F7 Key to reboot your PC one last time.
  10. When your PC finishes rebooting, follow the procedures outlined above to reinstall and configure ScpToolkit.


RetroGame.Club or Raspberry-Pi Based Consoles


Configuring a PS3 controller to connect via Bluetooth 

Before booting your Raspberry Pi, make sure that a supported Bluetooth adapter is connected (If you are using a RetroGame.Club console or a Raspberry Pi 3, the built-in Bluetooth works for this). If you have a Playstation 3 console near by, make sure it is completely powered off: either unplug it or switch it off in the back because the PS3 controller will attempt to pair with your PS3 otherwise.

After your Pi boots up, you need to enter your Bluetooth setup menu. This is accomplished differently depending on your O.S. but is usually easily found under the settings menu -> "Bluetooth". You can generally do this one of two ways:

  1. Setting up your keyboard or PS3 controller as a USB gamepad (you must configure a gamepad before you can use most Raspberry Pi consoles), On RetroEvolved or RetroPie consoles, this can be accomplished by navigating to the "RetroEvolved" or "RetroPie" icon in the Home Screen, and selecting it using whatever key you mapped "A" to on your gamepad.
  2. Pressing F4 on a keyboard to quit EmulationStation and running the RetroEvolved or Retropie script from the terminal. Once you're in the terminal, follow these instructions to run the or script.

    Using the RetroEvolved / RetroPie GUI to configure the PS3 Controller Bluetooth Connection

    1. Navigate to the "RetroEvolved" or "RetroPie" icon in the Home Screen and select it using whatever key you mapped "A" to on your gamepad
    2. Once in the GUI, choose [Manage packages] > [driver].
    3. Select PS3 Controller Driver ("ps3controller"), and then select [Install from source].
    4. Once installation completes, exit the setup and return to the EmulationStation Home Screen.
    5. Press "Start" to enter the EmulationStation Menu, and select Configure Input.
    6. Disconnect your PS3 controller from USB. Now hold the PS button on the controller down until you see the lights on it flash sequentially. The controller should now be connected via Bluetooth.
    7. Emulation Station should now detect another gamepad connected. Hold any button down on the controller to begin configuring it.

    And you now have a functional PS3 controller over Bluetooth.

    Some PS3 Controller clones (such as the Shanwan PS3 Controllers) will not connect over bluetooth until they are physically connected and removed from a normal USB connection. If you are having issues pairing a controller, try connecting it via USB for several seconds, disconnecting it, and then pairing it over Bluetooth.


    Using the RetroEvolved or RetroPie shell to configure the PS3 Controller Bluetooth Connection

    Note: Do not enable other bluetooth options as these will conflict with the PS3 specific bluetooth setup (sixad)


    At the EmulationStation Home Screen, press F4 on a keyboard to quit EmulationStation and run the Retropie script from the terminal. Once you're in the terminal, follow these instructions to run the or script.

    on RetroEvolved consoles type

    sudo RetroEvolved-Setup/

    on RetroPie consoles type

    sudo RetroPie-Setup/


    Now select Manage packages > Manage driver packages > ps3controller

    After it finishes compiling, the GUI prompt will ask you to make sure that your Bluetooth dongle is connected. Press enter and connect your PS3 controller.

    Once this is done, you can disconnect the controller USB cable, and press the Playstation button to pair it via Bluetooth.

    After installation of PS3 controller driver bluetooth connection of new controllers will be configured automatically if you connect them over usb.

    Persisting bluetooth

    For bluetooth pairing to persist between reboots you need to make sure sixad is executed during startup. Exit EmulationStation and and edit rc.local.

    sudo nano /etc/rc.local

    Add sixad --start & before the line exit 0 and save (ctrl-x then y)

    Manually setting input

    If the keys stop working in-game after switching to bluetooth or you want to configure inputs manually you can do this the recommended way using the RetroArch configuration UI (under settings > input) or by creating a input map manually:

    On RetroEvolved consoles type:

    cd /opt/retroevolved/configs/all/retroarch-joypads/

    On RetroPie consoles type:

    cd /opt/retropie/configs/all/retroarch-joypads/


    touch PLAYSTATION\(R\)3\ Controller.cfg nano PLAYSTATION\(R\)3\ Controller.cfg

    Example config:

    input_driver = "udev"
    input_device = "PLAYSTATION(R)3 Controller"
    input_b_btn = "13"
    input_y_btn = "15"
    input_select_btn = "0"
    input_start_btn = "3"
    input_up_btn = "4"
    input_down_btn = "6"
    input_left_btn = "7"
    input_right_btn = "5"
    input_a_btn = "14"
    input_x_btn = "12"
    input_l_btn = "10"
    input_r_btn = "11"
    input_l2_btn = "8"
    input_r2_btn = "9"
    input_l3_btn = "1"
    input_r3_btn = "2"
    input_l_x_plus_axis = "-0"
    input_l_x_minus_axis = "+0"
    input_l_y_plus_axis = "+1"
    input_l_y_minus_axis = "-1"
    input_r_x_plus_axis = "-2"
    input_r_x_minus_axis = "+2"
    input_r_y_plus_axis = "+3"
    input_r_y_minus_axis = "-3"
    input_enable_hotkey_btn = "0"
    input_exit_emulator_btn = "3" 

    Leave a comment

    Please note, comments must be approved before they are published