The virtual mouse device (VMOUSE) is the main component of Windows® 95 for supporting the mouse. It is a nonreplaceable virtual device (VxD) that virtualizes the mouse hardware so it can be shared among all virtual machines (VMs). VMOUSE also provides the Interrupt 33h application programming interface (API) and draws the cursor for non-system VMs. This chapter describes the services that VMOUSE provides.
During initialization, VMOUSE allocates memory for storing mouse-related variables, and initializes many of these variables by reading mouse settings from the registry. These settings include mouse sensitivity, acceleration, and rotation angle. VMOUSE also installs interrupt handlers for Interrupt 10h and Interrupt 33h. The Interrupt 10h handler monitors video-mode changes so VMOUSE can correctly draw the mouse cursor for non-system VMs. The Interrupt 33h handler implements the standard Interrupt 33h mouse application programming interface (API) for use by non-system VMs.
VMOUSE supports a variety of pointing devices, and they can be connected to a variety of system ports. VMOUSE's initialization procedure checks the various ports for the presence of a supported pointing device. If it detects one, VMOUSE installs the appropriate interrupt handler, which interprets the raw input from the pointing device and passes it to the current VM.