'$INCLUDE: 'QB.BI' DECLARE SUB MouseShow () DECLARE SUB MouseStatus (lb AS INTEGER, rb AS INTEGER, x AS INTEGER, y AS INTEGER) DECLARE FUNCTION MouseInit% () DIM tmp AS STRING DIM lb AS INTEGER, rb AS INTEGER, x AS INTEGER, y AS INTEGER ' See if mouse is available IF (NOT MouseInit%) THEN PRINT "Mouse not found" END END IF CLS MouseShow DO MouseStatus lb, rb, x, y LOCATE 1, 1: PRINT "(" + LTRIM$(STR$(x)) + "," + STR$(y) + ") - LB:"; lb, "RB:"; rb tmp = INKEY$ LOOP UNTIL LEN(tmp) END ' Hide mouse (set ax register to 2) SUB MouseHide DIM regs AS RegTypeX regs.ax = 2 CALL INTERRUPTX(&H33, regs, regs) END SUB ' Initialize mouse (set ax register to 0, test return value) FUNCTION MouseInit% DIM regs AS RegTypeX regs.ax = 0 CALL INTERRUPTX(&H33, regs, regs) MouseInit% = regs.ax END FUNCTION ' Show mouse (set ax register to 1) SUB MouseShow DIM regs AS RegTypeX regs.ax = 1 CALL INTERRUPTX(&H33, regs, regs) END SUB ' Get mouse (set ax register to 3, test return values) SUB MouseStatus (lb AS INTEGER, rb AS INTEGER, x AS INTEGER, y AS INTEGER) DIM regs AS RegTypeX regs.ax = 3 CALL INTERRUPTX(&H33, regs, regs) lb = ((regs.bx AND 1) <> 0) rb = ((regs.bx AND 2) <> 0) x = regs.cx y = regs.dx END SUB