Windows 3.11 Mouse Tracking Speed Settings

Microsoft Windows 3.11 managed mouse tracking speed through a combination of the Control Panel graphical user interface, parameters stored in the WIN.INI configuration file, and low-level driver processing managed by the Windows subsystem. Rather than altering hardware sensor sensitivity, the operating system controlled cursor movement by adjusting software-based pointer acceleration curves defined by specific movement thresholds.

The Control Panel Interface

Users adjusted mouse behavior graphically by opening the Control Panel inside the Main program group and launching the Mouse applet. Within this dialog box, the Mouse Tracking Speed control presented a single slider ranging from "Slow" to "Fast."

Adjusting this slider modified how quickly the on-screen cursor traversed the desktop relative to physical mouse displacement. Windows did not present direct numerical values to the user; instead, the slider mapped predefined stepped values directly to underlying system variables.

The WIN.INI Configuration File

Whenever a user modified and saved the tracking speed in the Control Panel, Windows 3.11 committed the changes directly to the [windows] section of the WIN.INI configuration file. Three distinct entries governed the tracking behavior:

  • MouseSpeed: Defined the multiplier tier. It accepted values of 0, 1, or 2.
    • 0: Disabled acceleration (linear 1:1 movement).
    • 1: Enabled moderate acceleration.
    • 2: Enabled maximum acceleration.
  • MouseThreshold1: The threshold of mouse packet movement (in pixels/mickeys per interrupt) required to trigger the first acceleration multiplier.
  • MouseThreshold2: The higher threshold of mouse packet movement required to trigger the second acceleration multiplier.

For example, a standard configuration with maximum tracking speed yielded entries resembling:

[windows]
MouseSpeed=2
MouseThreshold1=4
MouseThreshold2=12

Power users could manually modify these values in WIN.INI using Notepad or Sysedit to achieve custom sensitivity levels beyond the presets offered by the graphical slider.

The Acceleration Algorithm

The tracking speed setting in Windows 3.11 operated as a dynamic acceleration system calculated by USER.EXE and the active mouse driver (typically MOUSE.DRV). When the mouse moved across a surface, the driver reported relative directional delta values (\(dx\) and \(dy\)) over fixed time slices.

Windows processed these coordinates using the following logic:

  1. If MouseSpeed was set to 0, the cursor moved strictly by the raw \(dx\) and \(dy\) values reported by the driver.
  2. If MouseSpeed was set to 1 or 2, the system evaluated whether the distance moved during a single update interval exceeded MouseThreshold1. If it did, the distance moved was doubled (\(2 \times dx\), \(2 \times dy\)).
  3. If MouseSpeed was set to 2 and the movement also exceeded MouseThreshold2, the delta was doubled again, effectively quadrupling the raw input distance (\(4 \times dx\), \(4 \times dy\)).

Driver and Hardware Interaction

Because Windows 3.11 ran on top of MS-DOS, mouse handling depended on the mouse hardware interface (Bus, InPort, Serial, or PS/2). While MS-DOS real-mode utilities relied on MOUSE.COM or MOUSE.SYS using Interrupt 33h, Windows 3.11 relied on protected-mode drivers configured in SYSTEM.INI under the [boot] section (via the mouse.drv= setting).

Third-party manufacturers, such as Microsoft and Logitech, frequently replaced the default Windows mouse control applet with proprietary software (such as the Microsoft Mouse Control Panel or Logitech MouseWare). These custom utilities integrated specialized tracking algorithms, ballistic acceleration curves, and independent sensitivity sliders, overriding or augmenting the standard WIN.INI threshold mechanism.