Changing PS/2 mouse refresh rate

The computer mouse have a certain DPI(Dot Per Inch)/CPI(Count Per Inch), which describes how precise it is at detecting changes in the position (Ex. 800 DPI). Every time the mouse detects a change in position, then it reports the new position to the computer using the port it is attached to (Serial/PS2/USB). The computer checks the mouse-port at a certain interval (refresh-rate), and processes the reports the mouse have made since the last check. If the refresh-rate is too low (<100 Hz), then it can give feeling of having a jerky mouse.

The overall refresh-rate cannot get better than the refresh-rate (CRT) or response-time (LCD) of the monitor, but it is possible for the mouse-refresh rate to get out of sync with the monitor-refresh rate. This can also lead to a jerky feeling.
  • Mouse position is updated (Every 8 ms = 125 Hz)
  • 8 ms
  • Monitor displays mouse position (Every 10 ms = 100 Hz)
  • Mouse position is updated
  • 8 ms
  • Mouse position is updated
  • 2 ms
  • Monitor displays mouse position (Seems jerky because of two position jumps in between)
To minimize this problem one should double the refresh rate of the mouse or the monitor. It is usual easier to change the refresh-rate of the mouse.
  • WinNT4: Change the PS/2 refresh rate with this registry key (REG_DWORD):

    [HKEY_LOCAL_MACHINE \SYSTEM \CurrentControlSet \Services \i8042prt \Parameters]
    SampleRate=200 (A value from 1-200 Hz and 60 Hz is the default)

    More Info MS KB102989

  • Win2k: Change the PS/2 refresh rate using the Mouse applet in the Control Panel.
  • WinXP: Change the PS/2 refresh rate at Control Panel -> Mouse -> Hardware-tab -> Select "PS/2 Compatible Mouse" -> Properties-button -> Advanced Settings-tab -> Sample Rate.
Note for an USB mouse the refresh rate is usually 125 Hz, which is hardcoded into the USB driver and requires one to modify the USB driver. It is many times easier just to use an USB->PS/2 adapter and change the PS/2 refresh rate to 200 Hz.

Note the USB controller is polled every 1 millisec (1000 Hz), and there is an option that can lower the polling rate to every 5 millisec (200 hz), which can be necessary if having a laptop that is having problems entering powersafe mode.

[HKEY_LOCAL_MACHINE \System \CurrentControlSet \Control \Class \{36FC9E60-C465-11CF-8056-444553540000} \0000]
IdleEnable = 1 (0 = 1000 Hz, 1 = 200 Hz, Default = 0)

More Info MS KB297045

Related MouseRate (Will display the current refresh-rate of the mouse)

Updated: 2 July 2007

Comments:

  1. eric says:

    How do we change the PS/2 mouse sample rate in
    Vista (Vista 64)? The geniuses at Microsoft have removed
    the "sample rate" control from the mouse properties
    in the control panel for Vista.

Leave a Reply

Your email address will not be published. Required fields are marked *