📄 mouse.h
字号:
typedef struct{
int mak[2][16];
int hor;
int ver;
}mscurstype;
mscurstype arrow={0x3fff,0x1fff,0x0fff,0x07ff,
0x03ff,0x01ff,0x00ff,0x007f,
0x003f,0x00ff,0x01ff,0x10ff,
0x30ff,0xf87f,0xf87f,0xfc3f,
0x0000,0x4000,0x6000,0x7000,
0x7800,0x7c00,0x7e00,0x7f00,
0x7f80,0x7e00,0x7c00,0x4600,
0x0600,0x0300,0x0300,0x0180,0,0};
mscurstype lin={0xe3e3,0xe3e3,0xe3e3,0xe3e3,
0x8080, 0x8080,0x8080,0xe3e3,
0xc1c1, 0x8080,0x0000,0x2323,
0xe3e3,0xe3e3,0xe3e3, 0xe3e3,
0x0000,0x0808,0x0808,0x0808,
0x0808,0x3e3e,0x0808,0x0808,
0x1c1c,0x2a2a,0x4848,0x0808,
0x0808,0x0808,0x0808,0x0000,2,0};
mscurstype qi={0xff89,0xff88,0xff8e,0x8001,
0x8001,0x8001,0x8d8f,0x8c8c,
0x8d8c,0x8d88,0x8009,0x8983,
0x9542,0x1540,0x39b0,0x7d79,
0x0000,0x0020,0x0020,0x0020,
0x3ffc,0x2020,0x2020,0x2020,
0x2020,0x2020,0x2020,0x2020,
0x0000,0x4008,0x0004,0x0000,16,0};
mscurstype handcurs={-7681,-7681,-7681,-7681,-7681,-8192,-8192,-8192,
0, 0, 0, 0, 0, 0, 0, 0,
7680,4608,4608,4608,4608,5119,4681,4681,4681,
-28671,-28671,-28671,-22767,-32767,-32767,-1,4,0};
int Squeeze_Mouse(int command,int *x,int *y,int *buttons)
{
union REGS inregs,outregs;
switch(command)
{
case MOUSE_RESET:
{
inregs.x.ax=0x00;
int86(MOUSE_INT,&inregs,&outregs);
*buttons=outregs.x.bx;
return(outregs.x.ax);
}break;
case MOUSE_SHOW:
{
inregs.x.ax=0x01;
int86(MOUSE_INT,&inregs,&outregs);
return(1);
}break;
case MOUSE_HIDE:
{
inregs.x.ax=0x02;
int86(MOUSE_INT,&inregs,&outregs);
return(1);
}break;
case MOUSE_BUTT_POS:
{
inregs.x.ax=0x03;
int86(MOUSE_INT,&inregs,&outregs);
*x=outregs.x.cx;
*y=outregs.x.dx;
*buttons=outregs.x.bx;
return(1);
}break;
case MOUSE_MOTION_REL:
{
inregs.x.ax=0x03;
int86(MOUSE_INT,&inregs,&outregs);
*x=outregs.x.cx;
*y=outregs.x.dx;
return(1);
}break;
case MOUSE_SET_SENSITIVITY:
{
inregs.x.ax=0x04;
inregs.x.bx=*buttons;
inregs.x.cx=*x;
inregs.x.dx=*y;
int86(MOUSE_INT,&inregs,&outregs);
return(1);
}break;
default:break;
}
}
void setcurshape(mscurstype mask)
{
union REGS r;
struct SREGS s;
r.x.ax=9;
r.x.bx=mask.hor;
r.x.cx=mask.ver;
r.x.dx=FP_OFF(&mask);
s.es=FP_SEG(&mask);
int86x(0x33,&r,&r,&s);
}
void mscurson(mscurstype shape)
{
int msvisible;
union REGS r;
struct SREGS s;
setcurshape(shape);
r.x.ax=1;
msvisible=1;
int86x(0x33,&r,&r,&s);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -