Leonardo ならではのサンプルとして、USB のHID を使ったサンプルがあります。
「JoystickMouseControl」という名前です。
このサンプルは Arduino 1.0 rc2 まではライブラリ「Mouse」のサンプルとして、付属していました。
RC2 もまだダウンロードできますが、このサンプルは public domain となっているので、こちらに置いておきます。
(一部改変してます。)
LED D5 > D13
SW D6 > D2
pull-down > pull-up (internal resistor)
X 移動 A1 (サンプルのまま)
Y 移動 A2 (サンプルのまま)
アナログ入力 2つ (A1, A2) を使って、それぞれマウスの X 移動, Y 移動を送ります。
実行すると、ボタンを押したとき、LED が点灯し、Mouse になります。
もう一度ボタンを押すと、LED が消灯し、無効になります。
Mac からの見え方は特に変化がないようです。
続いて Keyboard です。キーボードはサンプルコードがありません。
Button をベースにしたサンプルを作りました。
LED D13
SW D2
pull-down > pull-up (internal resistor)
Keyboard.write(code);
で、ASCII コードを指定すれば、キー入力に変換してくれます。
大文字、小文字の処理は勝手にやってくれるのですが、反面、ModifierKey (Shift など) を指定できません。(少し手を加えればできそうですが、、、)
何より残念だったのは、これらのデバイスはOS から複合デバイスとして認識されているということです。
単純なHID キーボードではないので、OS によっては認識されません。
そう、iPad (with Camera Connection Kit) からは認識出来ませんでした、、、
Android も(Xperia Arc, Android 2.3.4) 駄目でした。(消費電流が大きすぎると警告されました)。
この機能を使って、Newton Keyboard アダプタを安く小さく作れると思っていたのですが、iPad に繋がらないと意味がないですね。
0 件のコメント:
コメントを投稿