Tucked away, very deeply in steam, you can take any generic controller and customize it to your whim. They've got some really neat settings, but you have to look up what a lot of the stuff does because valve only knows how to implement their client's features half-assedly and is even worse about explaining said features.
Here's an article on how to enable controller configuration for generic controllers: https://www.howtogeek.com/234427/how-to-remap-buttons-on-your-steam-controller/
You can also configure desktop settings, making the settings more usable for emulators. I use a steam controller, so I'm not sure if desktop bindings work for generic controllers. Do note that you have to keep steam open if you want to use desktop bindings.