标准键盘一次发送8个字节,解释如下:
BYTE1 –
|–bit0: Left Control是否按下,按下为1
|–bit1: Left Shift 是否按下,按下为1
|–bit2: Left Alt 是否按下,按下为1
|–bit3: Left GUI 是否按下,按下为1
|–bit4: Right Control是否按下,按下为1
|–bit5: Right Shift 是否按下,按下为1
|–bit6: Right Alt 是否按下,按下为1
|–bit7: Right GUI 是否按下,按下为1
BYTE2 – 保留位
BYTE3–BYTE8 – 这六个为普通按键
USB鼠标一次可以发送8个字节的数据,其中第1个字节表示修饰键是否被按下,第2个字节是保留位,值固定为0,后6个字节表示普通按键信息。
第1个字节中的每一位都表示一个修饰键,如果该位为1表示对应修饰键被按下,为0表示没有按下。这8个修饰键分别是左Ctrl键、左Shift键、左Alt键、左GUI键、右Ctrl键、右Shift键、右Alt键和右GUI键。
后6个字节表示最多6个普通按键信息,其中的值表示相应的按键编码,范围是0x00到0xFF。0x00表示没有编码且没有按键被按下,0x01表示出现溢出,0x02表示键盘自检失败,0x03表示未定义错误。0x04表示A键,0x05表示B键,以此类推。
当按下一个按键,相应的按键字段会出现一个扫描码;