10 REM *********************************** 20 REM Mouse Driver (Linear control) 30 REM Graphics cursor, Microsoft Mouse 40 REM By Tim Surtell 50 REM *********************************** 60 REM Version 5 : 31/1/98 70 REM Downloaded from Tim's NC Users' Site 80 REM http://www.ncus.org.uk 90 X=240:Y=63:XC=0:YC=0:LB=FALSE:RB=FALSE 100 ONERRORIF ERR=202 GOTO180 ELSE CLOSE#0:REPORT:PRINT" at line ";ERL:END 110 CLS 120 MOVEX,Y-5:PLOT6,X,Y-1:MOVEX,Y:PLOT6,X-5,Y:MOVEX-3,Y-1:PLOT6,X-7,Y-5:MOVEX-1,Y-3:PLOT6,X-5,Y-7:PLOT70,X-6,Y-6 130 K=OPENUP("COM:") 140 REPEAT 150 KEY=INKEY(1) 160 IF KEY<>-1 PROCevent 170 UNTIL EOF#K=FALSE 180 B1=BGET#K 190 IF B1 AND 64 GOTO200 ELSE GOTO180 200 B2=BGET#K:B3=BGET#K 210 XI=(63 AND B2):YI=(63 AND B3) 220 IF B1 AND 8 YC=YC+(64-YI) ELSE YC=YC-YI 230 IF B1 AND 2 XC=XC-(64-XI) ELSE XC=XC+XI 240 IF EOF#K GOTO260 250 GOTO180 260 IF B1 AND 32 LB=TRUE:PROCevent ELSE IF LB=TRUE LB=FALSE:PROCevent 270 IF B1 AND 16 RB=TRUE:PROCevent ELSE IF RB=TRUE RB=FALSE:PROCevent 280 MOVEX,Y-5:PLOT6,X,Y-1:MOVEX,Y:PLOT6,X-5,Y:MOVEX-3,Y-1:PLOT6,X-7,Y-5:MOVEX-1,Y-3:PLOT6,X-5,Y-7:PLOT70,X-6,Y-6 290 X=X+(XC):Y=Y+(YC) 300 MOVEX,Y-5:PLOT6,X,Y-1:MOVEX,Y:PLOT6,X-5,Y:MOVEX-3,Y-1:PLOT6,X-7,Y-5:MOVEX-1,Y-3:PLOT6,X-5,Y-7:PLOT70,X-6,Y-6 310 XC=0:YC=0 320 GOTO140 330 DEF PROCevent 340 IF LB=TRUE PRINTTAB(0,0)"Left Button" ELSE PRINTTAB(0,0)SPC12 350 IF RB=TRUE PRINTTAB(0,1)"Right Button" ELSE PRINTTAB(0,1)SPC12 360 IF KEY<>-1 PRINTTAB(0,2)"Key : ";:VDU27,KEY 370 ENDPROC