Details
-
Bug
-
Resolution: Out of scope
-
P3: Somewhat important
-
None
-
5.15.2
-
None
Description
Because the QGamepadManagerPrivate() constructor calls `loadBackend()`, there is no chance for the user to set the path to their button configuration before the backend is initialized (where `readSettings()` is called), leading to a catch-22. This effectively makes the `setSettingsFile()` function only useful for saving button overrides, but not loading them.
Something like the attached patch could be used to get around the issue, where the user is forced to call an `init()` function first which can optionally take a settings file path as an argument. However, this still does not solve a larger issue that the button overrides cannot be specified per device ID, in the case of multiple controllers that need their own button overrides.