はじめに
Android端末に物理キーボードを繋ぐようなアプリケーションを作成する場合、物理キーボードをAndroid端末に接続してテストする必要があったりしてそれらの作業がかなり面倒だったりします。そのような場合に物理キーボードを用意しなくてもテストする方法を見つけたのでまとめたいと思います。
前提知識
まずは物理キーボードとはなにか補足しておきます。Androidには仮想キーボードと物理キーボードの両方が使える様になっています。今回はこれらのうち物理キーボードでのテストをする方法をまとめています。
仮想キーボードとは
Android端末の画面上に表示されるキーボードのことで、ソフトウェアキーボードなどと呼ばれることもあります。Android端末ではTextFieldなどをフォーカスしたときなどに仮想キーボードが自動的に表示されます。
物理キーボードとは
物理キーボードはAndroid端末に外部接続されたキーボードのことです。有線または無線接続でキーボードを接続をすることで、外部接続されたキーボードでTextFieldなどにて文字を入力することができます。
テスト方法
scrcpyというAndroidの画面をミラーリングするためのコマンドラインツールがあるのですが、このscrcpyにはこのscrcpyには物理キーボードをシミュレーションする--hid-keyboard
というオプションが実装されています。
scrcpyをインストールしたあと、--hid-keyboard
のオプションを付加して、scrcpyを起動することで物理キーボードを繋いだときの動作確認を簡単に実施できます。
scrcpy --hid-keyboard
しかしこのままだと仮想キーボードが表示されたままになり、物理キーボードのテストがやりづらいので、以下の手順でAndroidの設定を変更して、物理キーボードを接続した場合には仮想キーボードを表示しないようにしておきます。
- 右下の「キーボードアイコン」をタップする
- オプションの「Show virtual keyboard」をOFFにする
これで物理キーボードがなくてもAndroid端末の実機で物理キーボードを利用したテストが簡単にできるようになります。
おわりに
上記に紹介した物理キーボードのオプション以外にもscrcpyには実機テストで、役立つオプションが実装されています。なので興味ある方はscrcpyのオプションを眺めてみると良いかなと思います。
また個人的にscrcpyのGUIツールを作っていたりします。どうしてもコマンドラインツールはとっつきづらいという人はこちらのGUIツールを利用してみてくれればと思います。