Xperia pro(MK16i)/mini pro(SK17i) で、キーマップの置換というか追加をしてみた。
Xperia pro/mini proは、QWERTYキーボードが付いていて、なかなか便利。通常のAndroidアプリを使う分には、もう完璧って感じなのだが、ベースになっているLinuxにアクセスする場合、ちょっと困った事になる。標準状態では、キーボードから入力できない記号が多いのだ。端末エミュレータ等を使用する場合に、シェル(sh)で頻繁に使用するパイプ"|"や、リダイレクト"<"・">"・">>"といった記号がキートップに無く、非常に苦労する。
このままだと不都合な事が多いので、キーマップの修正にチャレンジしてみた。
技術的な詳細は、下記のZIPファイル内の「キーマップ技術情報.txt」を参照されたい。
バイナリーエディタでファイルの中身を変更して書き戻すだけなので、この情報が理解できる人なら、好みに合わせていろいろ変えてみる事も容易だろう。
で、結論として、「かなりうまくいった」ので、公開することにする。「かなり」ってのは、つまり、ダメな部分もあったのだ。残念な事に、入力方法に「POBox Touch」を選んでいる場合、この変更が有効にならない。どうやら、POBox Touchは、直接、キーコードを読み込んで、独自に物理キーの処理を行っているようだ。入力方法に「nicoWnnG IME」や「ATOK」を使用すれば、問題なく記号類が入力できるようになるので、入力方法を適宜選んで使ってもらえば良いだろう。
以下に、修正したキーマップ定義の導入方法を示す。
なお、修正されたキーマップを導入した場合に入力できる記号類は、文末に記載したので、そちらを参照の事。
※注意事項
以下、すべて自己責任で行うこと。端末が動作しなくなったり、何らかの動作不良となった場合でも、一切の保証は行わないので、そのことを了承した上で操作する事。
1) 準備
この作業は、要rootedだ。Xperia pro/mini proは、事前に「root取り」を行っておくこと。
やり方は、以下を参照の事(ブートローダーのアンロックは不要!)。
[NEW][26/OCT/2011][ROOTING] Xperia 2011 Easy Rooting Toolkit [v1.0](zergRush Exploit)
[URL]
簡単に手順を示しておく(要Windows PC)。
a) 上記のサイトから、DooMLoRD_v1_ROOT-zergRush-busybox-su.zipをダウンロード
b) Xperia側でUSBデバッグを有効化した後、PCに接続(PC Companionは起動しない事)
c) PC上で入手したzipファイルを解凍し、フォルダ内の runme を実行
※上記以外の方法でrootを取っている場合、busyboxが未導入なら導入して、/system/xbinに
busybox --install -s /system/xbin
とでもして、リンクを作っておくこと。
2) 修正版キーマップ用ファイルをXperia側へコピー
先ず、以下のZIPファイルをPC上でダウンロードして、解凍しておく。
MK16i-SK17i-key-remap.zip
Xperia側のmicroSDに、「keymap」フォルダーを作成し、上記のZIPファイル内の以下のファイルをコピーする。
pm8058-keypad.kcm.bin.remap
3) 端末エミュレーターのインストール
以降の操作は、Xperia側で端末エミュレーターを使って行うので、端末エミュレーターをインストールしておく。お薦めは…
ConnectBot
このConnectBotでは、表示される文字サイズがボリュームボタンで変更できるので、見やすいサイズに簡単に変更できる。日本語の入力はできないが、ファイル名等は日本語でも化けずに表示される。インストールしたら、「local」で接続先を作っておけば良い。
4) 端末エミュレータを起動して、キーマップファイルを置換
端末エミュレーター上で、以下のコマンドを実行する。なお、「$ 」や「# 」は、シェルが表示するプロンプトなので、入力しない事。