[client] input: track pointer confinement state

This commit is contained in:
Geoffrey McRae
2026-08-06 14:29:45 +10:00
parent 1baa5a3710
commit 142dc2bcef
13 changed files with 383 additions and 138 deletions

View File

@@ -469,7 +469,7 @@ void app_handleButtonPress(int button)
return;
}
if (!core_inputEnabled() || !g_cursor.inView)
if (!core_inputEnabled() || !g_cursor.inView || !g_cursor.viewReq)
return;
if (!purespice_mousePress(button))
@@ -674,6 +674,11 @@ void app_handleMouseRelative(double normx, double normy,
core_handleMouseNormal(normx, normy);
}
void app_handleGrabEvent(bool active)
{
core_handleGrabEvent(active);
}
// On some display servers normal cursor logic does not work due to the lack of
// cursor warp support. Instead, we attempt a best-effort emulation which works
// with a 1:1 mouse movement patch applied in the guest. For anything fancy, use