diff --git a/src/core/libraries/mouse/mouse.cpp b/src/core/libraries/mouse/mouse.cpp index 822459c5d..988aa576f 100644 --- a/src/core/libraries/mouse/mouse.cpp +++ b/src/core/libraries/mouse/mouse.cpp @@ -4,6 +4,7 @@ // Generated By moduleGenerator #include "SDL3/SDL_mouse.h" #include "common/logging/log.h" +#include "core/emulator_settings.h" #include "core/libraries/error_codes.h" #include "core/libraries/libs.h" #include "core/user_settings.h" @@ -56,8 +57,10 @@ int PS4_SYSV_ABI sceMouseGetDeviceInfo() { } int PS4_SYSV_ABI sceMouseInit() { - SDL_WarpMouseInWindow(g_window->GetSDLWindow(), 1, 1); - SDL_SetWindowRelativeMouseMode(g_window->GetSDLWindow(), true); + if (EmulatorSettings.IsMiceUsedAsMice()) { + SDL_WarpMouseInWindow(g_window->GetSDLWindow(), 1, 1); + SDL_SetWindowRelativeMouseMode(g_window->GetSDLWindow(), true); + } int micecount = 0; auto micelist = SDL_GetMice(&micecount); LOG_INFO(Input, "{} mice are currently connected", micecount); diff --git a/src/core/libraries/mouse/sdl_mouse.cpp b/src/core/libraries/mouse/sdl_mouse.cpp index 4d737599d..48d3dc163 100644 --- a/src/core/libraries/mouse/sdl_mouse.cpp +++ b/src/core/libraries/mouse/sdl_mouse.cpp @@ -53,6 +53,7 @@ bool PushSDLEvent(SDL_Event const& e) { return false; } mouse_sdl_handles[index] = -1; + mouse_states[index].Push(current_state[index]); break; } case SDL_EVENT_MOUSE_MOTION: {