日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

鼠標(biāo)在UNIX系統(tǒng)中的應(yīng)用程序中的使用( 二 )


#define MSE_BUTTON 0
#defing MSE_MOTION 1struct mouseinfo
unsigned char status;
charxmotion, ymotion;
};
/* Ioctl Command definitions */
#define MOUSEIOC ("M"<<8)
#define MOUSEIOCREAD (MOUSEI
OC| 60)
#define MOUSEIOCNDELAY (MOU
SEIOC| 81)【鼠標(biāo)在UNIX系統(tǒng)中的應(yīng)用程序中的使用】void (* s_quit)();
void (* s_intr)();
int fd;
void EXIT();
void main()
{
unsigned long a,b;
int i,j,status;
char buf[80];
struct mouseinfo mseinfo;
int xpos=1,ypos=1;
s_quit=signal(SIGQUIT,EXIT);
s_intr=signal(SIGINT,EXIT);
if((fd=open(″dev/mouse″,0_RD
WR))==-1){
perror(″不能打開鼠標(biāo)設(shè)備文件!!!″);
exit(1);
}
printf(″33[1c″);/*設(shè)置光標(biāo)為塊方式/*
ioctl(fd,MOUSEIOCNDELAY,OL);
/*設(shè)置鼠標(biāo)為非延遲等待方式*/
while(1){
ioctl(fd,MOUSEIOCREAD,&ms
einfo); /*讀取鼠標(biāo)狀態(tài)信息*/
if(mseinfo.status&MOVEMENT){
xpos=xpos+mseinfo.xmotion;
if(xpos <=0)
xpos=1;
else
if(xpos >80)
xpos=80;
ypos=ypos+mseinfo.ymotion;
if(ypos <=0)
ypos=1;
else
if(ypos > 25)
ypos=25;
printf(″033[%d;%dH″,ypos,xpos);/*調(diào)整光標(biāo)位置*/
fflush(stdout); /*刷新輸出*/
}
if(mseinfo.status&BUTCHNGMASK){
if(mseinfo.status&BUT1CHNG){
if(mseinfo.status&BUT1STAT){
printf(″Left Depressed″);/*左鍵被按下*/
fflush(stdout);
}
else {
printf(″Left Relessed″);/*左鍵被釋放*/
fflush(stdout);
}
}
if(mseinfo.status&BUT3CHNG){
if(mseinfo.status&BUT3STAT){
printf(″Right Depressed″); /*右鍵被按下*/
fflush(stdout);
}
else {
printf(″Right Relessed″);/*右鍵被釋放*/
fflush(stdout);
}
}
}
}
}
void EXIT() /*本函數(shù)用于信號處理,實(shí)現(xiàn)整個(gè)程序的退出*/
{
close(fd);
printf(″33[0c″);
signal(SIGQUIT,s_quit);
signal(SIGINT,s_intr);
exit(0);
}
/*———程序結(jié)束————*/

推薦閱讀