#include #ifndef REGS #include #endif #define MOUSE 51 int initmouse() { union REGS regs; regs.x.ax=0; int86 (MOUSE,®s,®s); return regs.x.ax; } void displaymouse() { union REGS regs; regs.x.ax=1; int86 (MOUSE,®s,®s); return; } void hidemouse() { union REGS regs; regs.x.ax=2; int86 (MOUSE,®s,®s); return; } int mousex() { union REGS regs; regs.x.ax=3; int86 (MOUSE,®s,®s); return regs.x.cx; } int mousey() { union REGS regs; regs.x.ax=3; int86 (MOUSE,®s,®s); return regs.x.dx; } // vraca 1 ili 0 za lijevi gumb i mousebutton(0) // vraca 1 ili 0 za desni gumb i mousebutton(1) int mousebutton(int n) { union REGS regs; regs.x.ax=3; int86 (MOUSE,®s,®s); return ((regs.x.bx >> n) & 1); } void main() { int keyb=0; clrscr(); _setcursortype(_NOCURSOR); initmouse(); displaymouse(); while (keyb!=27) { gotoxy(1,1); printf("(%3d : %3d) = position of the mouse",mousex(),mousey()); if (kbhit()!=0) keyb=getch(); gotoxy(1,2); printf("(%3d * %3d) = buttons",mousebutton(0),mousebutton(1)); /* dobiju se kursora tako da (mousex()/8+1)=wherex().... heh */ } _setcursortype(_NORMALCURSOR); hidemouse(); }