Depending on your controller/joystick model, it may be necessary to map the buttons so that games (even those installed via Steam) can recognize it correctly. If you are facing the same problem, it is possible to configure generic controls on Linux using SC Controller.
This is an application created especially to help users use the Steam Controller outside of the Steam client. The utility comes with its own driver and is packed with features including profile support, gyroscope, haptic feedback, automatic profile switching based on the active window, and more.
However, despite Valve's peripheral focus, you can use the SC Controller to configure your generic joystick on Linux, mapping the controller's buttons so that it can be recognized correctly in games installed via Steam, Lutris, or the Heroic Games Launcher, for example.
How to configure control using SC Controller
Before you begin, make sure your controller is connected to your PC. Now, open the application and click on the button located in the upper left corner of the window to access the main menu, where you must select the "Emulation Enabled" option, if it is deactivated.
Then click again on the main menu and then on "Settings". In the new window that opens, select the "Controllers" tab and then click on the "Register New Controller" button to start the process of configuring your controller.
Now, select your controller from the list of devices and click on the "Next" button, which is located in the upper right corner of the window.
Then, in the "Sticks" option, choose a joystick model that most closely matches your generic control. You'll find the options PCx Controller, x360 pad, single stick and NES/SNES controller. In "Labels" choose the style of your control's action buttons. To proceed with the configuration, click the "Next" button again.
After choosing the control that will be configured in the list of devices, as well as the model that most closely matches your peripheral, it's time to map the buttons so that they can be recognized correctly in games. To do so, click on the buttons on the control image that appears in the window.
After mapping your control's buttons, click the "Save" button to save the changes and close the "Settings" window. The application's main window should display the control model selected by you during peripheral settings.
Done! Now test it out with your favorite games and see if using the SC Controller to configure the controller worked for you. It is worth remembering that, when turning on the PC, it may be necessary to start the application at least once to activate its driver, with the main menu icon turning green.
How to enable system tray icon
One way to quickly check if SC Controller is enabled or not is to enable the system tray icon. To do this, click on the main menu icon, located in the upper left corner of the window, and then on "Settings". In the new window that opens, go to the "Advanced" tab and select the "Enable Status (Systray) Icon" option.
How to install the SC Controller
The SC Controller can be easily installed on Regata OS via the app store. You can find more details on how to get the app on other Linux distributions from the official page SC Controller on GitHub.