mirror of
https://github.com/hedge-dev/UnleashedRecomp.git
synced 2025-10-30 07:11:05 +00:00
game_window: fix mouse cursor flickering after controller input
This commit is contained in:
parent
2f1b98c570
commit
2150faed2e
2 changed files with 10 additions and 14 deletions
|
|
@ -239,12 +239,16 @@ int HID_OnSDLEvent(void*, SDL_Event* event)
|
||||||
if (event->type == SDL_CONTROLLERAXISMOTION)
|
if (event->type == SDL_CONTROLLERAXISMOTION)
|
||||||
{
|
{
|
||||||
if (abs(event->caxis.value) > 8000)
|
if (abs(event->caxis.value) > 8000)
|
||||||
|
{
|
||||||
|
SDL_ShowCursor(SDL_DISABLE);
|
||||||
SetControllerInputDevice(controller);
|
SetControllerInputDevice(controller);
|
||||||
|
}
|
||||||
|
|
||||||
controller->PollAxis();
|
controller->PollAxis();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
SDL_ShowCursor(SDL_DISABLE);
|
||||||
SetControllerInputDevice(controller);
|
SetControllerInputDevice(controller);
|
||||||
|
|
||||||
controller->Poll();
|
controller->Poll();
|
||||||
|
|
@ -261,8 +265,14 @@ int HID_OnSDLEvent(void*, SDL_Event* event)
|
||||||
case SDL_MOUSEMOTION:
|
case SDL_MOUSEMOTION:
|
||||||
case SDL_MOUSEBUTTONDOWN:
|
case SDL_MOUSEBUTTONDOWN:
|
||||||
case SDL_MOUSEBUTTONUP:
|
case SDL_MOUSEBUTTONUP:
|
||||||
|
{
|
||||||
|
if (!GameWindow::IsFullscreen() || GameWindow::s_isFullscreenCursorVisible)
|
||||||
|
SDL_ShowCursor(SDL_ENABLE);
|
||||||
|
|
||||||
hid::g_inputDevice = hid::EInputDevice::Mouse;
|
hid::g_inputDevice = hid::EInputDevice::Mouse;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
case SDL_WINDOWEVENT:
|
case SDL_WINDOWEVENT:
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -146,20 +146,6 @@ int Window_OnSDLEvent(void*, SDL_Event* event)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!GameWindow::IsFullscreen())
|
|
||||||
{
|
|
||||||
if (event->type == SDL_CONTROLLERBUTTONDOWN || event->type == SDL_CONTROLLERBUTTONUP || event->type == SDL_CONTROLLERAXISMOTION)
|
|
||||||
{
|
|
||||||
// Hide mouse cursor when controller input is detected.
|
|
||||||
SDL_ShowCursor(SDL_DISABLE);
|
|
||||||
}
|
|
||||||
else if (event->type == SDL_MOUSEMOTION)
|
|
||||||
{
|
|
||||||
// Restore mouse cursor when mouse input is detected.
|
|
||||||
SDL_ShowCursor(SDL_ENABLE);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue