ひとりぶろぐ

価値ある情報をユーザー視点で発信するブログ

TOSHIBA dynabook AZのキーボードカスタマイズ

      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を取る

rootを取ります。

dynabook AZのrootをz4rootでワンクリック取得

USBデバッグをオンにする

rootを取る過程で既に済ませているとは思いますが、「設定>アプリケーション>開発>USBデバッグ」をオンにします。

今回の作業は、しくじるとキーボードが使えなくなる可能性があります。adb shellが使えれば、その危機を脱出することが容易なので、adb shellを使わずdynabook AZ上でConnectBotなどを使って作業をする場合にも、保険のためにオンにしておくことをお勧めします。

Android SDKのインストール

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への転送です。

母艦のターミナルからadbコマンドで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

しかる後に再起動します。電源ボタンを長押しすると電源が切れます。

  
  

 - Android, dynabook AZ, ガジェット