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, or2.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=12Power 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:
- If
MouseSpeedwas set to0, the cursor moved strictly by the raw \(dx\) and \(dy\) values reported by the driver. - If
MouseSpeedwas set to1or2, the system evaluated whether the distance moved during a single update interval exceededMouseThreshold1. If it did, the distance moved was doubled (\(2 \times dx\), \(2 \times dy\)). - If
MouseSpeedwas set to2and the movement also exceededMouseThreshold2, 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.