易码技术论坛

 找回密码
 加入易码
搜索
查看: 1302745|回复: 14

当求助键和左键同时被按下...

[复制链接]
发表于 2007-2-23 12:14:30 | 显示全部楼层
if(CheckKey(KEY_HELP)&&CheckKey(KEY_LEFT))
{
...
}
 楼主| 发表于 2007-2-23 15:57:46 | 显示全部楼层
不对的.我写了下面的代码:
void main()
{
for(;;)
{
if(CheckKey(27))exit(1);
if(CheckKey(KEY_HELP)&&CheckKey(KEY_LEFT))Beep();
}
}
始终未听到铃响,而将KEY_LEFT改为KEY_DOWN时便会听到铃声.可见KEY_HELP和KEY_LEFT是"同一族的",而与KEY_DOWN不是一族的.
发表于 2007-2-23 16:21:18 | 显示全部楼层
Beep一般是关掉的,换成printf试试
 楼主| 发表于 2007-2-23 17:15:08 | 显示全部楼层
按Cadina说的我又弄了一遍,结果保持不变.
发表于 2007-2-23 21:20:10 | 显示全部楼层
是的 这是硬件问题~~~按楼主说的就是“同一族”的按键冲突~~~
电脑键盘也有这个现象的说~
反正我不知道有什么办法~~~~
发表于 2007-2-23 21:23:58 | 显示全部楼层
凡是采用行列扫描的键盘都有此现象。
发表于 2007-2-24 11:03:57 | 显示全部楼层
BASIC里貌似可以解决这个问题,Peek以后再把bit提取出来
发表于 2007-2-24 11:53:57 | 显示全部楼层
ms不行
发表于 2007-2-26 11:18:54 | 显示全部楼层
bas里同时检测190到199的各个peek值不知道行不行,貌似可以的
发表于 2007-2-26 19:06:58 | 显示全部楼层
如果basic可以,那么LavaX绝对可以,因为LavaX检测按键也是检测那几个内存单元
发表于 2007-2-27 11:03:32 | 显示全部楼层
电路问题?
 楼主| 发表于 2007-2-23 10:20:22 | 显示全部楼层 |阅读模式
  当按着求助键时好像就检测不到左键等键,好像"同一族的"按键被按下就只能检测到一个.有什么办法可以解决这个问题吗?
发表于 2007-10-28 13:02:29 | 显示全部楼层
貌似是不可以的
我以前就研究过了,很多键之间有冲突,例如S和K,
for(;;){
if(CheckKey('s'))
  if(CheckKey('k'))
}
两个不能同时检测,用Inkey()也不行
BASIC检测190-198也不行,只能检测到一个
发表于 2007-11-9 23:22:11 | 显示全部楼层
同一个地址的各个位是可以同时响应的

但是,不同地址的相同位就不行~
发表于 2007-11-13 16:47:47 | 显示全部楼层
好像是的,,,,,,,,
您需要登录后才可以回帖 登录 | 加入易码

本版积分规则

Archiver|手机版|小黑屋|EMAX Studio

GMT+8, 2024-4-19 08:36 , Processed in 0.010379 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表