Bluetoothキーボードを作ってみる
カードサイズのQWERTY配列キーボード「CardKB Mini Keyboard Programmable Unit V1.1(CardKB Unit V1.1)」とmicro:bitを組み合わせて、Bluetoothキーボードを作る方法を紹介します。
1.Bluetoothキーボードを作ってみる
M5StackのCardKB Mini Keyboard Programmable Unit V1.1(以下、CardKB Unit V1.1)とmicro:bitを組み合わせて、Bluetoothキーボードを作ります。目指すのは、CardKB Unit V1.1に刻印されているすべての英数字・記号の入力、および機能(カーソル・ESC・TABなど)キーの実装です。対象とするPCは、Windows(Windows 10/11)、ハードウェアキーボードレイアウトは「英語キーボード(101/102キー)」です。
CardKB Unit V1.1とmicro:bitの接続は「15-9.CardKB Unit V1.1」で詳しく解説しています。
Grove Shield for micro:bit v2.0
このmicro:bit Groveシールドがあれば、Groveコネクタを通して、さまざまなにセンサなどを接続することができます。
2.プログラム(ブロック)
拡張機能「microbit-pxt-blehid」の追加
このプログラムでは、拡張機能「microbit-pxt-blehid」を使用します。この拡張機能は、BluetoothのHID(Human Interface Device)プロファイルを有効にするもので、キーボードやマウスなどのデバイスを無線化するためのものです。
Bluetooth関連、およびHIDプロファイル(Keyboard・Mouse・Media・Absolute Mouse・Gamepad)関連のブロックが追加されます。
最初だけ実行されるプログラム
Bluetoothキーボードサービスを有効にして、接続するまで待機します。待機中は、LED画面中央のLEDが点滅します。正しく接続されると、LED画面にチェックマークが表示されます。
ずっと実行されるプログラム
「i2c read number」ブロックを使って、I2Cアドレス「0x5F(95)」からコードを取得して、変数「InKey」にセットします。変数「InKey」の値に応じて、キー情報を「send keys」ブロックで送信します。
ボタンAが押されたときに実行されるプログラム
micro:bitのボタンAが押されたとき、Windowsキー+Dを送信します。これは、デスクトップを表示するショートカットです。
ボタンBが押されたときに実行されるプログラム
ボタンBが押されたとき、Windowsキー+Lを送信します。これは、ロック状態にするショートカットです。
3.プログラム(JavaScript)
プログラム(JavaScript)です。
4.使い方
以下は、Windows 11(タブレット)の操作例です。「スタート」>「設定」の順にタップします。設定画面で「Bluetoothとデバイス」>「デバイスの追加」の順にタップします。
「Bluetooth」をタップします。
micro:bitが見つかると「uBit [xxxxx]」と表示されるのでタップします。
接続が完了すると「接続済み」と表示されます。「完了」をタップします。
デバイスが追加されていることを確認します。
メモ帳などを起動して、CardKB Unit V1.1から文字などが入力できることを確認します。また、micro:bitのボタンA、ボタンBを押して、ショートカットが動作することを確認します。