Windows 3.11 DOS Window Mouse Driver
In Microsoft Windows 3.11 running in 386 Enhanced Mode, mouse cursor
support inside windowed DOS sessions is provided by the Virtual Mouse
Device driver, designated internally as
*vmouse (or externally as
VMOUSE.386). This article details the role
of this virtual device driver, how it interfaces with real-mode DOS
drivers, and how it translates cursor movements between the graphical
Windows environment and character-mode DOS applications.
The Virtual Mouse Driver
(*vmouse)
Windows 3.11 relies on the 386 Enhanced Mode architecture to manage
multiple virtual machines, including DOS prompts. The specific driver
responsible for handling mouse input in these virtualized environments
is configured in the SYSTEM.INI file under the
[386Enh] section:
[386Enh]
mouse=*vmouseThe asterisk (*) indicates that the driver is compiled
directly into the Windows kernel file, WIN386.EXE. If a
third-party mouse is installed, this line may instead point to a
standalone file on disk, such as VMOUSE.386 or a
vendor-supplied equivalent (for example, LVMD.386 for
Logitech devices).
Coordination with Real-Mode DOS Drivers
The *vmouse driver does not operate entirely alone. To
display and manipulate a mouse cursor inside a windowed DOS box, the
system requires a two-tiered driver stack:
- A Real-Mode DOS Mouse Driver: A compatible DOS
mouse driver, such as Microsoft’s
MOUSE.COMorMOUSE.SYS(version 8.20 or later), must be loaded inAUTOEXEC.BATorCONFIG.SYSbefore Windows starts. This driver exposes the standard Mouse Interrupt service (INT 33h) that DOS software expects. - The Virtual Device Driver (
*vmouse): Once Windows loads,*vmouseintercepts calls to INT 33h within each virtual DOS machine.
Coordinate Mapping and Window Integration
When a DOS application runs full-screen, the DOS driver can handle
the hardware interrupts directly. However, when the application is
switched to run inside a desktop window (using Alt+Enter),
direct hardware access would cause conflicts with the Windows desktop
cursor.
*vmouse resolves this by virtualizing the mouse
hardware. It tracks the Windows graphical pointer, translates desktop
pixel coordinates into the text-grid or graphics coordinates of the
running DOS application, and passes those modified positions back to the
DOS environment. This mechanism allows users to seamlessly move the
mouse pointer into, across, and out of windowed DOS programs without
losing cursor tracking.