mov ax, [Status]
mov bx, [deltaX]
mov cx, [deltaY]
mov dx, [ButtonCount]
xor di,di
xor si,si
call [Mouse_Event]
Records mouse motion and button clicks. VMOUSE calls this function when it has a new mouse event to report.
Value | Meaning |
---|---|
SF_MOVEMENT (0001h) | Movement occurred. |
SF_B1_DOWN (0002h) | Button 1 changed to down. |
SF_B1_UP (0004h) | Button 1 changed to up. |
SF_B2_DOWN (0008h) | Button 2 changed to down. |
SF_B2_UP (0010h) | Button 2 changed to up. |
SF_ABSOLUTE (8000h) | BX and CX contain normalized absolute coordinates. |
The values specifying the button status are set to indicate a change in status of 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.
If there has been mouse motion (bit 0 of AX is set), BX and CX 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 Status, BX and CX specify relative motions from the last reported position. If this value is specified in Status, BX and CX contain normalized absolute coordinates in the range 0 through 65,535. These coordinates will be mapped by the event procedure onto the display surface.
DI and SI must be zero to ensure compatibility with Microsoft Windows for Pen Computing.