fix: cursor lock/unlock inconsistent behaviour on glfw, rgfw, sl

This commit is contained in:
Tiago Ferreira 2025-10-31 21:32:34 +00:00
parent 085f933b17
commit 556eb7b27b
3 changed files with 10 additions and 8 deletions

View File

@ -1068,6 +1068,7 @@ void EnableCursor(void)
if (glfwRawMouseMotionSupported()) glfwSetInputMode(platform.handle, GLFW_RAW_MOUSE_MOTION, GLFW_FALSE);
CORE.Input.Mouse.cursorHidden = false;
CORE.Input.Mouse.cursorLocked = false;
}
@ -1084,6 +1085,7 @@ void DisableCursor(void)
if (glfwRawMouseMotionSupported()) glfwSetInputMode(platform.handle, GLFW_RAW_MOUSE_MOTION, GLFW_TRUE);
CORE.Input.Mouse.cursorHidden = true;
CORE.Input.Mouse.cursorLocked = true;
}

View File

@ -843,8 +843,9 @@ void EnableCursor(void)
// Set cursor position in the middle
SetMousePosition(CORE.Window.screen.width/2, CORE.Window.screen.height/2);
RGFW_window_showMouse(platform.window, true);
CORE.Input.Mouse.cursorHidden = false;
ShowCursor();
CORE.Input.Mouse.cursorLocked = true;
}
// Disables cursor (lock cursor)
@ -853,6 +854,8 @@ void DisableCursor(void)
RGFW_disableCursor = true;
RGFW_window_mouseHold(platform.window, RGFW_AREA(0, 0));
HideCursor();
CORE.Input.Mouse.cursorLocked = true;
}
// Swap back buffer with front buffer (screen drawing)

View File

@ -1208,12 +1208,7 @@ void EnableCursor(void)
{
SDL_SetRelativeMouseMode(SDL_FALSE);
#if defined(USING_VERSION_SDL3)
// SDL_ShowCursor() has been split into three functions: SDL_ShowCursor(), SDL_HideCursor(), and SDL_CursorVisible()
SDL_ShowCursor();
#else
SDL_ShowCursor(SDL_ENABLE);
#endif
ShowCursor();
platform.cursorRelative = false;
CORE.Input.Mouse.cursorLocked = false;
@ -1224,6 +1219,8 @@ void DisableCursor(void)
{
SDL_SetRelativeMouseMode(SDL_TRUE);
HideCursor();
platform.cursorRelative = true;
CORE.Input.Mouse.cursorLocked = true;
}