I will add some info for the record.
I have a similar problem using a similar gamepad on a Raspberry Pi. The device is reported by lsusb as:
Bus 001 Device 015: ID 0079:0011 DragonRise Inc. Gamepad
I think that the problem is related to the Linux kernel module: the same gamepad is working OK on a Raspberry Pi 3 with RaspiOS based on Debian 9, but it fails on a Raspberry Pi 4 with OS based on Debian 10. It fails also on a PC amd64 with Debian 10.
The left and right buttons should generate an input event of type EV_ABS on the joystick axis ABS_X. The value reported by the event for left, center and right positions should be 0, 127 and 255 respectively. Unfortunately on the systems where the gamepad does not work, no input events are generated.
If the gamepad is assigned e.g. to input #5 (check the number with lsinput), you can monitor the gamepad events for 300 seconds with the command
input-events -t 300 5
I tried different Linux kernels on the PC: I can confirm that kernel 4.19.67 is working, while kernel 4.19.98 is broken.
If you want a more stable control scheme than using a zero delay over USB (ive always found those things to be really unreliable), you can try a software package from Adafruit called RETROGAME.
It's a background application that converts gpio pins to keyboard strokes, it's very stable and reliable, and best part is that it requires no additional hardware.
All you need to do is set each GPIO pin to your desired keystroke and connect each button to GPIO and common ground then setup your keyboard "controller" by pressing start in emulationstation and going to controller setup.
Did you setup your retroarch inputs correctly?
Otherwise you can hardcode your buttons in the retroarch script from your emulators.
The Playstation issue could be that the game doesn't work with a analog controller.
I must not touch the menu item retropie -> retroarch. Don't update anything within that app.
To be more precise about the danger of this "app": Do NOT enable "Save Configuration on Exit".
Can anyone tell me what files to delete, replace, recover to fix this problem without reinstalling everything again?
Look for the retroarch.cfg.rp-dist files and replace the retroarch.cfg files with those.
mv /opt/retropie/configs/all/retroarch.cfg.rp-dist /opt/retropie/configs/all/retroarch.cfg
mv /opt/retropie/configs/nes/retroarch.cfg.rp-dist /opt/retropie/configs/nes/retroarch.cfg
mv /opt/retropie/configs/snes/retroarch.cfg.rp-dist /opt/retropie/configs/snes/retroarch.cfg
# repeat it for other systems
@gautchh Attach and config a keyboard in ES, go into the emulator of your choice and enter the rgui menu. There you can navigate to Settings, Input and configure your controller. Make sure the right controller-device is selected and try bind all.
If your controllername does not show up increase the number of players (or devices) under Input and try again.
Another way to get your controller working properly is using xboxdrv, which emulates an xbox controller and makes mapping it in games easier.
yes you can. Go to the retro pie menu, then configuration editor. from there go to advanced configuration, configure libretro options, then psx/retroarch.cfg. From there look for game_specific_options and set to true. Back out and when you go to the options where you set analog or not, there will be a new option on top to save that config for that one game. So you can set the games that need standard and save just that config for them or visa versa