Windows 3.1 Device Drivers (ddag31qh.hlp) (
Table of Contents;
Topic list)
Important Notice
The pages on this site contain documentation for very old MS-DOS software,
purely for historical purposes.
If you're looking for up-to-date documentation, particularly for programming,
you should not rely on the information found here, as it will be woefully
out of date.
Mouse_Event
◄Up► ◄Next► ◄Previous►
────────────────────────────────────────────────────────────────────────────
mov ax, [Status] ; mouse motion and button status
mov bx, [deltaX] ; change in x
mov cx, [deltaY] ; change in y
mov dx, [ButtonCount] ; number of buttons
xor di,di ; DI must be zero
xor si,si ; SI must be zero
call [Mouse_Event] ; mouse-event function address
The Mouse_Event function records the mouse motion or button click. The
mouse-interrupt handler calls this function when it has a new mouse event to
report.
Parameter Description
────────────────────────────────────────────────────────────────────────────
Status Specifies whether the user moved the mouse, pressed a mouse
button, or released a mouse button. The bits in this parameter
can be a combination of the following values.
Value Meaning
───────────────────────────────────────────────────────────────
SF_MOVEMENT (0001h) Movement occured.
SF_B1_DOWN (0002h) Button 1 (SW1) changed to down.
SF_B1_UP (0004h) Button 1 (SW1) changed to up.
SF_B2_DOWN (0008h) Button 2 (SW3) changed to down.
SF_B2_UP (0010h) Button 2 (SW3) changed to up.
SF_ABSOLUTE (8000h) The BX and CX registers contain normalized
absolute coordinates.
The bits specifying the button status are set to indicate a
change in status on an ongoing condition. For example, if
button 1 is pressed and held down, SF_B1_DOWN is set only when
button 1 is first pressed but not for subsequent motions.
Similarly, SF_B1_UP is set only when the button is first
released.
deltaX Specifies the amount of motion along the x-axis. This parameter
is either the number of mickeys moved (for relative devices),
or the actual x-coordinate (for absolute devices).
deltaY Specifies the amount of motion along the y-axis. This parameter
is either the number of mickeys moved (for relative devices),
or the actual y-coordinate (for absolute devices).
ButtonCount Specifies the number of buttons.
Return Value
This function has no return value.
Comments
If there has been mouse motion (bit 0 of AX is set), the BX and CX registers
hold the integer values of motion since the last mouse interrupt was
generated for x and y, respectively.
If the SF_ABSOLUTE value is not specified in the Status parameter, the BX
and CX registers specify relative motions from the last reported position.
If this value is specified in Status, BX and CX contain normalized absolute
coordinates between 0 and 65535, which will be mapped by the event procedure
onto the display surface.
The DI and SI registers must be set to zero to ensure compatibility with
Microsoft Windows for Pen Computing.
See Also
Enable
♦