ControllerEmu: Hide the cursor if the input gate is disabled

This commit is contained in:
Pokechu22 2021-12-23 15:22:35 -08:00
parent 6dae4043cb
commit de7c78ef3d
1 changed files with 5 additions and 2 deletions

View File

@ -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;