Androidでシェルからキー押下を発行

前回”am”コマンドについて書きましたが
今日は”input”コマンドについてかこうかと。
“input”はキーの押下イベントをシステムに渡すコマンドで

$ input keyevent <キーコード>

とするとキーコードのキーが押されたかのように動作させることができます。
キーコードは

  • 3 : ホームキー
  • 4 : バックキー
  • 82 : メニューキー

のようになっていますが、
物理的なキーがあることが少ない

  • 84 : 検索キー

なんてのもあります。
全キーコードはandroid.view.KeyEvent.javaに書かれています。

ところで”input”には

$ input text <文字列(英数記号)>

のような使い方もあります。
どこかのテキストボックスにフォーカスがあるときに実行することで
“文字列”のキーの並びの順にキーが押され、
文字が入力されていきます。

$ input text linux

を実行すると”linux”と表示されます。
ただし、入力モードによっては”ぃぬx”と表示されるかもしれません。