I'm trying to make the mouse movements to be less sensitive in the sense that more physical movement is required to make the pointer move.
Adjusting the pointer speed is of no use. Nor is it to enable the "enhance pointer precision" option. The pointer still moves under very minute mouse movements.
What I need is to control how much physical movement of the mouse is needed for the pointer to move 1 pixel on the screen.
My research so far leads me nowhere. I found out about the ClipCursor DLL function http://msdn.microsof...3(v=vs.85).aspx but i don't think that will be of any use.
Anybody knows how could this be done?
Decrease mouse sensitivity for small movements
Re: Decrease mouse sensitivity for small movements
Mouse DPI settings?
Windows 10 x64 Professional, Intel i5-8500, NVIDIA GTX 1060 6GB, 2x16GB Kingston FURY Beast - DDR4 3200 MHz | [About Me] | [About the AHK Foundation] | [Courses on AutoHotkey]
[ASPDM - StdLib Distribution] | [Qonsole - Quake-like console emulator] | [LibCon - Autohotkey Console Library]
- AlphaBravo
- Posts: 586
- Joined: 29 Sep 2013, 22:59
Re: Decrease mouse sensitivity for small movements
I've been experimenting with the pointer acceleration parameters, with no success.
According to the MSDN documentation, you can fine tune the acceleration rate by means of 3 values:The script defines 4 hotkeys for modifying the parameters:
Win+F9: acceleration disabled
Win+F10: acceleration enabled with default system values
Win+F11: acceleration enabled with tweaked values 1
Win+F12: acceleration enabled with tweaked values 2
The only thing that works is actually enabling or disabling acceleration (the "enhance pointer precision" option in control panel). Win+F9 disables acceleration and the other 3 hotkeys enable it. But I can't notice any difference whatsoever between the 3 acceleration modes. I tried in Win XP and Vista.
I don't know if I'm doing something wrong or what, but it appears as if this parameters are not being honored by the system.
Can someone please try the script and see whether you notice any difference at all in mouse speed, acceleration, precision or anything.
According to the MSDN documentation, you can fine tune the acceleration rate by means of 3 values:
So I made the following script to test them:http://msdn.microsoft.com/en-us/library/windows/desktop/ms646260.aspx wrote:The system applies two tests to the specified relative mouse motion when applying acceleration. If the specified distance along either the x or y axis is greater than the first mouse threshold value, and the mouse acceleration level is not zero, the operating system doubles the distance. If the specified distance along either the x- or y-axis is greater than the second mouse threshold value, and the mouse acceleration level is equal to two, the operating system doubles the distance that resulted from applying the first threshold test. It is thus possible for the operating system to multiply relatively-specified mouse motion along the x- or y-axis by up to four times.
Code: Select all
#F9::
; this disables mouse acceleration
setMouseAccelParams({level: 0, thres1: 6, thres2: 10})
showCurrentAccelParams()
return
#F10::
; Acceleration enabled
; system default parameters 1, 6, 10 are used
setMouseAccelParams({level: 1, thres1: 6, thres2: 10})
showCurrentAccelParams()
return
#F11::
; acceleration enabled but with very high thresholds
; this should result in no acceleration unless the mouse is moved very fast
setMouseAccelParams({level: 1, thres1: 100, thres2: 150})
showCurrentAccelParams()
return
#F12::
; sets acceleration at level 2 with very low thresholds
; it should result in very high acceleration even for small mouse movements
setMouseAccelParams({level: 2, thres1: 1, thres2: 2})
showCurrentAccelParams()
return
showCurrentAccelParams(){
params := getMouseAccelParams()
tooltip % "Lvl: " params.level "`nT1: " params.thres1 "`nT2: " params.thres2
}
getMouseAccelParams(){
VarSetCapacity(params,12)
DllCall("SystemParametersInfo", UInt,3, UInt,0, Ptr,¶ms, UInt,0) ; SPI_GETMOUSE = 3
return { thres1: NumGet(params,0,"int")
, thres2: NumGet(params,4,"int")
, level: NumGet(params,8,"int") }
}
setMouseAccelParams(params){
VarSetCapacity(rawArray,12)
,NumPut(params.thres1, rawArray, 0,"int")
,NumPut(params.thres2, rawArray, 4,"int")
,NumPut(params.level, rawArray, 8,"int")
,DllCall("SystemParametersInfo", UInt,4, UInt,0, Ptr,&rawArray, UInt,0) ; SPI_SETMOUSE = 4
}
Win+F9: acceleration disabled
Win+F10: acceleration enabled with default system values
Win+F11: acceleration enabled with tweaked values 1
Win+F12: acceleration enabled with tweaked values 2
The only thing that works is actually enabling or disabling acceleration (the "enhance pointer precision" option in control panel). Win+F9 disables acceleration and the other 3 hotkeys enable it. But I can't notice any difference whatsoever between the 3 acceleration modes. I tried in Win XP and Vista.
I don't know if I'm doing something wrong or what, but it appears as if this parameters are not being honored by the system.
Can someone please try the script and see whether you notice any difference at all in mouse speed, acceleration, precision or anything.
Re: Decrease mouse sensitivity for small movements
I can only test on winXP but did not see differance in mouse handling using the hotkeys.
I use the following code for working with graphics(but lowest speed 10) ,if i use mousespeed setting 1 ,i need to move the mouse 5mm to get to the next pixel while on setting 18 (my normal setting) it moves 3 pixels on the slightest move.
I use the following code for working with graphics(but lowest speed 10) ,if i use mousespeed setting 1 ,i need to move the mouse 5mm to get to the next pixel while on setting 18 (my normal setting) it moves 3 pixels on the slightest move.
Code: Select all
^numpadadd::
SPI_GETMOUSESPEED:=0x70
SPI_SETMOUSESPEED:=0x71
kSpeedlow:=1
kSpeedhigh:=18
DllCall("SystemParametersInfo", UInt,SPI_GETMOUSESPEED, UInt,0, UIntP,prevSpeed, UInt,0)
kSpeed:= (prevSpeed=kSpeedlow ? kSpeedhigh : kSpeedlow)
Progress, b2 zh0 fs18 w200, Setting mouse speed to %kSpeed%
; 0x70 (SPI_GETMOUSESPEED), third parameter is the speed (range is 1-20, 10 is default)
DllCall("SystemParametersInfo", UInt, SPI_SETMOUSESPEED, UInt, 0, UInt, kSpeed, UInt, 0)
Sleep, 2000
Progress, Off
return
Re: Decrease mouse sensitivity for small movements
The speed setting work fine, no problem there. But the acceleration settings don't seem to do anything aside from just enabling and disabling it.
At least now I know that it's not just me. So it's either my script that is doing something wrong (and I can't figure out what it could be) or else the OS is just ignoring the parameters and in reality is using some fixed hardcoded values internally.
At least now I know that it's not just me. So it's either my script that is doing something wrong (and I can't figure out what it could be) or else the OS is just ignoring the parameters and in reality is using some fixed hardcoded values internally.
Who is online
Users browsing this forum: Google [Bot] and 356 guests