打印

各位前辈们好,我想请教一个一个键盘编码问题,不胜感激

[复制链接]
3056|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
情况是我看了《圈圈教你玩USB》,想自己改进一下,可是出问题了。
书中第四章是实现简易键盘,参考程序里只有123三个键,我想实现字母怎么办?我试了一下ASCII,好像不对,不明白是怎么编码的,我看HID也没看出什么东西,麻烦指教,是怎么实现的,还有那个实现123时,为什么buf中i++了,问题有点低级的,还请各位赐教,谢谢了~~

部分程序如下:
//根据不同的按键设置输入报告
if(KeyPress & KEY1) //如果KEY1按住
{
  Buf[0]|=0x01;  //KEY1为左Ctrl键。
}
if(KeyPress & KEY2) //如果KEY2按住
{
  Buf[0]|=0x02;  //KEY2为左Shift键。
}
if(KeyPress & KEY3) //如果KEY3按住
{
  Buf[0]|=0x04;  //KEY3为左Alt键
}
if(KeyPress & KEY4) //如果KEY4按住
{
  Buf[i]=0x59;  //KEY4为数字小键盘1键。  
  i++;  //切换到下个位置。
}
if(KeyPress & KEY5)  //如果KEY5按住
{
  Buf[i]=0x5A; //KEY5数字小键盘2键。
  i++;  //切换到下个位置。
}
if(KeyPress & KEY6)  //如果KEY6按住
{
  Buf[i]=0x5B;  //KEY6为数字小键盘3键。
  i++;  //切换到下个位置。
}
if(KeyPress & KEY7)  //如果KEY7按住
{
  Buf[i]=0x39;  //KEY7为大/小写切换键。
  i++;  //切换到下个位置。
}
if(KeyPress & KEY8)  //如果KEY8按住
{
  Buf[i]=0x53;  //KEY8为数字小键盘功能切换键。
}

谢谢各位了~~




}

相关帖子

沙发
~zhizhizhi~|  楼主 | 2010-5-25 08:51 | 只看该作者
难道21ic论坛里没人了?可悲~~~

使用特权

评论回复
板凳
maomao2126| | 2010-5-25 08:57 | 只看该作者
会不会是unicode编码方式,没有用过不太清楚

使用特权

评论回复
地板
IJK| | 2010-5-25 09:30 | 只看该作者
本帖最后由 IJK 于 2010-5-25 09:32 编辑

“我想实现字母怎么办?我试了一下ASCII,好像不对,不明白是怎么编码的,我看HID也没看出什么东西” 没错,数字和字母的编码不是ASCII,而是需要根据这个文档:《Universal Serial Bus HID Usage Tables》

可以参考这2张图 (比如a/A是0x04):

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

3

帖子

1

粉丝