Homepage Forums RetroPie Project Everything else related to the RetroPie Project XBox Controller not working with SNES games

Viewing 10 posts - 1 through 10 (of 10 total)
  • Author
  • #83858

    I will preface this with 1)I am not an experienced Linux user 2)I have searched and read what I can find 3) I want to learn.
    Having said that, I must not be searching for the right thing because I am missing a piece of the RetroPie puzzle.
    I have RetroPie up and running without issue. To all the people who created tutorials, videos, etc. – many, many thanks!!
    The part I am stuck on.
    I have a wireless Xbox 360 controller connected.
    I have used retroarch-joyconfig to map the controls.
    I attached the retroarch.cfg file that I am using
    I have written this retroarch.cfg file to both
    /opt/retropie/configs/all/ and /opt/retropie/configs/snes/
    (I am really only interested in SNES gaming right now).
    I know at least part of the retroarch.cfg file is getting read, because, when I added input_exit_emulator_btn and rebooted, then I was able to exit the game when I couldn’t before the change).
    The challenge – when in games, the only active controls are A and B.
    A seems to move or scroll left, and B seems to fire or jump
    No other game controls work.
    I am guessing that I am missing some definition step that may be specific to the controls for the SNES emulator, but, I haven’t found it yet.
    I would greatly appreciate help from anyone who could spare the time.
    The whole thing is intended to be a Christmas gift for my son, but, time is running out.
    Thanks in advance for your help!!


    Sorry, I didn’t realize the retroarch.cfg file wouldn’t load.
    Here it is…

    #All settings made here will override the global settings for the current emulator core
    video_shader = “/opt/retropie/emulators/RetroArch/shader/snes_phosphor.glslp”
    vide_shader_enable = false
    video_smooth = false
    # First XBox Controller Config
    input_player1_joypad_index = “0”
    input_player1_b_btn = “1”
    input_player1_y_btn = “3”
    input_player1_select_btn = “8”
    input_player1_start_btn = “9”
    input_player1_up_btn = “h0up”
    input_player1_down_btn = “h0down”
    input_player1_left_btn = “h0left”
    input_player1_right_btn = “h0right”
    input_player1_a_btn = “0”
    input_player1_x_btn = “2”
    input_player1_l_btn = “4”
    input_player1_r_btn = “5”
    input_player1_l2_btn = “6”
    input_player1_r2_btn = “7”
    input_player1_l3_btn = “11”
    input_player1_r3_btn = “12”
    input_player1_l_x_plus_axis = “+0”
    input_player1_l_x_minus_axis = “-0”
    input_player1_l_y_plus_axis = “+1”
    input_player1_l_y_minus_axis = “-1”
    input_player1_r_x_plus_axis = “+2”
    input_player1_r_x_minus_axis = “-2”
    input_player1_r_y_plus_axis = “+3”
    input_player1_r_y_minus_axis = “-3”
    input_enable_hotkey_btn = “8”
    input_exit_emulator_btn = “9”


    I’m having a similar problem on SNES ( haven’t fully tried the other emulators yet ).

    I configure my Xbox 360 wireless controller with retropie using the configuration tool which, correctly, wrote that file : Xbox360WirelessReceiver.cfg
    and then manually deleted the content of :
    retroarch 2.cfg ( located in SNES configs folder )

    Every button works except the UP, DOWN, RIGHT and LEFT of the Dpad, I tried the followings :

    input_up_btn = "17"
    input_down_btn = "18"
    input_left_btn = "15"
    input_right_btn = "16"


    input_up_btn = "+1"
    input_down_btn = "-1"
    input_left_btn = "-0"
    input_right_btn = "+0"


    input_up_btn = "h0up"
    input_down_btn = "h0down"
    input_left_btn = "h0left"
    input_right_btn = "h0right"

    None of them works.

    For those interested, I’m using a special SNES rom to test the controller called “Controller Test Cartridge (J) [!].smc” so I can test the input of my controller.

    So, to those using the similar setup, I would like to know your exact config.thanks.

    : here ( –> http://pastebin.com/DK8L3S8d )is my copy/paste of the Xbox360WirelessReceiver.cfg just after my setup.You can see some differences on start and select button and on the Dpad…If it can help you. Just so you know, all the rest works except the Dpad.


    Thanks angeenes for the response and the config.
    I tried it but no luck.
    I can’t even get a usb SNES controller to work.
    I think I am missing some setup step.
    Does anyone know what config files (and where they are located) are involved in getting a controller to run with RetroPie 2.3?
    I have read so many tutorials and watched so many videos that I am now officially lost.
    I am almost ready to wipe the whole thing and start over.
    All help appreciated!!


    Hi, I am also lost now, been trying for hours to make the Dpad work but no luck. Been also watching a lot of videos and read a lot of tutorials and forum messages but not one solution fully worked for my XBOX360 wireless controller :-( … Anyway, I’ll give a last try in the next days before officially giving up on that. If I find a solution, I’ll post it here and probably will make a video for those lost out there like us :-).

    I could try with another controller but I do not have any other one.


    You should be able to look in /opt/retropie/emulators/RetroArch/configs for the controller that you’ve setup (USB 2-axis joypad, in my case). As mentioned, /opt/retropie/configs/all/retroarch.cfg will be the main file that is consumed by every emulator that is run by RetroArch, with the ./configs/<console>/retroarch.cfg file being a per-emulator basis.

    Just to clarify, you’ve run the ~/RetroPie-Setup/RetroPie-Setup.sh script to setup your controller? You’ve taken note of which values were associated with the DPad during this config, and matched them with the /opt/retropie/emulators/RetroArch/configs/<>.cfg file to confirm they’re the same?

    What about going into the RetroArch Menu (input_menu_toggle_btn), and confirming that 1) it’s using the correct controller file, and 2) that the input settings match up? You’ll want to see (auto) for any input that won’t need the hotkey to trigger.


    Hi, thanks for the reply.

    I actually finally figured out what the problem was. With my W360Wireless controller, the right config file is “XboxGamepad(userspacedriver).cfg” which is located here : /opt/retropie/emulators/RetroArch/configs

    There are other config files which was very confusing and was leading me to modify the wrong files.

    So here is my correct config file, if it can help someone. ( with buttons SELECT+START to exit the emulator ).

    input_device = "Xbox Gamepad (userspace driver)"
    input_driver = "udev"
    input_b_btn = "0"
    input_y_btn = "2"
    input_select_btn = "8"
    input_start_btn = "9"
    input_up_btn = "h0up"
    input_down_btn = "h0down"
    input_left_btn = "h0left"
    input_right_btn = "h0right"
    input_a_btn = "1"
    input_x_btn = "3"
    input_l_btn = "4"
    input_r_btn = "5"
    input_l2_btn = "6"
    input_r2_btn = "7"
    input_l3_btn = "11"
    input_r3_btn = "12"
    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 = "8"
    input_exit_emulator_btn = "9"
    input_save_state_btn = "3"
    input_load_state_btn = "1"

    This works on SNES emulator.but not on Genesis ( megadrive ) emulator. I guess DGEN does not use Arch config…Will look into that emulator how to.



    For DGEN ( GENESIS / MEGADRIVE emulator ) , here is what I did. I copy paste my buttons config to the file “retroarch.cfg” located here : /opt/retropie/configs/megadrive

    Et voila! It works as well :-)


    I love this project! What I, an extreme Noob, am having trouble with, isn’t exactly the editing of the files. I cannot seem to locate where exactly to find the files to edit. Could someone lead me in the right direction as to how to get to the files I need to edit? Do I do so in Rasbian or on the sdcard itself? Do I do so in terminal or gedit? I am just confused as how to get to them.

    Thanks in advance!


    You’ll need to SSH (SFTP) into your PI to find the files. From an SD card reader you’ll only be able to see the boot partition. I use Filezilla, but any FTP program should work for you.

Viewing 10 posts - 1 through 10 (of 10 total)
  • The forum ‘Everything else related to the RetroPie Project’ is closed to new topics and replies.