@@ -45,7 +45,7 @@ static const WCHAR* VAL_SWAP = L"SwapMouseButtons";
45
45
static const WCHAR * VAL_HOVERTIME = L"MouseHoverTime" ;
46
46
static const WCHAR * VAL_HOVERWIDTH = L"MouseHoverWidth" ;
47
47
static const WCHAR * VAL_HOVERHEIGHT = L"MouseHoverHeight" ;
48
- // static const WCHAR* VAL_SENSITIVITY = L"MouseSensitivity";
48
+ static const WCHAR * VAL_SENSITIVITY = L"MouseSensitivity" ;
49
49
50
50
static const WCHAR * KEY_DESKTOP = L"Control Panel\\Desktop" ;
51
51
static const WCHAR * VAL_SCRTO = L"ScreenSaveTimeOut" ;
@@ -220,7 +220,8 @@ SpiUpdatePerUserSystemParameters()
220
220
/* Load mouse settings */
221
221
gspv .caiMouse .FirstThreshold = SpiLoadMouse (VAL_MOUSE1 , 6 );
222
222
gspv .caiMouse .SecondThreshold = SpiLoadMouse (VAL_MOUSE2 , 10 );
223
- gspv .caiMouse .Acceleration = gspv .iMouseSpeed = SpiLoadMouse (VAL_MOUSE3 , 1 );
223
+ gspv .caiMouse .Acceleration = SpiLoadMouse (VAL_MOUSE3 , 1 );
224
+ gspv .iMouseSpeed = SpiLoadMouse (VAL_SENSITIVITY , 10 );
224
225
gspv .bMouseBtnSwap = SpiLoadMouse (VAL_SWAP , 0 );
225
226
gspv .bSnapToDefBtn = SpiLoadMouse (VAL_SNAPDEFBTN , 0 );
226
227
gspv .iMouseTrails = SpiLoadMouse (VAL_MOUSETRAILS , 0 );
@@ -1262,8 +1263,13 @@ SpiGetSet(UINT uiAction, UINT uiParam, PVOID pvParam, FLONG fl)
1262
1263
return SpiGetInt (pvParam , & gspv .iMouseSpeed , fl );
1263
1264
1264
1265
case SPI_SETMOUSESPEED :
1265
- // vgl SETMOUSE
1266
- return SpiSetInt (& gspv .iMouseSpeed , uiParam , KEY_MOUSE , VAL_MOUSE3 , fl );
1266
+ {
1267
+ /* Allowed range is [1:20] */
1268
+ if ((INT_PTR )pvParam < 1 || (INT_PTR )pvParam > 20 )
1269
+ return 0 ;
1270
+ else
1271
+ return SpiSetInt (& gspv .iMouseSpeed , (INT_PTR )pvParam , KEY_MOUSE , VAL_SENSITIVITY , fl );
1272
+ }
1267
1273
1268
1274
case SPI_GETSCREENSAVERRUNNING :
1269
1275
return SpiGetInt (pvParam , & gspv .bScrSaverRunning , fl );
0 commit comments