summaryrefslogtreecommitdiff
path: root/src/yuzu/configuration/configure_input.cpp
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2021-01-01 13:10:34 -0800
committerGitHub <noreply@github.com>2021-01-01 13:10:34 -0800
commit1ff341f3dc66622478d699d4e4ba21b210608783 (patch)
tree14e6868fc3de8c1f1874bd9b69688ee3f802f5f0 /src/yuzu/configuration/configure_input.cpp
parent9e109849ff3f61c0f1e586ebc9c16c413eb7f175 (diff)
parent904ac1daec186a98c33f2e8ac140d919ca8fe0a7 (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.cpp13
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();