Added support for raw mousewheel events
parent
4a00d34a86
commit
8201b6dc4d
|
@ -624,6 +624,16 @@ static void WIN_HandleRawMouseInput(Uint64 timestamp, SDL_VideoData *data, HANDL
|
|||
SDL_SendMouseButton(timestamp, window, mouseID, state, button);
|
||||
}
|
||||
}
|
||||
|
||||
if (rawmouse->usButtonFlags & RI_MOUSE_WHEEL) {
|
||||
short amount = (short)rawmouse->usButtonData;
|
||||
float fAmount = (float)amount / WHEEL_DELTA;
|
||||
SDL_SendMouseWheel(WIN_GetEventTimestamp(), window, mouseID, 0.0f, fAmount, SDL_MOUSEWHEEL_NORMAL);
|
||||
} else if (rawmouse->usButtonFlags & RI_MOUSE_HWHEEL) {
|
||||
short amount = (short)rawmouse->usButtonData;
|
||||
float fAmount = (float)amount / WHEEL_DELTA;
|
||||
SDL_SendMouseWheel(WIN_GetEventTimestamp(), window, mouseID, fAmount, 0.0f, SDL_MOUSEWHEEL_NORMAL);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1084,12 +1094,14 @@ LRESULT CALLBACK WIN_WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lPara
|
|||
case WM_MOUSEWHEEL:
|
||||
case WM_MOUSEHWHEEL:
|
||||
{
|
||||
short amount = GET_WHEEL_DELTA_WPARAM(wParam);
|
||||
float fAmount = (float)amount / WHEEL_DELTA;
|
||||
if (msg == WM_MOUSEWHEEL) {
|
||||
SDL_SendMouseWheel(WIN_GetEventTimestamp(), data->window, SDL_GLOBAL_MOUSE_ID, 0.0f, fAmount, SDL_MOUSEWHEEL_NORMAL);
|
||||
} else {
|
||||
SDL_SendMouseWheel(WIN_GetEventTimestamp(), data->window, SDL_GLOBAL_MOUSE_ID, fAmount, 0.0f, SDL_MOUSEWHEEL_NORMAL);
|
||||
if (!data->videodata->raw_mouse_enabled) {
|
||||
short amount = GET_WHEEL_DELTA_WPARAM(wParam);
|
||||
float fAmount = (float)amount / WHEEL_DELTA;
|
||||
if (msg == WM_MOUSEWHEEL) {
|
||||
SDL_SendMouseWheel(WIN_GetEventTimestamp(), data->window, SDL_GLOBAL_MOUSE_ID, 0.0f, fAmount, SDL_MOUSEWHEEL_NORMAL);
|
||||
} else {
|
||||
SDL_SendMouseWheel(WIN_GetEventTimestamp(), data->window, SDL_GLOBAL_MOUSE_ID, fAmount, 0.0f, SDL_MOUSEWHEEL_NORMAL);
|
||||
}
|
||||
}
|
||||
} break;
|
||||
|
||||
|
|
Loading…
Reference in New Issue