diff options
author | liamwhite <liamwhite@users.noreply.github.com> | 2022-11-29 18:45:25 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-11-29 18:45:25 -0500 |
commit | cafca891ea7c02a3e298675b070aef86773220b7 (patch) | |
tree | 8a7180b59abdea9ea1ade1b2fdc6b03ae8fcd012 /src/yuzu/main.cpp | |
parent | c845d8a9e8b212308e729ffcd9ddf2e09884638e (diff) | |
parent | 7d8095d944f4d3234b67fded9dba0a0ff61f6056 (diff) |
Merge pull request #9322 from german77/pump_events
input_common: Pump SDL events from main thread
Diffstat (limited to 'src/yuzu/main.cpp')
-rw-r--r-- | src/yuzu/main.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/yuzu/main.cpp b/src/yuzu/main.cpp index 346d14252..c21153560 100644 --- a/src/yuzu/main.cpp +++ b/src/yuzu/main.cpp @@ -167,6 +167,7 @@ __declspec(dllexport) int AmdPowerXpressRequestHighPerformance = 1; constexpr int default_mouse_hide_timeout = 2500; constexpr int default_mouse_center_timeout = 10; +constexpr int default_input_update_timeout = 1; /** * "Callouts" are one-time instructional messages shown to the user. In the config settings, there @@ -405,6 +406,10 @@ GMainWindow::GMainWindow(std::unique_ptr<Config> config_, bool has_broken_vulkan mouse_center_timer.setInterval(default_mouse_center_timeout); connect(&mouse_center_timer, &QTimer::timeout, this, &GMainWindow::CenterMouseCursor); + update_input_timer.setInterval(default_input_update_timeout); + connect(&update_input_timer, &QTimer::timeout, this, &GMainWindow::UpdateInputDrivers); + update_input_timer.start(); + MigrateConfigFiles(); if (has_broken_vulkan) { @@ -3637,6 +3642,13 @@ void GMainWindow::UpdateUISettings() { UISettings::values.first_start = false; } +void GMainWindow::UpdateInputDrivers() { + if (!input_subsystem) { + return; + } + input_subsystem->PumpEvents(); +} + void GMainWindow::HideMouseCursor() { if (emu_thread == nullptr && UISettings::values.hide_mouse) { mouse_hide_timer.stop(); |