@ringus Maybe it would be a good idea to update your question with the neccessary information needed for us (the community) to help you (according to: !! READ THIS FIRST !!), especially hardware, retropie version (and source for that|[edit:]method of installation) and in this case emulator(s) used came to mind to set a usable context)
@mitu happy to report that after installing 20.04 on another HD I am able to natively use my controllers in the menus. Now to go through the process of redoing all the OS tweaks.
@george-spiggott funnily enough, this week I started using my old GameCube controller for n64 games on Retropie. Using an 8bitdo gbros adapter, have to say am very happy with the setup
Check if you have press the MODE button in the controller. If it is enable (you will see a green light) you are using left analog stick as a d-pad and the actual one doesn't work during the games.
Check also the small switch under the gamepad, it must be in the "x" position.
Hey just trying to fix this issue as well, and came across this old-ish thread. Are you saying the controllers in that Amazon link do, in fact, function as intended, including the left and right d-pad buttons?
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.