summaryrefslogtreecommitdiff
path: root/Source/Core/InputCommon/ControllerInterface/Xlib/XInput2.cpp
diff options
context:
space:
mode:
authorFiloppi <filippotarpini@hotmail.it>2023-05-24 22:58:30 +0300
committerFiloppi <filippotarpini@hotmail.it>2023-12-18 21:45:22 +0200
commite456bef163c1b667ff5a045a4bda66b30326ae90 (patch)
treeec2483dc88b79eb0ec9f510e31d692b86c693b6e /Source/Core/InputCommon/ControllerInterface/Xlib/XInput2.cpp
parente498759d1425a64ecf19524dc3196f103354e033 (diff)
Input: Improve Controller Interface devices threading
This specific issue was already addressed by https://github.com/dolphin-emu/dolphin/pull/11635 though I felt like there was something more we could do, and wasn't too happy with the likelihood of devices update calls being skipped (due to `m_devices_population_mutex` being locked).
Diffstat (limited to 'Source/Core/InputCommon/ControllerInterface/Xlib/XInput2.cpp')
-rw-r--r--Source/Core/InputCommon/ControllerInterface/Xlib/XInput2.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/Source/Core/InputCommon/ControllerInterface/Xlib/XInput2.cpp b/Source/Core/InputCommon/ControllerInterface/Xlib/XInput2.cpp
index d90139fe03..f041dd16a1 100644
--- a/Source/Core/InputCommon/ControllerInterface/Xlib/XInput2.cpp
+++ b/Source/Core/InputCommon/ControllerInterface/Xlib/XInput2.cpp
@@ -275,7 +275,7 @@ void KeyboardMouse::UpdateCursor(bool should_center_mouse)
m_state.cursor.y = (win_y / win_height * 2 - 1) * window_scale.y;
}
-void KeyboardMouse::UpdateInput()
+Core::DeviceRemoval KeyboardMouse::UpdateInput()
{
XFlush(m_display);
@@ -369,6 +369,8 @@ void KeyboardMouse::UpdateInput()
if (update_keyboard)
XQueryKeymap(m_display, m_state.keyboard.data());
+
+ return Core::DeviceRemoval::Keep;
}
std::string KeyboardMouse::GetName() const