我寫了一個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上找到 - 用它來做任何你喜歡的!
感謝您的意見,但不幸的是,這並不適用於所有的Arduinos。 「鍵盤」功能僅適用於萊昂納多。 – user2238127 2013-04-28 15:24:08
萊昂納多(或Micro或Due)的鍵盤庫適用於HID over USB。據我所知,它不適用於RN-42。 – efunneko 2014-08-04 00:24:41