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.
Thanks for the help, Falcon! 😀
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 😮 Maybe the axis notation?
I’ll keep trying to figure out what is the problem, but any help is appreciated