2011年1月30日日曜日

Desire Z 備忘録 その3

今日のお題はキーレイアウトの変更

*毎度おなじみ自己責任で実行
*文鎮上等
*マゾいうな

Desire Zにはqwertyキーボードがついてる。
しかしこのキーボードにはちょっと問題があって
矢印キーが付いてない。

これは非常に残念。

iPod使ってた頃にも矢印キーが欲しいがためだけに
脱獄していたんだからほんとに残念。

ちなみにandroidに最初から付いてる
androidキーボードにも無い。
外人さんたちは困ってないんだろうか?

ATOKやwnnには付いてる。

そんなわけでどうにかしたいと思う。
いろいろググってみると答えがあった。

曰く、通常、アプリケーションを割り当てられる
2つのキーに矢印キーを割り当てたらいいということ。
変更するファイルはvision-keypad-wwe.kl

早速
# adb pull /system/usr/keylayout/vision-keypad-wwe.kl
とやってキーボードの割り当てのファイルを取ってくる

テキストエディターで中身を開いて
# column 0
key 185 USER2 WAKE_DROPPED
# column 1
key 184 USER1 WAKE_DROPPED
の2箇所を

# column 0
key 185 DPAD_DOWN WAKE_DROPPED
# column 1
key 184 DPAD_UP WAKE_DROPPED
に修正する。

これで左右の矢印キーの割り当て終了。
# mount -o rw,remount /dev/block/mmcblk0p25 /system
とやって

# adb push /system/usr/keylayout/vision-keypad-wwe.kl
# reboot

これで起動したらキーが割り当てられてるはず・・・だった。

はい、ものの見事にうまくいきませんでしたorz

さらにググるとvision-keypad.klを変更すればいいと
いう書き込みもあり、それも試すがうまく行かず。

どうしたものかと思っていたら、
とあるブログにadb logcatしながら端末を起動させて
どのkeylayoutを読み込んでるかをみなさいと、書いてあった。

Desire Zをつないでadb logcat
いっぱいログが流れる。
端末再起動。
ログ流れまくり。
コマンドプロンプトのバッファがすぐあふれるので
ログが見れん。

仕方がないのでwin7のtelnetserverを立ち上げて
ユーザー設定とかしてteratermで127.0.0.1につなぐ。
バッファの設定がデフォルトで10000行のteratermさん
さすがです、パネェっす。
必要なログが一発でとれました。

確認したかったのはこれ
I/EventHub( 1480): New keyboard: device->id=0x20001
devname='vision-keypad-sea'
propName='hw.keyboards.131073.devname'
keylayout='/system/usr/keylayout/vision-keypad-sea.kl'
適当に改行してるけど本当は2行(だったと思う)。

vision-keypad-sea.klを読み込んでるのがわかる。
うちのasia版のDesire Zはこれを変更しないといけない
というのがわかった。

なので早速変更、手順は上で書いたのと一緒。
書き換えるファイルがvision-keypad-sea.klなだけ。
*adb pushする前にもとのファイルはbackupは取っておく。
rebootして起ち上がってくるとちゃんとキーの割り当てが
変更されてた。

よかった、よかった。
ROMのバックアップ取っとこう。

0 件のコメント:

コメントを投稿

 
/** Google Analytics */