Don't capture the cursor by default in windowed mode

Closes #1872
This commit is contained in:
Cameron Gutman
2026-05-09 13:11:45 -05:00
parent 8cc3b30642
commit 9d6218d1ff
+6
View File
@@ -1888,6 +1888,11 @@ void Session::exec()
bool needsFirstEnterCapture = false; bool needsFirstEnterCapture = false;
bool needsPostDecoderCreationCapture = false; bool needsPostDecoderCreationCapture = false;
// Avoid capturing the mouse initially for windowed relative mode.
// We still capture in windowed absolute mode because it doesn't
// constrain the motion of the cursor. This allows the user to
// easily reposition or resize the window.
if (m_IsFullScreen || m_Preferences->absoluteMouseMode) {
// HACK: For Wayland, we wait until we get the first SDL_WINDOWEVENT_ENTER // HACK: For Wayland, we wait until we get the first SDL_WINDOWEVENT_ENTER
// event where it seems to work consistently on GNOME. For other platforms, // event where it seems to work consistently on GNOME. For other platforms,
// especially where SDL may call SDL_RecreateWindow(), we must only capture // especially where SDL may call SDL_RecreateWindow(), we must only capture
@@ -1900,6 +1905,7 @@ void Session::exec()
// X11/XWayland: Capture after decoder creation // X11/XWayland: Capture after decoder creation
needsPostDecoderCreationCapture = true; needsPostDecoderCreationCapture = true;
} }
}
// Stop text input. SDL enables it by default // Stop text input. SDL enables it by default
// when we initialize the video subsystem, but this // when we initialize the video subsystem, but this