diff options
| author | Dave Parks <davep@lindenlab.com> | 2022-06-29 18:00:26 -0500 |
|---|---|---|
| committer | Dave Parks <davep@lindenlab.com> | 2022-06-29 18:00:26 -0500 |
| commit | 56ae3e0a083aefcbd6d7c955bb2c7e9e58000a4b (patch) | |
| tree | 53ad2998536760442a00b1d239a7223e864ba3c9 /indra/llwindow/llwindowwin32.cpp | |
| parent | fd6b5ea8c3df7e8b4b648ac7ecc9f30eedd4b7c0 (diff) | |
| parent | 36fd0f7ca932cce5cd3614c16cd26aceedf57952 (diff) | |
Merge branch 'DRTVWR-559' of ssh://bitbucket.org/lindenlab/viewer into DRTVWR-559
Diffstat (limited to 'indra/llwindow/llwindowwin32.cpp')
| -rw-r--r-- | indra/llwindow/llwindowwin32.cpp | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/indra/llwindow/llwindowwin32.cpp b/indra/llwindow/llwindowwin32.cpp index 67c50294e1..1f23040260 100644 --- a/indra/llwindow/llwindowwin32.cpp +++ b/indra/llwindow/llwindowwin32.cpp @@ -3058,8 +3058,20 @@ LRESULT CALLBACK LLWindowWin32::mainWindowProc(HWND h_wnd, UINT u_msg, WPARAM w_ if (raw->header.dwType == RIM_TYPEMOUSE) { LLMutexLock lock(&window_imp->mRawMouseMutex); - window_imp->mRawMouseDelta.mX += raw->data.mouse.lLastX; - window_imp->mRawMouseDelta.mY -= raw->data.mouse.lLastY; + + S32 speed; + const S32 DEFAULT_SPEED(10); + SystemParametersInfo(SPI_GETMOUSESPEED, 0, &speed, 0); + if (speed == DEFAULT_SPEED) + { + window_imp->mRawMouseDelta.mX += raw->data.mouse.lLastX; + window_imp->mRawMouseDelta.mY -= raw->data.mouse.lLastY; + } + else + { + window_imp->mRawMouseDelta.mX += round((F32)raw->data.mouse.lLastX * (F32)speed / DEFAULT_SPEED); + window_imp->mRawMouseDelta.mY -= round((F32)raw->data.mouse.lLastY * (F32)speed / DEFAULT_SPEED); + } } } } |
