USB Controller not working with RetroArch

Welcome Page Forums RetroPie Project Everything else related to the RetroPie Project USB Controller not working with RetroArch

This topic contains 5 replies, has 2 voices, and was last updated by  Aardvarkm 3 years, 6 months ago.

Viewing 6 posts - 1 through 6 (of 6 total)
  • Author
  • #16378


    Hello y’all,

    I’ve been trying to get RetroPie setup properly for a while now and it is becoming increasingly frustrating.

    Firstly, I spent a while on a version (1.x or so), in which I could configure the USB controller for the menu successfully but had no luck with RetroArch; my config appeared to be ignored, it still used the keyboard.

    When I updated to the latest version (the one that is live now), I was pleased with many of the improvements. Unfortunately, the controller still does not work with RetroArch despite functioning fully and working with the main menu.

    It is a PS2 (NOT a PS3) controller with a USB adapter but works in the exact same format as an USB joypad and I am incredibly confused as to why I need to go to such lengths to get it working with RetroArch.

    So, my questions to you smart people:

    – What file do I need to edit to get my controller working, now that many files have been moved to /opt?
    – What should be in this file for an ordinary USB joypad?

    Also, please may I ask you to not just link me to a tutorial, as I have tried many and they all seem to be outdated or futile.



    In terminal type:

    ls /dev/input/

    Note the device number your pad is assigned (should be js0)

    Then run:

    sudo chown pi /opt/retropie/configs/all/retroarch.cfg
    cd /opt/retropie/emulators/RetroArch/installdir/bin
    sudo ./retroarch-joyconfig -j * >> /opt/retropie/configs/all/retroarch.cfg

    (replace * with device number of pad)

    Follow prompts and you should be good to go

    If you have found the solution to your problem please mark the topic as resolved.



    Thank you so much, I seriously owe you one. That has saved me so much time and effort <3



    🙂 Just to add, if you want to further modify retroarch.cfg:

    nano /opt/retropie/configs/all/retroarch.cfg

    You can determine the buttons on your pad with:

    jstest /dev/input/js* (replace * with device number as above)

    If you assign a hotkey you can map other functions to buttons already assigned: (replace * with the buttons from jtest etc)

    input_enable_hotkey_btn = “*”
    input_exit_emulator_btn = “*”
    input_save_state_btn = “*”
    input_load_state_btn = “*”
    input_state_slot_increase_btn = “*”
    input_state_slot_decrease_btn =”*”
    input_menu_toggle_btn = “*”

    More info here:

    If you have found the solution to your problem please mark the topic as resolved.



    Thanks! It’s useful to be able to exit the emulator without the keyboard 🙂 Is it possible to make it so that you have to hold two buttons?

    Two further questions I have also uncovered from this. Firstly, the Gameboy emulator does not show up on emulation station; only gameboy advance. How can I rectify this? Additionally, on the NES the buttons are weird – there appears to be no A/B button (I have tried all of them) – what my be causing this?

    All help greatly appreciated 🙂

    EDIT: nevermind, I’m stupid; both were silly mistakes that I have now resolved



    I’m having a similar problem with NES. It’s registering the A button, but not the B. All other buttons work fine, and it’s only with the NES emulator (This is using a PS3 controller via USB). Please share your solution!

Viewing 6 posts - 1 through 6 (of 6 total)

Forums are currently read only - please visit the new RetroPie forums at

PLEASE NOTE: All orders that are placed between January 14th and January 28th will be shipped on January 29th. Dismiss