Merge pull request #14042 from sonninnos/winraw-pointer

(WINRAW) Fix pointer device position
This commit is contained in:
LibretroAdmin 2022-06-16 12:45:05 +01:00 committed by GitHub
commit e759f81149
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -407,11 +407,16 @@ static void winraw_update_mouse_state(winraw_input_t *wr,
} }
else if (state->lLastX || state->lLastY) else if (state->lLastX || state->lLastY)
{ {
/* Menu requires GetCursorPos() for accurate /* Menu and pointer require GetCursorPos() for
* positioning, but using that always will * positioning, but using that always will
* break multiple mice positions */ * break multiple mice positions */
bool getcursorpos = (mouse->device == RETRO_DEVICE_POINTER) ? true : false;
#ifdef HAVE_MENU #ifdef HAVE_MENU
if (menu_state_get_ptr()->alive) if (menu_state_get_ptr()->alive)
getcursorpos = true;
#endif
if (getcursorpos)
{ {
if (!GetCursorPos(&crs_pos)) if (!GetCursorPos(&crs_pos))
RARCH_DBG("[WinRaw]: GetCursorPos failed with error %lu.\n", GetLastError()); RARCH_DBG("[WinRaw]: GetCursorPos failed with error %lu.\n", GetLastError());
@ -419,7 +424,6 @@ static void winraw_update_mouse_state(winraw_input_t *wr,
RARCH_DBG("[WinRaw]: ScreenToClient failed with error %lu.\n", GetLastError()); RARCH_DBG("[WinRaw]: ScreenToClient failed with error %lu.\n", GetLastError());
} }
else else
#endif
{ {
/* Handle different sensitivity for lightguns */ /* Handle different sensitivity for lightguns */
if (mouse->device == RETRO_DEVICE_LIGHTGUN) if (mouse->device == RETRO_DEVICE_LIGHTGUN)