我编写了一个 arduino 库silverball,它支持 RN42 和键盘和鼠标的 HID 协议。我有一个示例应用程序,它展示了如何通过 BT 模块发送 HID 原始报告。我的设计用于从自定义控制器玩游戏。
如前所述,您需要将 BT 模块设置为 HID 模式(S~,6
从串行连接发送命令或GPIO11
在启动模块时设置为高电平)。默认情况下,该模块应设置为键盘 HID,但要将其设置为键盘,请将命令发送SH,0200
到 BT 模块,这会将其设置为键盘模式。
之后,您需要简单地将 RAW 报告发送到 BT,它们的格式如下:
RN42 HID 原始报告格式:
|start(1 byte)|length(1 byte)|descriptor(1 byte)|data(length - 1 [for the descriptor])
键盘示例:
|0xFD|9|1|modifier|0x00|code 1|code 2|code 3|code 4|code 5|code 6
键盘修饰符位(作为一个字节发送)
bit 7 |bit 6 |bit 5 |bit 4 |bit 3 |bit 2 |bit 1 |bit 0
rt GUI |rt alt |rt shift |rt ctrl|lt GUI |lt alt |lt shift |lt ctrl
我的代码可以在github上找到- 随心所欲地使用它!