📄 mouse.c
字号:
#include <conio.h>
#include <stdio.h>
#include <graphics.h>
#include "philips.h"
void get_co(signed char *c_ptr)
{
unsigned int m0,m1;
unsigned char X=0,Y=0,B=8;
unsigned int m[2];
unsigned int *m_ptr;
unsigned int ccode=0;
m_ptr=m;
ccode=get_mouse(3,m_ptr);
m0=*m_ptr;
m1=*(m_ptr+1);
// if((m0!=0x0680)||(m1!=0x0302))
// printf("ccode=%4X",ccode);
if((ccode==0))
{
X=(m0>>8);
Y=(m1&0x00FF);
B=(m0&0x000F);
}
else
{
X=0;
Y=0;
B=0;
}
*c_ptr =X;
*(c_ptr+1) =Y;
*(c_ptr+2) =B;
}
void play_mouse(void)
{
signed char m[3];
signed char *m_ptr;
unsigned int timeout=1000;
unsigned int cnt;
unsigned int left_click=0;
unsigned int right_click=0;
signed char X=1,Y=0,B=0;
signed int px=320,py=240;
signed int lx=320,ly=240;
signed int *mptr;
signed int tx,ty;
unsigned int user_in;
m_ptr=m;
clrscr();
gui();
e_box(320,240,610,410);
gotoxy(3,2);
printf("ISP1161 DEMO - USB Mouse");
cnt=timeout;
do
{
get_co(m_ptr);
X=*m_ptr;
Y=*(m_ptr+1);
B=*(m_ptr+2);
if((X!=0)&&(Y!=0))
{ cnt=timeout; }
px=px+(X);
py=py+(Y);
if(px<20) {px=20;}
if(py<40) {py=40;}
if(px>619) {px=620;}
if(py>439) {py=440;}
gotoxy(4,24);
printf("Current:<%3d,%3d>",px,py);
printf(" Delta :<%3d,%3d>",X,Y);
// printf(" **TimeOut Counter = %4d ",cnt);
gotoxy(4,25);
printf("Press '1' to EXIT");
putpixel( (px+lx)/2,(py+ly)/2,YELLOW);
putpixel(px,py,YELLOW);
line(px,py,lx,ly);
lx=px;
ly=py;
cnt--;
left_click=B&0x01;
right_click=(B&0x02)>>1;
user_in=read_key(0);
}
while((user_in!='1'));
close_gui();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -