You are on page 1of 3

Mouse Movement Recorder

Copyright (C) 2006 anir

Modified 2013 - Mark Cranness

Displays movements of the on-mouse-pad mouse and corresponding on-screen pointer

Can be used to diagnose mouse pointer acceleration problems ('Enhance pointer

Press Esc key to exit/stop.

Double-click window heading to Maximize window.

Mouse data displayed includes:

- MOUSE MOVEMENT = X and Y mouse input (collected using DirectInput)

- POINTER MOVEMENT = Pointer movement (calculated from changes in pointer location)
- FREQUENCY = Sample rate / mouse bus update rate in Hz (="per second")
- EnPtPr = Is the 'Enhance pointer precision' option turned ON?

If you run Mouse Movement Recorder in the background while running a game, it will
tell you if that game turns acceleration ('Enhance pointer precision') on.
When 'Enhance pointer precision' is on, the EnPtPr column displays a red ON.
If 'Enhance pointer precision' has been on at any time, the EnPtPr column at the
bottom of the window will display in red.
Turn 'Enhance pointer precision' OFF, run Mouse Movement Recorder, run your game,
then look at the EnPtPr column at the bottom of the Mouse Movement Recorder window.
If the EnPtPr has a red background, then your game turns 'Enhance pointer
ON and needs a fix.

NOTE: While a game is running, Mouse Movement Recorder may show many red and green
lines, if the game continually re-positions the pointer to the middle of the
Those red and green lines do NOT mean that you have acceleration, they only mean
the re-positioned pointer has confused Mouse Movement Recorder.

NOTE: The FREQUENCY column is most accurate when the Catchup Mode is NoCatchup
(press 'C' key on keyboard until it displays 'Catchup mode = NoCatchup').
In other catchup modes, and when the 'Max catchup delay' is set higher (see '+' key
press command below), the FREQUENCY displayed might not be accurate.

If your system is busy, sometimes there might be an occasional delay before Windows

updates the on-screen pointer position and if that happens the POINTER MOVEMENT
lag behind the MOUSE MOVEMENT.


MouseMovementRecorder [-NoCatchup] [-AlwaysCatchup] [-MaxCatchupDelay n] [-

ShowCatchupDelay] [-ShowExtraDetail] [-NoCompatLayer] [-SetMaxTimerResolution]

Sometimes there is a small delay between mouse movement and Windows moving
on-screen pointer.
By default, if MouseMovementRecorder sees mouse movement, but the
pointer movement is not an exact 1-to-1 match, it may wait for up to 500 s
additional pointer movement in case the pointer movement is delayed; It may
for the pointer to 'catchup'.
-NoCatchup tells MouseMovementRecorder to never wait for additional pointer
movement, and report mouse movement immediately.

If MouseMovementRecorder sees 3 or more consecutive instances where the
movement is not an exact 1-to-1 match with the mouse movement, it will stop
for 'catchup'.
-AlwaysCatchup tells MouseMovementRecorder to always wait for additional
movement when the corresponding pointer movement is not an exact 1-to-1

-MaxCatchupDelay n
How long to wait for a possible catchup. The default catchup wait is 500 s
(0.5 ms).

Shows how long MouseMovementRecorder waited before the exact 1-to-1 catchup
or the delay exceeded the -maxcatchupdelay value.

Shows detail timing for the individual mouse movements and pointer movements
MouseMovementRecorder saw.

On Windows 8.1, while MouseMovementRecorder is running, the KB2908279 Update
Windows 8.1 is activated (if it has been installed) to give more responsive
pointer movement.
-NoCompatLayer tells MouseMovementRecorder NOT to activate the 'compatibility
that triggers the KB2908279 update fix.

Sets the Windows scheduling timer to its maximum resolution.


While MouseMovementRecorder is running, keyboard command keys available are:

A : Toggle 'Enhance pointer precision' Acceleration

1-9/* : Set pointer speed to n/11 ('/'=10/11, '*'=11/11),
0 : Set pointer speed to Control Panel value,
C : Toggle Catchup mode
+ : Increase maximum catchup delay
- : Decrease maximum catchup delay
S : Toggle showing of catchup delay
L : Toggle showing of catchup delay loops
E : Toggle showing of extra detail
Esc or Q : Exit