diff options
Diffstat (limited to 'Source/Core/InputCommon/ControllerEmu/ControlGroup/Cursor.cpp')
| -rw-r--r-- | Source/Core/InputCommon/ControllerEmu/ControlGroup/Cursor.cpp | 7 |
1 files 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<bool>()) + // 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<bool>()) { result.x = std::numeric_limits<ControlState>::quiet_NaN(); result.y = 0; |
