RetroArch is a cross-platform frontend/framework for emulators, game engines, video games, media players, and other programs that is open source and cross-platform. While it can do a lot more, it’s most known for allowing you to play vintage games on a variety of PCs and consoles using a nice graphical interface. The settings are also unified, allowing for one-time configuration.

Guides
RetroArch – How to Make RA Comfy on a Gamepad
Want to make using certain hotkeys such as accessing the RetroArch menu, saving and loading states, and swapping discs? Here’s how you can do that by configuring and enabling hotkeys […]