スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書く事で広告が消せます。

キーパッドで~(tilda)を打ちたい

さて,キーの話の続きですが,wwe版(?)のキー



にはある「~」(tilda)が私のesn(スペイン語)版キーパッド



にはありません.tildaは,一般にはWebの誰かのホームディレクトリの表示なんかに使うくらいですが,Unix端末の管理用ターミナルとして考えた場合,ホームディレクトリの表現,viのコマンドなどで結構使うのでないと困ります.まあ,Irssi ConnectBotなんかを使用している場合は[SYM]からのシーケンスで入力は可能なのですが,アプリーケーション外で使用できません.やはりいつでもキーパッドから入力したいものです.ということで,なんとかキーに割り当ててみることにしました.

このキーパッドの場合,[Shift]([↑]のキー)や[FN]がモディファイアキーとして使用できますので,一般の物理的文字キーに関しては
[キートップ刻印]
[キートップ刻印]+[Shift]
[キートップ刻印]+[FN]
[キートップ刻印]+[Shift]+[FN]
の4種類の使い方ができます.たとえば
[U] → 「u」
[Shift]+[U] → 「U」
[FN]+[U] → 「7」
[Shift]+[FN]+[U] → 「7」
といった感じです.これを利用することにしました.

ついでなので,キートップに書いてあってもまず使わないスペイン語的なキャラクタ(の書いてあるキー)を,tildaに加え,「[」,「^」などのシステム管理によく使うキャラクタの入力用に使うことにしました.たとえば,[FN]+[N]で出てくるエニェ(nの上にtildaが乗ってるみたいな奴,写真中の※2)が,なんとなく似てるので,[FN]+[N]でtildaが出てくるようにしたい,などといった具合です.

まず,おなじみxdaの「Modified keymap files for G2」の記事から推測するに,修飾後のキーコードは,この場合
/system/usr/keychars/vision-keypad-esn.kcm.bin
で定義されているらしいことがわかります.このファイルはバイナリでasedenoさん作のunkcmというユーティリティでダンプできますが,そのままバイナリエディタ(Winなら酒井純さん作のDANDPとか)で開いてみたところ
J.5.j.J.).)
N.6.n.N.¢.¢
みたいに並んでいる部分があり,上記unkcmのダンプ結果が
keycode Display Number Base Shift Alt Shift+Alt
と並んでいることから考えると,最初の1つがキートップ刻印,最後の2つのキャラクタが
[FN]+[キートップ刻印]
[Shift]+[FN]+[キートップ刻印]
となると考えられます.よって,その部分をバイナリエディタを使って,希望するキャラクタのコードで直接書き換えればよいのではないかと考えました.

つまり,たとえば[N]キーに「~」, 「^」を割り当てるとすると,



の該当部分(赤丸,青丸の部分)を



と,書き換えてしまうということです.

キーの割り当ては,使用頻度や操作感から考えた末,
キーストローク    元のキャラ    書き換えるキャラ
[FN]+[C]       セディーユ付c    [    (0x5b)
[Shift]+[FN]+[C]  セディーユ付c    {    (0x7b)
[Shift]+[FN]+[H]    (          <    (0x3c)
[Shift]+[FN]+[J]    )          >    (0x3e)
[FN]+[K]       逆さ!          |    (0x7c)
[FN]+[M]       ユーロ         ]    (0x5d)
[Shift]+[FN]+[M]   ユーロ        }    (0x7d)
[FN]+[N]        エニェ        ~    (0x7e)
[Shift]+[FN]+[N]   エニェ        ^    (0x5e)
[FN]+[?]        逆さ?         \    (0x5c)
[Shift]+[FN]+[?]   逆さ?         `    (0x60)
ということにしました.
(写真中,セディーユ付c:※1,エニェ:※2,逆さ?:※3 です)

実際の手順は以下の通りです.相手がバイナリファイルなので壊したら戻しようがありません.十分注意して作業してください.
1) connectbotでlocalターミナルを開いて,/sdcard直下にvision-keypad-esn.kcm.binをコピー
$ cp /system/usr/keychars/vision-keypad-esn.kcm.bin /sdcard/
2) vision-keypad-esn.kcm.binをPCへコピー
外部メモリモードでDesireZをPCとUSB接続し,vision-keypad-esn.kcm.binをPC上の作業場へコピー.
念のためvision-keypad-esn.kcm.bin.orgなどと改名し,バックアップを取っておく.
3) DANDPなどの適当なバイナリエディタでvision-keypad-esn.kcm.binの上記箇所を編集.
4) またlocalターミナルに戻り,書き戻す
$ su
# mount -o rw,remount /dev/block/mmcblk0p25 /system
# cd /system/usr/keychars
# cp /sdcard/vision-keypad-esn.kcm.bin .
パーミッションが変わってるので,一応他のと同じに戻しておく
# chmod 644 vision-keypad-esn.kcm.bin
# ls -l
...
-rw-r--r-- root root 976 (編集した日時) vision-keypad-esn.kcm.bin
...
となってればOK.
5) 念のためsync
# sync
6) 再起動

ところでキーパッド左下のSEARCHキー(虫めがねキー)はkey217で,これが押されたときに[Shift]+[SPACE]が生成するキャラを生成するようにすればSEARCHキーで日本語/ローマ字入力のON/OFFが一発切り替え可能のような気がしますが,vision-keypad-esn.kcm.binを見る限り[Shift]+[SPACE]は0x20を生成するようになっています.多分FlickWnnがフックしていると思われるので,そっちをいじらないと無理そうです.頻繁に使用するので,どなたかうまい方法があれば教えてください.



テーマ : Android
ジャンル : 携帯電話・PHS

カーソルキーの割り当て

Desire Zは一応トラックパッドはついているのですが,1文字つづ移動したいときなど,あまり操作がしやすいとは言えません.せめてキーパドル型のものでもついていたら...まあこの問題は皆さんもお困りのようで,西部電気さんの「Desire Z keylayout変更」などで,キーパッドの一部をカーソルキーとして使用する方法が説明されています.
この手の記事では,英語キーボードの例が多いのですが,どうも私の買ったDesire Zのキーパッドを見ると



ということで見慣れない記号などがあり,DesireZの該当ディレクトリを見てみると,どうもスペイン語版らしいということがわかりました.てなわけで,上記ページのvision-keypad-wwe.klの代わりにvision-keypad-esn.klを書き換えることになりました.
よく出回っているwwe版だと右側[SHIFT]キーの上に検索(虫眼鏡)キーがあり,それを上移動(トラックパッドにとっては右移動)に割り当てるとちょうどいいのですが,このキーパッドの場合シングルクオート(とダブルクオート)のキーになるので,上移動は右側[FN]キーにすることにします.
さらに,vision-keypad-esn.klの中では
 左側[FN] = ALT_LEFT
 右側[FN] = ALT_RIGHT
のようなので,結局
----------------------------------------------------------------
               DPAD_RIGHT 右側[FN] key100
                           ↑
(スクリーン)  DPAD_UP [●1] key184←■→DPAD_DOWN [●2] key185
                           ↓
               DPAD_LEFT 右側[SHIFT] key54
----------------------------------------------------------------
                    (キーパッド)
----------------------------------------------------------------
ということになります(■=トラックパッド).キーパッドを出したときはトラックパッドが90度回っていることになるので,左右と上下の関係が入れ替わるので注意が必要です(写真と見比べてください).
リモート開発環境でやってもいいのですが,せっかくインストールしたので,connectbotでlocalを開いて
$ su
# cd /system/usr/keylayout
# mount -o rw,remount /dev/block/mmcblk0p25 /system
# cp -p vision-keypad-esn.kl vision-keypad-esn-motono.kl
# vi vision-keypad-esn.kl
---
...
# column 0
key 185 USER2 WAKE_DROPPED
key 100 ALT_RIGHT WAKE_DROPPED
...
key 54 SHIFT_RIGHT WAKE_DROPPED

# column 1
key 184 USER1 WAKE_DROPPED
...
を下記のように書き換えます
...
# column 0
key 185 DPAD_DOWN WAKE_DROPPED
key 100 DPAD_RIGHT WAKE_DROPPED
...
key 54 DPAD_LEFT WAKE_DROPPED

# column 1
key 184 DPAD_UP WAKE_DROPPED
...
---
rebootコマンドはなぜか使えなかったので,connectbotを終了し[設定]-[アプリケーション]-[高速ブート]のチェックをはずし,電源キーで再起動して終了です.



右側の[FN],[SHIFT]が使えないと困るかとも思ったのですが,あまり気になりませんでした.これでCUI操作はだいぶ楽になりました.当然メールなども打ちやすくなりました.




テーマ : Android
ジャンル : 携帯電話・PHS

Irssi ConnectBotインストール

私の場合,キーボード付の機種にする大きな理由のひとつに,CUIによるSSH接続がやりやすい,ということがあります.X01HTの時はPocketPuTTYをインストールして使用していました.それに相当するAndroidの定番SSHクライアントとしては,"ConnectBot"がありますが,キーバインドの点でいろいろ使いにくい点があります.そこでその辺を改良したバージョンがIrssi ConnectBotというわけです.
本来はIrssiというIRCのクライアントに特化した実装のようですが,特殊記号の入力などが簡単にできるようになっており,結果的にUnix系のホストに接続して操作を行う際に大変便利になっています.
またLocal接続もできるため(Android自身Unix系のシステムなので),Desire Z自身のシステム管理にも大変便利です.
インストールに特別な点はありませんが,設定時に気づいたのは
・文字の大きさは接続先を設定してから個々に設定
・公開鍵を生成してからアンロックして使用しないとパスフレーズいれてもloginできない.
・"<,>,|"などの文字はスクリーン上を軽くタップすると出てくる[SYM]キーで大抵入る.
→英語キーの人はハードキーの[SYM]と混同しないよう注意
・同様に[Ctrl],[ESC]も入力可能.
・トラックパッドでもなんとか使用に耐える.
てなとこです.

3001-connetbot.jpg

Local接続してlsなんて打ってると,本当にこの端末はLinuxで動いてるんだなー,などと実感します.



テーマ : Android
ジャンル : 携帯電話・PHS

その他のPIM機能アプリ

スケジュール管理にはジョルテを使用することにしましたが,そのほかのPIM機能についてどうしたかを説明します.

○住所録
DejaOfficeにもDejaContactsという住所録と電話帳を兼ねたアプリケーションが含まれていますが,
・電話機能との連動がよくない
・姓と名前が英語式の順番で表示されるのはともかく,住所も英語式の順番(町-市-県-郵便番号という順番)で表示される
・ふりがなのフィールドがない
などの問題があり,今ひとつの使い心地です.
CompanionLinkでPCのOutlookと同期した後,DejaOffice固有データベースとAndroid標準データベースを同期すると,一般のAndroidアプリの住所録や電話帳のアプリも使えるのでいくつか試してみましたが,どれも似たり寄ったりで,どうも私には使いにくい感じです.どうもAndroid標準データベースそのものにふりがなフィールドがないようですので,詳細の編集はPC上のOutlookで行わないと,すくなくともふりがなが入らないようです.ま,たまたま試したアプリが対応していないだけなのかもしれませんが.
結局端末上での詳細な編集はあきらめ,HTC標準の"連絡先"が電話機能との連動がちゃんとしているのでそれを使用することにしました.ふりがなが入らないので,すべてを一覧表示すると,姓のフィールドに入力したものをキーとして
 全角/半角カタカナとひらがな混合のアイウエオ順−アルファベット順−漢字(文字コード?)順
の順番で並び,漢字で名前を入力してある場合は並び順が想像できません.
これではふりがながないと電話をかけるときにどこにあるかわからなくて困るのではないかと思ったのですが,実際使用するときは"連絡先検索"で,よみを入力している途中に変換候補ですぐ漢字で姓の候補がでてくるのであまり困っていません.
かかってきた電話番号を登録するときは番号と氏名のみを入力しておき,同期してからPC上でOutlookで編集,でこれまたあまり困りません.

○ToDo
これは大した機能が必要なわけではないので,DejaOfficeのDejaTasksで十分でした.
デフォルトの文字サイズがちょっと大きめなので,それだけ設定しました.

○メモ
これも大した機能が必要なわけではないので,DejaOfficeのDejaNoteを使用することにしました.
これまたデフォルトの文字サイズがちょっと大きめなので,好みに合わせて設定しました.
メモの数が増えると使いにくいので,カテゴリを適当に設定すると見やすくなります.

ToDoとカレンダーは入力しておくとDejaOfficeのDejaTodayというアプリで日程的に近いものを抽出して表示してくれますので,WindowsMobileのTodayと同じような感じになります.出掛けにちょっと確認,には便利ですね.

住所録はなんとかならないかという気もしますが,出先では電話帳にしか使わないので,まあこんなもんかなという感じです.

テーマ : Android
ジャンル : 携帯電話・PHS

ジョルテ(スケジュール管理用アプリ)インストール

スケジュール管理用のアプリケーション(カレンダー,予定表の類)はいろいろありますが,Palm時代から最も気にしていたのは「週単位表示」の体裁でした.

OfficenailDateインストールでも紹介したように,元々は初めて使用したHandspring社のVisor Platinumの「予定表+」での表示が最も好きで,それをPalmのm515でも使用するためDateBk3を購入して使用していました.
2ndly weekly view


記事にもあるようにX01HTに乗り換えてからもそれと同じ体裁になるOffisnail Date for WM5(今はこのページはなくなってしまっているようです)を探して使用していました.
2nd view


さて,Palm→WindowsMobile→Androidと予定表を延々乗り換えてきたわけですが,さすがにAndroidになったらこの表示は当たり前になっているかと思っていたら,ストックのままでDesireZに入っている「カレンダー」と呼ばれるアプリ(以下「標準カレンダー」と呼びます)はこんな感じでした.


こりゃだめだなー,と思って,DejaOfficeのスケジュール管理アプリであるDejaCalenderを見たのですが,これもこんな感じ


で,結局やっぱり別のアプリを探さなくてはいけないということになりました.同じような表示ができるものはSK Calendar Viewerなど,いくつかあったのですが,10年分の予定を遡って好きな日へ一発でジャンプできる,解説ページが充実しているなどの理由で総合的にジョルテを選択しました.以下,私の好みに合わせた設定です.

○カレンダーの選択
ジョルテも固有データベースのみでの運用も可能ですが,それでは意味がないので,
 [NENU]-[設定]-[カレンダーの設定]-[カレンダーの選択]
で,「googleカレンダー」を選択し,Android標準データベースを参照するようにしました.

○表示形式の設定
このアプリでは,月ごとや週ごとの表示をシステム手帳になぞらえて「リフィル」と呼んでいますが,
 [NENU]-[設定]-[各種設定]-[使用するリフィル(形式)]
で,以前と同じような感じになるように「月表示」と「1週間(3)」を選択しました.この設定での「週表示」は

となり,いい感じです.

○繰り返し予定
繰り返し予定は端末では入力できない仕様なので,必要に応じてPC上のOutlookで入力して同期する,という運用とします.ただし,たとえばOutlookでは一旦繰り返し予定を入力したあと,ある週だけその予定を抜くなどということも可能ですが,Android標準データベース内ではそれは無視されるようで,同期した後DejaCalendarで確認するとちゃんとそのとおりになっていでも,標準カレンダーやジョルテなどではそこも予定が入っているように表示されてしまいます.ちょっと残念です.

○その他
・ジョルテにもToDoとメモがついていますが,DejaOfficeのDejaTasksとDejaNotePadを使うので使いません(このへんは改めて書きます).
・祝祭日の自動表示は,Outlookで入っている場合重複表示されてしまうので.そうなっていたら
 [NENU]-[設定]-[祝祭日設定]-[削除]
で削除してしまいます.
・アラームはDejaCalendarのものを使用するので,重複通知を避けるため標準カレンダーとジョルテのアラーム機能は停止しておきます.

以前と若干違いはあるものの,なんとか最低限の要求は満たすことはできました.数年前の予定へのジャンプも問題なく,これで「数年分の予定(?)を持ち歩く」の目的は果たすことができました.


テーマ : Android
ジャンル : 携帯電話・PHS

プロフィール

Author:okanore
「PalmOSからWindowsMobileへ」から改題しました.

最近の記事
最近のコメント
最近のトラックバック
月別アーカイブ
カテゴリー
FC2カウンター
フリーエリア

ブロとも申請フォーム

この人とブロともになる

ブログ内検索
RSSフィード
リンク
By FC2ブログ

今すぐブログを作ろう!

Powered By FC2ブログ