USB键盘特殊功能键的实现
描述符中0980表示其下的描述扁平线圈电感器符是关于系统特殊功能键,定义头字节为02,第二个字节表示键值信息,报告数值为3,表示有三个不同的健值需要发送。发送时,第二字节每位从低位到高位顺序置1,以表示不同键值,向主机发送的数据如下:
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
以下列举三个常用按键按下时键盘向主机发送的键值:
WWhttp://www.ruishen.net.cn/电感器生产W: 报告描述符中第六个,送入主机的键值应把第六位置1,即:
00000011 00100000 即03 20
SEARCH: 报告描述符中第五个,送入主机的键值应把第五位置1,即:
00000011 00010000 即03 10
MAIL: 报告描述符中第二个,送入主机的键值应把第二位置1,即:
00000011 00000010 即03 02
当按键抬起时,向主机发送零帧: 即03 00
系统方案
我们使用Altera公司1K100QC208芯片作为系统的核心芯片,实现键盘扫描,编码,USB接口以及整体系统控制的功能,配以Philips公司的P11A芯片,作为USB设备的和主机之间的 transceiver,外加一个改装后的带特殊功能键的键盘,组成USB带特殊功能键的键盘系统(图2)。