diff options
author | bunnei <bunneidev@gmail.com> | 2021-01-01 13:10:34 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-01-01 13:10:34 -0800 |
commit | 1ff341f3dc66622478d699d4e4ba21b210608783 (patch) | |
tree | 14e6868fc3de8c1f1874bd9b69688ee3f802f5f0 /src/yuzu/configuration/configure_input.cpp | |
parent | 9e109849ff3f61c0f1e586ebc9c16c413eb7f175 (diff) | |
parent | 904ac1daec186a98c33f2e8ac140d919ca8fe0a7 (diff) |
Merge pull request #5209 from Morph1984/refactor-controller-connect
configure_input: Modify controller connection delay
Diffstat (limited to 'src/yuzu/configuration/configure_input.cpp')
-rw-r--r-- | src/yuzu/configuration/configure_input.cpp | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/yuzu/configuration/configure_input.cpp b/src/yuzu/configuration/configure_input.cpp index d9009091b..567a36d9b 100644 --- a/src/yuzu/configuration/configure_input.cpp +++ b/src/yuzu/configuration/configure_input.cpp @@ -4,6 +4,7 @@ #include <algorithm> #include <memory> +#include <thread> #include <QSignalBlocker> #include <QTimer> @@ -181,8 +182,18 @@ QList<QWidget*> ConfigureInput::GetSubTabs() const { } void ConfigureInput::ApplyConfiguration() { - for (auto controller : player_controllers) { + for (auto* controller : player_controllers) { controller->ApplyConfiguration(); + controller->TryDisconnectSelectedController(); + } + + // This emulates a delay between disconnecting and reconnecting controllers as some games + // do not respond to a change in controller type if it was instantaneous. + using namespace std::chrono_literals; + std::this_thread::sleep_for(60ms); + + for (auto* controller : player_controllers) { + controller->TryConnectSelectedController(); } advanced->ApplyConfiguration(); |