本帖最后由 hceng 于 2014-1-10 22:09 编辑
响应释放的方式只要做下面修改
/********************************************************************
函数功能:扫描没有按下的键是否是刚刚释放的
入口参数:shu 竖坐标 hen横坐标
返 回:1表示是释放的键,0表示不是
备 注:
********************************************************************/
bit ClearKeyState(uchar8 shu,uchar8 hen)
{
struct state *p=&Last;
switch(bKeyShuNum[shu]+hen)
{
case Key1:if(p->key1==1){p->key1=0;return 1;}
else return 0;
case Key2:if(p->key2==1){p->key2=0;return 1;}
else return 0;
case Key3:if(p->key3==1){p->key3=0;return 1;}
else return 0;
case Key4:if(p->key4==1){p->key4=0;return 1;}
else return 0;
case Key5:if(p->key5==1){p->key5=0;return 1;}
else return 0;
case Key6:if(p->key6==1){p->key6=0;return 1;}
else return 0;
case Key7:if(p->key7==1){p->key7=0;return 1;}
else return 0;
case Key8:if(p->key8==1){p->key8=0;return 1;}
else return 0;
case Key9:if(p->key9==1){p->key9=0;return 1;}
else return 0;
case Key10:if(p->key10==1){p->key10=0;return 1;}
else return 0;
case VP1Key11:if(p->vp1key11==1){p->vp1key11=0;return 1;}
else return 0;
case VP2Key12:if(p->vp2key12==1){p->vp2key12=0;return 1;}
else return 0;
case LEFT:if(p->left==1){p->left=0;return 1;}
else return 0;
case RIGHT:if(p->right==10){p->right=0;return 1;}
else return 0;
case UP: if(p->up==1){p->up=0;return 1;}
else return 0;
case DOWN: if(p->down==1){p->down=0;return 1;}
else return 0;
case MACRO:if(p->macro==1){p->macro=0;return 1;}
else return 0;
case SETG:if(p->setg==1){p->setg=0;return 1;}
else return 0;
case MODE:if(p->mode==1){p->mode=0;return 1;}
else return 0;
default:break;
}
return 0;
}
|