steelbars
驱动牛犊
驱动牛犊
  • 注册日期2002-10-23
  • 最后登录2002-11-05
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1548回复:6

help.......关于键盘的

楼主#
更多 发布于:2002-11-04 10:34
    哪位大虾能够告诉我中断传输中,键盘数据的传输格式呀.confused~
    另外,这个格式是不是需要和报告描述符里的描述相符合?
     :(
acx
acx
驱动小牛
驱动小牛
  • 注册日期2001-04-28
  • 最后登录2012-05-07
  • 粉丝0
  • 关注0
  • 积分61分
  • 威望57点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-11-04 10:44
由报告描述符决定,要看你的报告描述符才知道
很想你,身不由己……
steelbars
驱动牛犊
驱动牛犊
  • 注册日期2002-10-23
  • 最后登录2002-11-05
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-11-04 11:00
第一次接触,所以还是抄袭hid specific附录里的描述符.
先是shift哪六个键的状态,然后是一字节的保留,然后是5位的led
报告....(怎么是output类型.......)
然后就是6字节的101键扫描了.(咋就6字节nie.....)
不解的是:
output怎么实现呢?
我只看过ps2的传输格式,按键保持状态和其他的一些参数在usb数据传输里面也没有定义呀,描述符也不会涉及吧.是不需要,还是...........???
大虾给个解释吧,最好给个例子,
 :P
不胜感谢........
acx
acx
驱动小牛
驱动小牛
  • 注册日期2001-04-28
  • 最后登录2012-05-07
  • 粉丝0
  • 关注0
  • 积分61分
  • 威望57点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-11-04 15:22
我没看那个报告描述符,可以是下面这样,
byte0,控制键就是,SHIFT ,CTRL等的USAGE码,哪个键按下就返回哪个。
BYTE1 全为0
BYTE2-7 为普通键的USAGE码。每个键一个字节。可以同时按下6个键
如果有REPORT ID 在最前面插一个ID号占一个字节。
返回数据不管output,output是主机发给你键盘的数据控制LED的就是CAPS和NUM LOCK的LED显示。USAGE码有一张对应表,你可以到MS的网站上下,如过必要的话我可以发给你
很想你,身不由己……
steelbars
驱动牛犊
驱动牛犊
  • 注册日期2002-10-23
  • 最后登录2002-11-05
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-11-04 16:34
哦~
可以不接收主机发来的led显示?
那就方便了.
哪键盘参数例如键盘延迟时间........在usb传输中没有意义么?
完全由主机确定了?
xiaopi
驱动牛犊
驱动牛犊
  • 注册日期2002-08-09
  • 最后登录2003-07-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-11-04 17:21
 DB 05h, 01h ; Usage Page (Generic Desktop)
DB 09h, 06h ; Usage (Keyboard)
DB A1h, 01h ; Collection (Application)
DB 05h, 07h ;   Usage Page (Key Codes)
DB 19h, E0h ;   Usage Minimun (224)
DB 29h, E7h ;   Usage Maximum (231)
DB 15h, 00h ;   Logical Minimum (0)
DB 25h, 01h ;   Logical Maximum (1)
DB 95h, 08h ;   Report Count (8)
DB 75h, 01h ;   Report Size (1)
DB 81h, 02h ;   Input (Data, Variable, Absolute)
DB 95h, 01h ;   Report Count (1)
DB 75h, 08h ;   Report Size (8)
DB 81h, 01h ;   Input (Constant)
DB 95h, 05h ;   Report Count (5)
DB 75h, 01h ;   Report Size (1)
DB 05h, 08h ;   Usage Page (Page# for LEDs)
DB 19h, 01h ;   Usage Minimum (1)
DB 29h, 05h ;   Usage Maximum (5)
DB 91h, 02h ;   Output (Data, Variable, Absolute)
DB 95h, 01h ;   Report Count (1)
DB 75h, 03h ;   Report Size (3)
DB 91h, 01h ;   Output (Constant)
DB 95h, 06h ;   Report Count (6)
DB 75h, 08h ;   Report Size (8)
DB 15h, 00h ;   Logical Minimum (0)
DB 25h, 65h ;   Logical Maximum (101)
DB 05h, 07h ;   Usage Page (Key Codes)
DB 19h, 00h ;   Usage Minimum (0)
DB 29h, 65h ;   Usage Maximum (101)
DB 81h, 00h ;   Input (Data, Array)
DB C0h ; End Collection

这是通用建盘的HID类,这类键传输一般通过EP1,而多媒体建一般通过EP2来传输,具体的可来QQ详聊!本人刚刚作完一款多媒体USB键盘!QQ:18953650
Owen.Guo
驱动中牛
驱动中牛
  • 注册日期2001-03-30
  • 最后登录2012-03-29
  • 粉丝0
  • 关注1
  • 积分402分
  • 威望260点
  • 贡献值0点
  • 好评度26点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-05-06 12:55
兄弟,能否提供代码呀,geeyin@sina.com,我要做一个PS2转USB的Fireware
Owen.Guo 祝你成功!
游客

返回顶部