| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 877 人关注过本帖
标题:求助:一个关于用bioskey函数调用功能键的问题,查了论坛上相关的老帖子似乎 ...
只看楼主 加入收藏
踏歌
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2009-10-10
结帖率:66.67%
收藏
已结贴  问题点数:2 回复次数:8 
求助:一个关于用bioskey函数调用功能键的问题,查了论坛上相关的老帖子似乎都没有解决
下面这个键盘程序是我原封不动copy下来的,自己编译也能通过,但是按下Ctrl时根本没有任何反应。请高手指点一下哪里出了问题。谢谢!!!!!
#include <stdio.h>
#include <bios.h>
#include <ctype.h>

#define RIGHT  0x01
#define LEFT   0x02
#define CTRL   0x04
#define ALT    0x08

int main(void)
{
   int key, modifiers;

   while (bioskey(1) == 0);

   key = bioskey(0);

   modifiers = bioskey(2);
   if (modifiers)
   {
      printf("[");
      if (modifiers & RIGHT) printf("RIGHT");
      if (modifiers & LEFT)  printf("LEFT");
      if (modifiers & CTRL)  printf("CTRL");
      if (modifiers & ALT)   printf("ALT");
      printf("]");
   }
   if (isalnum(key & 0xFF))
      printf("'%c'\n", key);
   else
      printf("%#02x\n", key);
   return 0;
}
搜索更多相关主题的帖子: 帖子 函数 bioskey 
2009-11-03 11:33
dengjun000
Rank: 2
等 级:论坛游民
帖 子:66
专家分:77
注 册:2009-10-14
收藏
得分:1 
while (bioskey(1) == 0); 你这里加个分号貌似错了。。
2009-11-03 11:47
踏歌
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2009-10-10
收藏
得分:0 
谢谢你认真看了我的程序,我加分号是相当于后面加空循环一下。我把分号去掉试了试程序陷入死循环出不来……还是没明白问题出在哪?
2009-11-04 09:06
踏歌
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2009-10-10
收藏
得分:0 
高手高手快来呀!!!!!!!!!!!!!!!!!
2009-11-11 10:23
caojulians
Rank: 2
等 级:论坛游民
帖 子:39
专家分:67
注 册:2009-11-15
收藏
得分:0 
你用的
#define RIGHT  0x01
#define LEFT   0x02
#define CTRL   0x04
#define ALT    0x08
太老了,这是20年前83键的键盘定义,当时有两个(分左右)shift键,但只有一个ctrl键和一个alt键。现在是101(104)键盘,这个扫描码格式不同了。
2009-11-24 19:51
caojulians
Rank: 2
等 级:论坛游民
帖 子:39
专家分:67
注 册:2009-11-15
收藏
得分:0 
查了一下,你的这段代码是TC3.0系统中的HELP示例,在TC3.0下调试一下试试吧,分别看看左、右ctrl键的反应
2009-11-24 20:01
踏歌
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2009-10-10
收藏
得分:0 
原来如此,那2。0怎么识别控制键啊?
2009-12-01 08:16
jig
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
帖 子:530
专家分:242
注 册:2005-12-27
收藏
得分:0 
如果想自己完全控制键盘。建议自己重写键盘获取模块,全部底层都自己写。

个人网站 -  http://.h001.
2009-12-01 16:25
踏歌
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2009-10-10
收藏
得分:0 
怎么重写呢?从哪里入手?能否提示一二?上次请教的关于显示24位bmp图片的问题有空能否也指点一下?谢谢!!!
2009-12-02 14:55
快速回复:求助:一个关于用bioskey函数调用功能键的问题,查了论坛上相关的老帖 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025667 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved