引言
随着计算机接口技术的日新月异,传统的PS2键盘已不再对市场形成垄断,USB键盘正在逐渐扩大市场占有率。与此同时,USB键盘也在不断完善自身的功能,由于传统的107键结构键盘已无法满足用户的需要,所以带有特殊功能键的USB多媒体键盘也就应运而生。
USB
USB接口具有如下优点:即插即用(Plug and Play)的特性,并具有自动检测的功能;可扩充到127个设备,支持热插拔,无需关闭系统电源;最高可达480Mbps传输速率(USB2.0协议支持,USB1.1协议最大支持12Mbps),可满足大多数设备的传输使用需要。
USB的数据传输共有四种类型:(1)控
图1 设备列举流程图
报告描述符
一个USB多媒体键盘,共包含三种按键:普通按键,系统特殊功能键和用户特殊功能键,其中系统特殊功能键有Sleep、Power和Wakeup三个,用户特殊功能键较多控制工程网版权所有,常用的有www, Mail , My Computer等。在USB列举中,对键盘的特殊功能键的描述,主要是通过键盘的报告描述符(表1CONTROL ENGINEERING China版权所有,表2)来实现的,即按照USB协议[2]的要求,将给定的报告描述符发送给主机,主机通过分析接收到的报告描述符,判断出键盘的按键信息CONTROL ENGINEERING China版权所有,然后实现对按键的响应。下面给出列举的报告描述符并详细说明。
描述符中0980表示其下的描述符是关于系统特殊功能键,定义头字节为02,第二个字节表示键值信息,报告数值为3,表示有三个不同的健值需要发送。发送时,第二字节每位从低位到高位顺序置1,以表示不同键值www.cechina.cn,向主机发送的数据如下:
POWER:
00000010 00000001 即02 01
SLEEP:
00000010 00000010 即02 02
WAKEUP:
00000010 00000100 即02 04
当按键抬起时,向主机发送零帧:即02 00
报告描述符中050c,0901表示以下是用户特殊功能键,定义字头是03,报告长度为8,需要8位即一个字节来表示所有的键值信息。不同的键值,是通过对字节从低到高的8位顺序置1来表示,对于我们的报告描述符,按键PLAY/PAUSE送入主机的键值应为: 00000011 00000001 即03 01
以下列举三个常用按键按下时键盘向主机发送的键值:
WWW: 报告描述符中第六个,送入主机的