我使用下面的描述符通过HID蓝牙从键盘发送键值。
USAGE_PAGE(1), 0x01,
USAGE(1), 0x06,
COLLECTION(1), 0x01,
REPORT_ID(1), 0x02,
USAGE_PAGE(1), 0x07,
USAGE_MINIMUM(1), (byte) 0xE0,
USAGE_MAXIMUM(1), (byte) 0xE7,
LOGICAL_MINIMUM(1), 0x00,
LOGICAL_MAXIMUM(1), 0x01,
REPORT_SIZE(1), 0x01,
REPORT_COUNT(1), 0x08,
INPUT(1), 0x02,
REPORT_COUNT(1), 0x01,
REPORT_SIZE(1), 0x08,
INPUT(1), 0x01,
REPORT_COUNT(1), 0x05,
REPORT_SIZE(1), 0x01,
USAGE_PAGE(1), 0x08,
USAGE_MINIMUM(1), 0x01,
USAGE_MAXIMUM(1), 0x05,
OUTPUT(1), 0x02,
REPORT_COUNT(1), 0x01,
REPORT_SIZE(1), 0x03,
OUTPUT(1), 0x01,
REPORT_COUNT(1), 0x06,
REPORT_SIZE(1), 0x08,
LOGICAL_MINIMUM(1), 0x00,
LOGICAL_MAXIMUM(1), 0x65,
USAGE_PAGE(1), 0x07,
USAGE_MINIMUM(1), 0x00,
USAGE_MAXIMUM(1), 0x65,
INPUT(1), 0x00,
END_COLLECTION(0),
我面临的问题是我能够发送数据但是同样的数据被无限次地发送。
如果我将修饰符字节设置为2然后一切正常,即大写后者正在为特定按键发送,但万一我发送小写后一数据被发送无限次。
答案 0 :(得分:0)
击键似乎会收到一个"无限数字"忘记释放钥匙的时间。该数组包含当前按下的键(在您的情况下最多6个)。您需要将缓冲区清除到"没有指示的事件" index,在你的情况下是0x00。如果你不这样做,那么主持人很可能会实现" typ-o-matic"键重复功能...即在普通键盘上按住键时看到的内容。