Homepage Forums RetroPie Project Controller Configuration in RetroPie Dualshock 4 SNES problems

Viewing 11 posts - 1 through 11 (of 11 total)
  • Author
    Posts
  • #100770
    callumhurley
    Participant

    So my Dualshock 4 is connected via USB and works fine in the menu and was an easy set up in config. In the SNES emulator the face buttons work. The D-Pad does not. Has anyone else experienced this?

    #100854
    luckilee
    Participant

    Just got my raspberry pi today and I am having this issue as well, but it seems to be with all emulators (I have only tested NES/SNES so far though). Dpad is not working in any of the games I have tried, but the other buttons seem to be ok. When setting the controller up in the settings, all of the buttons seem to be recognized, except when I press the L2 button it adds it as L2 and R2 in the config settings as soon as I press it. But the main issue is that the dpad isn’t working; it’s unplayable without that.

    I am using the Dual Shock 4 / PS4 controller with a USB cable if that matters.

    #100871
    reprotie
    Participant

    [quote=100854]Just got my raspberry pi today and I am having this issue as well, but it seems to be with all emulators (I have only tested NES/SNES so far though). Dpad is not working in any of the games I have tried, but the other buttons seem to be ok. When setting the controller up in the settings, all of the buttons seem to be recognized, except when I press the L2 button it adds it as L2 and R2 in the config settings as soon as I press it. But the main issue is that the dpad isn’t working; it’s unplayable without that.

    I am using the Dual Shock 4 / PS4 controller with a USB cable if that matters.

    [/quote]

    I’m not using a ps4 controller, but I’m having the same problem here. Changed from Lakka to Retropie and EmulationStation today, and I can’t figure out what the problem is, for the life of me :o

    My usb keyboard works fine, but the dpad and analogs just doesn’t work.
    I used jtest to see the inputs, used the new autoconfig via the ES menu, tried to setup the retroarch cfg manually, placing copies inside the “\config\[emulator]”, placing the controller config inside “\config\[emulator]\retroarch.cfg”… Still nothing. Tested Super Mario All-stars, A Link to The Past (snes), SuperMarioland (gb), castlevania (nes) and CTR (psone)
    (btw, I can control the games using the keyboard and the joypad at the same time.)

    I’m using the Version 3.0 BETA 4 (retropie-v3.0beta4-rpi2.img.gz), and this is my joypad config inside “\\RETROPIE\configs\all\retroarch.cfg”:

    input_device = "DragonRise Inc.   Generic   USB  Joystick  "
    input_driver = "udev"
    input_b_btn = "2"
    input_y_btn = "3"
    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 = "0"
    input_l_btn = "4"
    input_r_btn = "5"
    input_l2_btn = "6"
    input_r2_btn = "7"
    input_l3_btn = "10"
    input_r3_btn = "11"
    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_menu_toggle_btn = "0"
    input_load_state_btn = "4"
    input_save_state_btn = "5"
    input_reset_btn = "2"
    input_state_slot_increase_btn = "h0right"
    input_state_slot_decrease_btn = "h0left"

    Any help?

    #100876
    falcon7370
    Participant

    I also am using a Dualshock 4 (PS4) controller, and had the same issue, but I finally found out a solution!

    After looking through some of the setup options, one of the options was Install Retroarch autoconfigs (or something like that, it was very similar). I decided to just give it a whirl and install this, and it ended up working! I rebooted my Pi, went into Super Mario World for SNES and it worked perfectly.

    Also tested on The Legend of Zelda Minish Cap for GBA. Works fine! I hope this helps!

    I did not have to go back in and configure the controller manually after this. I just rebooted my Pi and it was already configured correctly.

    #100886
    callumhurley
    Participant

    I remember that option, I’ll give it a go, thank you!

    #100894
    reprotie
    Participant

    [quote=100876]I also am using a Dualshock 4 (PS4) controller, and had the same issue, but I finally found out a solution!

    After looking through some of the setup options, one of the options was Install Retroarch autoconfigs (or something like that, it was very similar). I decided to just give it a whirl and install this, and it ended up working! I rebooted my Pi, went into Super Mario World for SNES and it worked perfectly.

    Also tested on The Legend of Zelda Minish Cap for GBA. Works fine! I hope this helps!

    I did not have to go back in and configure the controller manually after this. I just rebooted my Pi and it was already configured correctly.

    [/quote]

    Thanks for the help, Falcon! :D
    For anyone that couldn’t find the option, it’s located at:

    Retropie menu, retropie-setup
    "setup/config (to be used post install)"
    [Option 318] "Install Retroarch joypad config"

    Now the joypad almost works!

    What I find peculiar is that now I have 3 dragonrise cfgs:

    DragonRise_Inc.___Generic___USB__Joystick__.cfg
    DragonRise_Inc.___Generic___USB__Joystick__.bak

    (these ones where created “manually” while trying to setup before)

    DragonRise_Inc._Gamepad.cfg
    and
    DragonRiseInc.GenericUSBJoystick.cfg
    (these where download automatically, and are almost empty. The GenericUSB one only have “input_driver = “udev”)

    And Retroarch is reading… That one the I created before! Very weird.
    I’m sure of that, because I placed the code to go back to the ES menu pressing select+start, reset emulator, etc, inside this one, and he can understand that.

    But I still can’t make my analogs work. Here is the analog part of the code (auto-generated by the retroarch joy config before):

    [...]
    input_l3_btn = "10"
    input_r3_btn = "11"
    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 = "+3"
    input_r_x_minus_axis = "-3"
    input_r_y_plus_axis = "+4"
    input_r_y_minus_axis = "-4"

    Again, I tried to place it inside each of dragon’s cfgs, placing it inside “\\RETROPIE\configs\all\retroarch.cfg”, “\\RETROPIE\configs\psx\retroarch.cfg”, etc

    I’m starting to think that this code have something wrong, but I can’t really understand what :o Maybe the axis notation?

    I’ll keep trying to figure out what is the problem, but any help is appreciated :)

    [EDIT]
    I discovered how! :D Thanks to this video from TechTipsta:

    His video is more indepth, configuring the .cfgs using a usb keyboard, directly on the Raspy. But you can do all using a wifi dongle, and sharing your config files via samba (already comes preconfigurated, at least in this version of retropie [v.3.0, beta 4])

    First, you need o configure 2 Retroarch specific buttons: one to toggle the hotkeys, another one to bring the retroarch config menu.
    On the video, he used select + f1 (the f1 is already on the “\\RETROPIE\configs\all\retroarch.cfg”, but it’s commented by default; you just need to open it, and uncomment the line, deleting the “#” in front of it), but you can use any button from your controller. can use any button you wish.

    In my case, I used the select + the equivalent of the triangle button on my generic controller. This code goes inside your gamepad cfg, located in

    \\RETROPIE\configs\all\retroarch-joypads\[yourjoypadname].cfg

    I’m my case, the code is:

    input_enable_hotkey_btn = "8"
    input_menu_toggle_btn = "0"

    After that, you just start the psx emulator, push your enable_hotkey button, the input_menu button, and voilá, you should bring up the retroarch menu.

    Now, you should be able to use your keyboard or your joypad to navigate thru the menus. But when I tried to use the joypad, the menus goes ballistic, and I can’t select anything. So, keep your keyboard with you, just in case! You are looking to go to:

    options> core options> pad1 type

    Change the pads type from STANDARD to ANALOG

    Now just go back 1 menu, select “resume content”, and you are done! :D
    I still have to test if this config “sticks” after shutting down the PI, and this menu have many more options to mess. I’ll edit this post in the case that I find something important! :D

    Ops, it doesn’t stick. That’s what I get for skipping the video :/

    After changing from standard to analog inside the core options, go back to settings > Input settings, and change “User1 Devicetype” from Retropad to Retropad w/ analog

    Go back to the “root” menu, and choose “Save New Config”
    It will change the “configuration files” above from retroarch.cfg to libretro.cfg. Everytime you save it again, it creates a new file (libretro-1.cfg, 2, 3, etc).

    After that, exit the emulator, press f4 on your keyboar to reset the Retropie. On the command line, we will append the libretro config file to the retroarch one, so it (theoretically) load the settings everytime.

    (Via samba, you can just open the 2 files, and ctrl+c, ctrl+v the settings from inside the libretro file to the retroarch one, but let’s do it the “clean” way)

    Type in the command line

    cd /opt/retropie/configs/psx
    (in the video, the path is …/configs/all; i think it changed since them, because retroarch saved everything inside the psx folder)

    Now type ls; You’ll see all the files on this directory, including the newly created libretro.cfg. To append it to the retroarch.cfg, just type

    cat libretro.cfg >> /opt/retropie/configs/psx/retroarch.cfg

    Theoretically, Retroarch should read this, and autoset the analog everytime. But isn’t working yet, I still need to manually change to analog everytime I restart the emulator :/

    I’ll keep messing with it, but as I said before, any help or hint is appreciated :D

    #100896
    callumhurley
    Participant

    The autoconfig has nor changed anything for me. D Pad is still not working and I cannot for the life of me find a solution….

    #100900
    falcon7370
    Participant

    Glad I could help! That is very odd.. I wonder why it’s using the one you made before then. Maybe by installing it, it made changes to your original setup? Another possibility, maybe it installed some sort of driver for the controller, I’m not to sure.

    I didn’t have much time yesterday to mess with things (I just bought my Raspberry Pi). I remember watching on of Techtimpsta’s tutorial videos (he does tutorials for RetroPie setup), and I noticed something that may have to do with it?

    In his PS1 emulator setup, he had to change some options in the emulator config to have his analog sticks work. Could there possibly be something similar for the SNES emulator and others?

    Also, thinking about it, maybe its because these original game consoles didn’t have analog sticks obviously, so they are only looking for D-Pad input. Try mapping your analog stick inputs as D-Pad inputs and see if that works. I will be messing with my Pi later today and will report back if I find anything!!

    EDIT: Literally as soon as I posted this, you changed your previous post to say the exact same thing ;D. Nice work!!!

    #100902
    callumhurley
    Participant

    Okay so it turns out I just had to run the Retroarch autoconfig while connected to the Internet. My analog stick works for N64 too! Haven’t tested PS1 bur glad it all sorted. I have a bluetooth dongle too, would I be able to connect my DS4 via bluetooth?

    #100904
    reprotie
    Participant

    [quote=100900]Glad I could help! That is very odd.. I wonder why it’s using the one you made before then. Maybe by installing it, it made changes to your original setup? Another possibility, maybe it installed some sort of driver for the controller, I’m not to sure.

    I didn’t have much time yesterday to mess with things (I just bought my Raspberry Pi). I remember watching on of Techtimpsta’s tutorial videos (he does tutorials for RetroPie setup), and I noticed something that may have to do with it?

    In his PS1 emulator setup, he had to change some options in the emulator config to have his analog sticks work. Could there possibly be something similar for the SNES emulator and others?

    Also, thinking about it, maybe its because these original game consoles didn’t have analog sticks obviously, so they are only looking for D-Pad input. Try mapping your analog stick inputs as D-Pad inputs and see if that works. I will be messing with my Pi later today and will report back if I find anything!!

    EDIT: Literally as soon as I posted this, you changed your previous post to say the exact same thing ;D. Nice work!!!

    [/quote]

    Hah, while you posted it, I re-edited mine, haha
    The configs don’t stick to the retroarch, unfortunatelly :< I’ll keep trying to discover what is happenning! And thanks for the analog to d-pad hint, i’ll look into it later :)

    #100937
    reprotie
    Participant

    I found a solution for the analogs, finally! :D
    You just need to put this 2 lines inside the
    /opt/retropie/configs/[yoursystem]/retroarch.cfg

    input_libretro_device_p1 = "5"
    input_player1_analog_dpad_mode = "1"

    I still can’t use the analogs in the emulationstation menus, but I’m pretty happy now :D

Viewing 11 posts - 1 through 11 (of 11 total)
  • The forum ‘Controller Configuration in RetroPie’ is closed to new topics and replies.