モーションでAndroidスマートウォッチフォンを画面触らずに操作するやつを色々試していろいろ考えたのでメモメモ。
LEMFO LEMXやKospet Hopeの場合。
Androidスマートウォッチフォンで出来る腕の動き
スマートウォッチフォンでは意外と画面を見ているときは向きや加速度が安定してます。動いてたら画面見づらい。
入力出来るジェスチャーは以下の通り。
- 回転させてのシェイク。手前に回転は出来ねぇ。手首モゲル。
- 水平保ったままのスライド
- 腕を上げる。
- 腕を下げる。
これらの動きはしかし、スマートウォッチフォン側から見ると実は単にプラスとマイナスの加速度が入力されているに過ぎません。腕の振り方でその変化が同じかどうか見ているだけです。
これはLEMFO LEMXやKospet Hopeは加速度センサーのみ搭載しており(回転検出センサーは積んでいない、たぶん)、またAutomateのMotion Gestureタイルは加速度センサーを記録して動きを判別している為です(ちなみにアプリのGravity Screenは画面の傾きを見れてる。どうやってるんや…)。
なお、加速度センサーを起動させている場合の消費電力はかなり小さいですが、それでもバッテリーを消費するみたい。従って画面がOFFの時は加速度センサーの読み取り待機をオフにするとホントは良い、ハズ。とはいえ、Screen On Risingを使用している場合、既に加速度センサーは起動しているものと思われます。
誤作動させずにMotion Gestureを反応させる
ということは、誤作動なくAutomateで操作させる場合、入力される加速度をプラスとマイナスで見て考えれば良いわけです。そして動きを判別するもう一つの要素は時間、リズムです。
拍子で考えると分かりやすい。
- ゆっくり腕を上げる。長拍子。トーン↑。
- ゆっくり腕を下げる。長拍子。ドーン↓。
- 細かく2回回転させる。タタン。
- 細かく拍子で回転、タン、タタン
- 細かく回転、タン、タン、タタン。
- 回転と腕上げを組み合わせる。タン、ドーン↑。
- 同じく回転と腕下げを組み合わせる。タン、ドーン↓。
- 水平スライドさせる。シュッ!
当然ながら、一回だけの手首回転(タン!)でのシェイクに機能を割り振ってしまうと誤動作します。いっぱい動きを覚えさせるには、複雑な拍子を組まなければならなくなります。
後で追予定。