Int 33/AX=0018h

lup.gif ldown.gif Interrups Categories Contents

rbline.gif

MS MOUSE v6.0+ - SET ALTERNATE MOUSE USER HANDLER

AX = 0018h
CX = call mask (see #03174)
ES:DX -> FAR routine to be invoked on mouse events (see #03175)

Return:
AX = status 0018h if successful FFFFh on error

Notes: Up to three handlers can be defined by separate calls to this function, each with a different combination of shift states in the call mask; calling this function again with a call mask of 0000h undefines the specified handler (official documentation); specifying the same call mask and an address of 0000h:0000h undefines the handler (real life). Some versions of the documentation erroneously reverse the order of the bits in the call mask

See Also: AX=000Ch - AX=0014h - AX=0019h

Bitfields for mouse call mask: Bit(s) Description (Table 03174) 0 call if mouse moves 1 call if left button pressed 2 call if left button released 3 call if right button pressed 4 call if right button released 5 call if shift button pressed during event 6 call if ctrl key pressed during event 7 call if alt key pressed during event

Note: At least one of 5-7 must be set

(Table 03175) Values user handler is called with:. AX = condition mask (same bit assignments as call mask). BX = button state. CX = cursor column. DX = cursor row. SI = horizontal mickey count. DI = vertical mickey count

Return:
Registers preserved

Note: In text modes, the row and column will be reported as a multiple of the cell size, typically 8x8 pixels

Category: Mouse/Pointing Device - Int 33h - M

rbline.gif

lup.gif ldown.gif Interrups Categories Contents