Overclock.net › Forums › Components › Mice › Question about Mouse Movement Recorder
New Posts  All Forums:Forum Nav:

Question about Mouse Movement Recorder

post #1 of 9
Thread Starter 
Hey people I know this isn't exactly about mice themselves but I figured this would be the best place to ask for information on the topic since you guys are the experts about mice and acceleration...
But anyway I was creating a program in Autohotkey to allow me to toggle the "Enhance Pointer Precision" setting using a hotkey instead of having to go into control panel all the time.
Using Mouse Movement Recorder to test whether the program was working it appears to work, but when I use my script to enable mouse acceleration, instead of saying in the right hand column, "On", instead it says "On (168"

Here are screenshots to illustrate what I'm talking about ("on", "off" and "on(168")




When I use the control panel applet to enable acceleration it just says "on" like it should
So what does the "(168" mean?





EDIT: if it's important to know, I use a custom acceleration curve, my OS is Windows 7 but the y1 and y2 values are the same as Windows 8's default accel values but y3 and y4 are W7's defaults, it just helps me to offset the effects of having a higher poll rate of 1000hz at 1620dpi. Screenshot of custom accel curve is below:

Edited by yogalD - 7/29/13 at 5:38am
post #2 of 9
Thread Starter 
Update: After messing around with my script I can get the Mouse Movement Recorder to display different values




Note if anyone has any Autohotkey skill here are the two lines of code I used to enable accel: (although I'm not expecting anyone to necessarily know but if you do, then that's awesome)
Code:
VarSetCapacity(MySet, 12, 1)
DllCall("SystemParametersInfo", UInt, SPI_SETMOUSE, UInt, 0, Str, MySet, UInt, 1)
For the third argument of VarSetCapacity() in other words the "1" in this case, 0 disables accel, 1 enables accel to ON 168 or if I use 4 it goes to ON 673. What do these numbers do/mean??
post #3 of 9
Thread Starter 
Bump, need some mouse movement recorder experts here!
post #4 of 9
Quote:
Originally Posted by yogalD View Post

Bump, need some mouse movement recorder experts here!
You can probably get an answer from the author of the program, there's a thread on ESR:

http://www.esreality.com/post/1846538/markc-windows-7-mouse-acceleration-fix/
post #5 of 9
Thread Starter 
Yep but that's the problem, I absolutely have no idea who the author of the program is, they don't even have an official website or anything... anyway i'll try and see what I can do about it
post #6 of 9
The problem is the third parameter to VarSetCapacity: "FillByte" BYTE
When you use "1" you will the string array with 3 uint values of a repeating 01 byte : 01010101, 01010101, 01010101
01010101 hex is 16843009 decimal.

The 3 uint values ideally want to be small numbers, but anything <> 0 counts as 1, so it doesn't really matter (except for the number displayed by MMR)

A bug in MMR truncates the displayed number from (16843009) to (168

FillByte=4 means 04040404 hex = 67372036 decimal, which displays as (673

Try this:
Code:
Accel := 1
VarSetCapacity(MySet, 12)
NumPut(Accel, MySet, 8)
DllCall("SystemParametersInfo", UInt, SPI_SETMOUSE, UInt, 0, UInt, &MySet, UInt, 1)

See here: http://www.autohotkey.com/board/topic/43700-mouse-acceleration-onoff/

Also, to set accel programmatically without autohotkey, see here:
MouseSpeed.zip @ mediafire.com
post #7 of 9
Thread Starter 
Thanks, that program was just what I needed tongue.gif
By the way it seems your script doesn't do anything.

So why does MMR actually display the value, but not if I set accel manually? Maybe if it's manual the value is 1 or something and in this case MMR doesn't display it?

Also does it actually matter if there is a number there or not? Or is it still the same level of acceleration? Because when I see the number there, the accel kinda feels different, but I think it must be a placebo effect, and in fact doesn't actually make a difference. Would that be correct?
post #8 of 9
My program MouseSpeed.exe needs command-line parameters set to work.
It has no UI that you can type into, you have to create a shortcut to the EXE and then edit the shortcut and add parameters to it to get it to work.

I didn't test the code/script I posted, so maybe it has an error, but the other autohotkey link should work OK.

MMR doesn't display a (1), because a 1 is boring and expected. It displays the exact number when it is not 1 or 0, because that is unusual.

Any number is treated the same as ON, so 16843009 is the same as 1 as far as Windows is concerned (Windows XP+ that is).
Placebo!
post #9 of 9
Quote:
Originally Posted by MarktheC View Post

My program MouseSpeed.exe needs command-line parameters set to work.
It has no UI that you can type into, you have to create a shortcut to the EXE and then edit the shortcut and add parameters to it to get it to work.

Doh!

But when run it does not tell you how to find the command line parameters!
Get to a command line (Start > cmd.exe), and run it with
Quote:
MouseSpeed /?
... and it will tell you what options it has.
New Posts  All Forums:Forum Nav:
  Return Home
  Back to Forum: Mice
Overclock.net › Forums › Components › Mice › Question about Mouse Movement Recorder