📄 in.c
字号:
#ifndef _GUI_LOW_IN_C
#define _GUI_LOW_IN_C
#include <dos.h>
#include <bios.h>
char dj_left=0,dj_middel=0,dj_right=0;
int dj_o_key=0,dj_o_mk=0;
void dj_mRead(int *x,int *y,int *key)
{
union REGS r;
r.x.ax=0x03;
int86(0x33,&r,&r);
*x=r.x.cx;
*y=r.x.dx;
*key=r.x.bx;
}
void dj_kRead(int * k,int * s)
{
if(bioskey(1))
{
*k=bioskey(0);
*s=1;
}
else
{
*k = 0;
*s=0;
}
}
void dj_event()
{
int x,y,key=0;
MESSAGE msg={0,GM_MOUSE,0,0,0,0};
dj_mRead(&x,&y,&key);
msg.icode=x;
msg.jcode=y;
/* ------------------------------------ */
if(x!=cur_dx->mx||y!=cur_dx->my)
{
msg.message=GM_MouseMove;
AddEvent(&msg);
if(key)
{
if(key&1)
msg.message=GM_LeftDownMove;
if(key&2)
msg.message=GM_RightDownMove;
AddEvent(&msg);
}
return;
}
/* ----------------------------------- */
if(key&&!dj_o_mk)
{
if(key&1)
msg.message=GM_LeftDown;
if(key&2)
msg.message=GM_RightDown;
AddEvent(&msg);
dj_o_mk=key;
return;
}
if(!key&&dj_o_mk)
{
if(cur_dx->mk&1)
msg.message=GM_LeftUp;
if(cur_dx->mk&2)
msg.message=GM_RightUp;
AddEvent(&msg);
dj_o_mk=key;
return;
}
cur_dx->mk=key;
/* ================================== */
dj_kRead(&key,&x);
if(x==1)
{
msg.type = GM_KEY;
msg.message = GM_KeyDown;
msg.icode = (char)key;
msg.jcode= key/256;
msg.pData=(void*)bioskey(2);
AddEvent(&msg);
dj_o_key=key;
}
if(x==0 && dj_o_key)
{
msg.type = GM_KEY;
msg.message = GM_KeyUp;
msg.icode =(char) dj_o_key;
msg.jcode= dj_o_key/256;
AddEvent(&msg);
dj_o_key=0;
}
}
#endif /* _GUI_LOW_IN_C */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -