From de7c78ef3dae0977c182071eebe139e0362ded5d Mon Sep 17 00:00:00 2001 From: Pokechu22 Date: Thu, 23 Dec 2021 15:22:35 -0800 Subject: [PATCH] ControllerEmu: Hide the cursor if the input gate is disabled --- .../Core/InputCommon/ControllerEmu/ControlGroup/Cursor.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Source/Core/InputCommon/ControllerEmu/ControlGroup/Cursor.cpp b/Source/Core/InputCommon/ControllerEmu/ControlGroup/Cursor.cpp index 9c280ab135..043ef37356 100644 --- a/Source/Core/InputCommon/ControllerEmu/ControlGroup/Cursor.cpp +++ b/Source/Core/InputCommon/ControllerEmu/ControlGroup/Cursor.cpp @@ -140,8 +140,11 @@ Cursor::StateData Cursor::GetState(const bool adjusted) m_prev_result = result; - // If auto-hide time is up or hide button is held: - if (!m_auto_hide_timer || controls[4]->GetState()) + // If auto-hide time is up, the hide button is held, or the input gate is disabled, hide the + // cursor. We need to check the input gate explicitly as the hide button check always returns + // false if the input gate is disabled (e.g. the window is not focused with background input + // disabled) + if (!m_auto_hide_timer || !ControlReference::GetInputGate() || controls[4]->GetState()) { result.x = std::numeric_limits::quiet_NaN(); result.y = 0;