Nova Air 純正マグネティックケースの物理キーをすべてのアプリで使えるようにする
Nova Airのマグネティックケースについて Nova Airは純正ケースに物理キーがついているのが魅力の一つです。ケースと本体の接触部分に端子があり、ケースのボタンを押すと Androidから物理キーが押されたと認識されるようになっています。 つまり、ケースが外部キーボード的な役割を果たします。この物理キーは標準ではVolUp/VolDownに対応しています。 このおかげで、ボリュームキーによるページ送りに対応しているKindleアプリなどの電子書籍ビューアであれば、物理キーによるページ送りを利用することができます。 物理キーの制約 一方でボリュームキーによるページ送りに対応していないアプリもあります。この場合はAndroid標準のアクセシビリティ機能をつかったキーリマッピングアプリを使って、キー入力イベントを画面タップに割り当てればば、物理キーをページ送りに使えます。 しかしながら、NovaAirではボリュームキーに関してリマッピングが動作しません。アクセシビリティ機能のレベルで認識できないようで、どのアプリを使っても結果は同様です。ケースを買った後で気づきましたが、海外でも困っている人が大勢いるようです。 というわけで、これを動くようにしていきます。 注:ここで紹介する方法を使うと、物理キーはボリュームキーではなくなるので、キーリマッピングアプリを経由しないと物理キーは使えなくなります。 root の取得 まず、 BOOX Nova Air で root を取得する の手順に従ってrootを取得します。パッチ済みboot.imgをNANDに書き込んでいないtemprootの状態でも構いません。 ここで使ったadbコマンドは以後の手順でも使います。 キーマップファイルの取得 adb pull /system/usr/keylayout/gpio-keys.kl をコマンドプロンプトで実行しgpio-keys.klを本体から取得します。 キーマップファイルの編集 中身を編集します。もとの中身は以下のようになっていると思います。 key 115 VOLUME_UP key 114 VOLUME_DOWN key 102 HOME key 528 FOCUS key 766 CAMERA これを以下のように変更します。 key 115