Android エミュレータでトラックボールを使う
開発中の Android アプリでトラックボールを使った時の挙動を見たかったので、Android SDK に含まれている Android エミュレータでトラックボールを使ってみようとして調べてみました。
Android Emulator | Android Developers
Emulated Device Key Keyboard Key Toggle trackball mode F6 Enter trackball mode temporarily (while key is pressed) Delete
ヘルプドキュメントには上のように書かれていて、F6 キーを押すことでトラックボールモードに入ることができるようです。 また、Delete キーを押しっぱなしにすると、その間だけトラックボールモードになるようです。
というわけで、実際に Android エミュレータを起動して F6 を押すとエミュレータのタイトル部分に 「Press F6 to leave trackball mode.」 と出て、それっぽい感じになったのですが全然トラックボール操作ができない! なんで! ってことでちょっと悩んでました。
Android エミュレータでトラックボールを使えるようにするには
そもそも、使用している Android エミュレータでトラックボールが有効になっていなかったので使えなかったのでした。
Android 仮想デバイス (Android Virtual Devices; AVD) のドキュメントには次のように書かれているのですが、今はデフォルトで 「hw.trackBall」 の値は 「no」 になっているぽいですね。 (私の環境がおかしいのかも??)
Managing AVDs with AVD Manager | Android Developers
Characteristic Description Property Trackball support Whether there is a trackball on the device. Default value is "yes". hw.trackBall
今の AVD Manager だと、ハードウェアプロパティを GUI 上で操作できないぽいので、設定ファイルを直接書きかえて、「hw.trackBall=yes」 にすることでトラックボールを使えるようになりました。
設定ファイルは、デフォルトではユーザーディレクトリ中の .android/avd/{AVD 名}.ini の中の path プロパティで指定されているディレクトリの中にある config.ini ファイルです。 (通常は .android/avd/{AVD 名}.avd/config.ini というパスになると思います。)
- AVD の設定ファイルの位置について: Managing AVDs from the Command Line | Android Developers