[<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
Int 33 Fn 0018  - MS Mouse V6.0+ - Set Alternate Mouse User Handler        [M]

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

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 call mask:
 bit 0 call if mouse moves
 bit 1 call if left button pressed
 bit 2 call if left button released
 bit 3 call if right button pressed
 bit 4 call if right button released
 bit 5 call if shift button pressed during event
 bit 6 call if ctrl key pressed during event
 bit 7 call if alt key pressed during event

Note:  at least one of bits 5-7 must be set

User handler 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

This page created by ng2html v1.05, the Norton guide to HTML conversion utility. Written by Dave Pearson