TOSHIBA dynabook AZのキーボードカスタマイズ
2016/03/16
価値ある情報をユーザー視点で発信するブログ
2016/03/16
ジャンボポッキーAndroid、TOSHIBA AC100ことdynabook AZのキーボードはなかなか使いやすいですが、配列にはいろいろと不満が募ります。
一つは、日本語入力切り替えのキー、意外とよく使うタスクスイッチャーのキーが小さく押しにくいこと。(Home長押しはまどろっこしい)
CtrlがAの横でないことなどです。
キーボードの配列は、以下のファイルを編集すれば変更可能です。
/system/usr/keylayout/nvec_keyboard_jp.kl
MATSUZAKIの日記さんのエントリ「Dynabook AZ」を参考にさせていただきました。
/system以下にあるファイルを編集するため、rootを取って/system以下を読み書き可能にremountして、root権限で作業に臨む必要があります。
ConnectBot、Terminal Emulator、Better Terminal Emulator Magicなどのターミナルを使い、dynabook AZ単体で済ますこともできますが、説明の簡単のためにadb shellを使った手順を説明します。
もくじ
ここに書いてあることは比較的危険な作業であり、適用することでメーカー保証を受けられなくなる可能性があります。
自己責任でお試しください。(続きは[MORE]から)
rootを取ります。
dynabook AZのrootをz4rootでワンクリック取得
rootを取る過程で既に済ませているとは思いますが、「設定>アプリケーション>開発>USBデバッグ」をオンにします。
今回の作業は、しくじるとキーボードが使えなくなる可能性があります。adb shellが使えれば、その危機を脱出することが容易なので、adb shellを使わずdynabook AZ上でConnectBotなどを使って作業をする場合にも、保険のためにオンにしておくことをお勧めします。
Android SDKをインストールし、adbコマンドが使えるようにします。「Xperia Android 開発環境SDKインストール」さんのエントリを参考にしてください。「(3)Android SDKのインストール」だけ読めばOK。
Android 開発環境の構築 Android SDKのインストールからXperiaの開発環境構築まで
Mac OS XとLinuxはAndroid SDKを解凍すると出てくるサブディレクトリのtoolsにパスを通すだけでOKです。toolsの中に、今回必要なadbコマンドが入っています。Windowsではドライバ(infファイル)の導入が必要です。infファイルの導入は、Android PC のdynabook AZを使ってみるブログさんのエントリを参考にしてください。
Android Debug Brige(ADB)でdynabook AZをデバッグできるようにする
dynabook AZからコピーしてきた定義ファイルのオリジナルが以下です。
zipファイル内のnvec_keyboard_jp.kl.org
中身を見れば特に説明の必要は無いかと思いますが、
[キーコード] [割り当て機能] [サスペンド解除指定(WAKE_DROPPED)]
といった並びになっています。また、行の並びはキーボードの列単位に整理されているので、キーコードと割り当て機能名の対応を実物のキーボードと見比べていけば、「DELETE」がシステム設定起動キーとして機能することなども分かるかと思います。
サスペンド解除指定(WAKE_DROPPED)とは、サスペンド中に押された場合に、サスペンドを解除するかどうかの指定です。この3番目のカラムにWAKE_DROPPEDと書いておくと、サスペンド解除キーとして設定されます。
カスタマイズは、[割り当て機能]を入れ替えていくことで実現できます。例えば、以下のような感じです。
オリジナル:
key 58 CAPS
key 29 CTRL_LEFT
改変後:
key 58 CTRL_LEFT
key 29 CAPS
これでAの横がCtrlキーになり、CtrlキーはCaps Lockになりました。
注意すべきは、記述を間違えるとキーボードが機能しなくなることです。できるだけコピー&ペーストで進めていき、スペルミスの無いように注意してください。
自分なりのカスタマイズをしたファイルが以下です。
zipファイル内のnvec_keyboard_jp.kl
割り当ては以下のようになっています。
半/全キーをスペースキーの右側、つまりメニューキーにしたのは正解でした。
これでかなりテキストが打ちやすくなった印象です。本来のメニューキーはスペースキーの左側に位置させました。
この辺りは好みもあるでしょう。Caps Lockは使わないので割り当てていませんが、本来のタスクスイッチャーのキーが空いているので、ここに割り当てるといいかもしれません。Caps Lockのキーワードは「CAPS」です。
編集を終えたらdynabook AZへの転送です。
いろいろな方法がありますので、分かる方は自分なりの方法で実行すればよいかと思います。
USB A→miniBというケーブルで母艦にdynabook AZを接続。もちろん、dynabook AZ側がmini Bです。
ターミナル、Windowsならコマンドシェルを起動し、以下のように実行。これでdynabook AZにファイルが転送されます。
adb push <各自のファイル設置パスに書き換え>/nvec_keyboard_jp.kl /storage
以下のように実行し、dynabook AZにログイン。
adb shell
ログイン後、次のように実行していきます。
$ su
# mount -o rw,remount -t ext3 /dev/block/mmcblk0p1 /system
# cd /system/usr/keylayout
# mv nvec_keyboard_jp.kl nvec_keyboard_jp.kl.org
# /system/bin/busybox cp /storage/nvec_keyboard_jp.kl /system/usr/keylayout
# chmod 644 nvec_keyboard_jp.kl
最後に、dynabook AZを再起動させます。
何か事故があってキーボードが効かなくなり、復旧したい場合は次のようにします。
トラックパッドは生きていると思いますので、USBデバッグをオンにしていない場合は、トラックパッドで「設定>アプリケーション>開発>USBデバッグ」をオンにします。
ターミナル、コマンドシェルから「adb shell」でdynabook AZにログインし、以下の手順を踏みます。
$ su
# mount -o rw,remount -t ext3 /dev/block/mmcblk0p1 /system
# cd /system/usr/keylayout
# cp nvec_keyboard_jp.kl.org nvec_keyboard_jp.kl
しかる後に再起動します。電源ボタンを長押しすると電源が切れます。