[Scummvm-tracker] [ScummVM :: Bugs] #14433: MACOS: mouse cursor appearing / failing to capture when in fullscreen mode
ScummVM :: Bugs
trac at scummvm.org
Sun Feb 25 21:12:08 UTC 2024
#14433: MACOS: mouse cursor appearing / failing to capture when in fullscreen mode
--------------------+-----------------------------
Reporter: almeath | Owner: (none)
Type: defect | Status: new
Priority: normal | Component: Port: Mac OS X
Version: | Resolution:
Keywords: | Game:
--------------------+-----------------------------
Comment (by SirBogman):
| Also, the behavior is manifesting itself when setting ScummVM to use
either OpenGL or SDL rendering.
This doesn't matter. SDL is always used to manage the visibility of the
system cursor on macOS.
This is most likely a bug in SDL, although it may be possible to
workaround it without modifying SDL. The APIs SDL_SetWindowMouseGrab and
SDL_SetWindowMouseRect are related to capturing the mouse. In a local
build, I modified SdlWindow::setMouseRect to adjust the rectangle so that
y is at least 44 and height is reduced by the same amount. This fixes the
bug where the system cursor shows up when you move to the top of the
screen, but it also means that you can't move the mouse all the way to the
top of the screen. It's not a proper fix. With an unmodified rectangle,
SDL is allowing the system cursor to reappear after the mouse is moved to
this region, even though we have indicated that it should not via
SDL_SetWindowMouseGrab. Tested with SDL 2.30.0.
Also, there is a different scenario that can cause the system cursor to be
visible over the in-game cursor. Taking a screenshot with cmd+shift+4 and
then clicking on the window. This is likely a separate SDL bug and for
this one, it doesn't matter whether you are using the built-in display of
a newer macbook. It always happens.
One way to get rid of the double cursor, when it occurs, is to use ctrl+m
to uncapture the mouse, then move it offscreen, then move it back
onscreen, then capture it again with ctrl+m.
--
Ticket URL: <https://bugs.scummvm.org/ticket/14433#comment:6>
ScummVM :: Bugs <https://bugs.scummvm.org>
ScummVM
More information about the Scummvm-tracker
mailing list