必須常駐ソフト(ボタンの割当関連)

 〜キーフックを使用するアプリの使い方のコツ〜
 MultiKeyHook
まずはこれ。「WindowsCE FreeWare」から入手。起動させる順番は、以下に紹介する順がベストだと思う。(07/09/21追記: KeyLockSuspender は MultiKeyHook に登録せず、そのままスタートアップフォルダに入れるだけで問題ないようだ。)


 esMojiKey

文字キーを押して、ランチャモードにしてテンキーを入力することにより、指定した挙動を実現するソフト。「W-ZERO3es 弄り戯び」から入手。ただし、Today画面では使用できない。
起動オプションを /DefaultInput=7 として起動して、文字キーを押すと、ランチャ状態になる。もう一回文字キーを押すと、かな入力になる。私は、WithATOKを使って、[カ][カ][A][a][A]を選択できないようにしているので、もう一回文字キーを押すと、半角小文字英字入力となる。
つまり、文字種の切替えにワンキー余計に入力しなければならなくなるが、慣れればどうってことない。


私は、esMojiKey.ini を以下のように設定している。それぞれの行がテンキーの1から#までの12個のキーに対応している。

[esMojiKey.ini]の内容
\Program Files\PLUSi_Launch.mscr
\Program Files\KeyInputEmulator.exe|Ctrl+s
\Program Files\KeyInputEmulator.exe|Ctrl+q
\Program Files\CPTools\CopyEmulate.exe
\Program Files\CPTools\CutEmulate.exe
\Program Files\KeyInputEmulator.exe|Ctrl+v
\Program Files\KeyInputEmulator.exe|Ctrl+z
\Program Files\KeyInputEmulator.exe|Ctrl+a
\Program Files\YTaskMgr\YTaskMgr.exe
\Program Files\KeyInputEmulator.exe|Home
\Program Files\CPTools\ToggleShift.exe
\Program Files\KeyInputEmulator.exe|End

KeyInputEmulator というソフトを多用しているが、これはググれば見つかる。
CopyEmulate.exe, ToggleShift.exe等はここのエントリを参照。
MortSciprtについてはここを参照。
9行目の YTaskMgr は、高機能なランチャソフトで、特に音量調節が手軽にできるのがうれしい。


 ctrlswapmini
あ→お→えといった逆トグルができるようになる(あくまで膨大な機能のうちの一つ)。「フルパワー全開 WindowsCE のページ 」から入手。
私は、拡張かな入力モードにして、
自動 CapsLock をオフ、 ←以前入力した英字が大文字だったか小文字だったかを記憶する。小文字の使用が多い場合は不要
IME制御をオンにし、 ←英字入力時にATOKによる変換が行われないようにする
defautlkeymap.txt を以下のように改変して使用している。

  • 「あいうえお」のあとに出てくる「ぁぃぅぇぉ」を削除

「あ」のあと#キー(後変換)を押してすぐに「お」が出てこないと不便なので。

  • 英字入力時、A→B→C→a→b→c→2 となるのを、a→b→c→2 のみにする

大文字にしたいのなら*キーを押せばいいんだし、連続して大文字を入力したいときは、CapsLock を押せばいいから。

Key	toggle	# [2]
char ASCII SHIFT A # A
attach ASCII A # a
char ASCII SHIFT B # B
attach ASCII B # b
char ASCII SHIFT C # C
attach ASCII C # c
char ASCII A # a
attach ASCII SHIFT A # A
char ASCII B # b
attach ASCII SHIFT B # B
char ASCII C # c
attach ASCII SHIFT C # C
char ASCII 2 # 2
  ↓
Key	toggle	# [2]
char ASCII A # a
attach ASCII SHIFT A # A
char ASCII B # b
attach ASCII SHIFT B # B
char ASCII C # c
attach ASCII SHIFT C # C
char ASCII 2 # 2
ほかのキーも上記のように変更すればよい。


 SortInchKey
テンキー以外のボタンの割当を細かく指定できて非常に便利。設定ツールも使いやすい。「シアノンとAd esの気まぐれ日記」から入手。
ただ、クリアキーへの割当はしない方がいいようだ。。

このソフトの設定とは別に、「設定」→「ボタン」→「ソフトキー」で、ソフトキーを有効にしておいた方がよい。
SortInchKey でも同じ設定ができるが、できるだけ最初からある機能を利用した方がなにかと都合がいいのではないかと思う。


 KeyLockSuspender
「tDiary::mozurin」から入手。解説がたくさんあるので説明不要でしょう。私は、画面オフのみ。サスペンドだと復帰後いろいろトラブルがあるみたいなので。例えば、EBPocket はサスペンド復帰後は履歴が消えてしまう。


 XcrawlEx
Xcrawl の設定ソフト。「まかべのtip ware」から入手。設定は難しいが、私は上の項目から、800,1,1,1として、加速機能は使わないように設定している。要するに Actionキーを押そうとして、Xcrawl に少し触れただけで反応してしまうと、選択がずれてしまうという不都合を防げればよいのだから、デフォルトの動きとあまり変えないようにしている。
リセット後、画面に表示されたままになってわずらわしいので、AppClose というソフトを/Tオプションつきで起動するショートカットを作り、MultiKeyHook の最後にのっけて対処する。「KOTETU’s Hatena」から入手できる。


 MenuKeyHelper2
ここから入手。EBPocket や TCMTP など旧来のユーザインターフェースでもソフトキーを使って操作できるようにソフト。他のソフトとの相性は悪いらしく、たまに四角い枠が表示されない現象がまれに生じる(挙動自体は問題ないがどこを選択しているのか分からなくなる)。こうしたソフトを使う気がないのであれば入れなくてよい。

電子辞書として使いたい!

 DicLand
Ad[es] 付属の DicLand はスタイラスでタップするなら特に問題ないんだけど、テンキーではまともに操作できない。十字キーで画面移動ができないなんて。Tabキーも動作しない。辞書は手軽な内容で悪くないんだけど、ソフト側が手抜きしすぎ。
MTap というソフトを使うと、だいぶよくなるみたいだが、私は EBPocket に一本化したので、DicLand は削除してしまった。MTap を使ったカスタマイズについては、Studio UNQに載っている。

 EBPocket(ホームページ
フリー版とシェアウェア版があるが、私は LogoVista の辞典も使いたいため、ライセンスキーを購入した。使いやすいと思う。
二重起動ができないようになっている(オプションは機能しない)が、広辞苑や英和辞典といった典型的な電子辞書と法律関係の辞書の両者を使い分けたいため、二重起動は可能なようにしてほしい。最近はスペック上がってきてるし。現状でも、\Program Files にフォルダを二つ作って、異なるバージョンを併置して、実行ファイルの名前を変更すれば、二重起動は一応可能。
二重起動すると、ヒストリー機能が文字化けしてしまうことがある。これを回避するには、よく使う文字列を history.txt に列記して、書込み禁止にする。

 模範六法2008CD-ROM(三省堂 2008/3/2更新
BTONIC という辞書形式での提供となっているが、EBStudio と関連ツールを用いて EPWING形式に変換できる。「 EBStudio変換スクリプト集」に書かれているとおりに変換するばよい。ただ、ひたすら時間がかかった。
配布されている「 BTONIC Toolkit 」は模範六法については2006年度までのファイルしかないので、mo6_2006.bat を少し変更する必要がある。

MOYEAR=2006→MOYEAR=2008

変更後の辞書は、全く問題なく閲覧できる。ただ、表形式の条文は BTONIC版では PDF形式になっており、これはEPWING形式に変更できないため、EBPocketで閲覧はできない。
表形式の多い法律、例えば民事訴訟法を見るのにはあまり適していないが、製品付属の BTONIC Viewerでもいちいち PDFを開くのは面倒だから、たいしたデメリットではない。

07/10/2追記:EBPocket の使用例(画像つき)はこちら

Today画面に無線LANの状態と Bluetoothの状態を一行で表示する

 「Kzou’s Diary (^^ゞ」 をみて、レジストリを変更する。wifiInfoも便利だが、Bluetoothの状態も Todayにコンパクトに表示できるのは、この方法しかない。挙動は少し変わっていて、無線LANBluetoothのうち片方については、それが有効になっていない場合、「オフ」の表示すら出ない。ファームウェアのバージョンアップ前は、無線LANがこのような状態だったが(Bluetoothについては常に表示されていた)、ファームウェアのバージョンアップ後は、Bluetoothがこのような状態になった。まあ、どっちにしろ、どちらも有効になっていれば、無線LANについては接続先が表示され、Bluetoothについては「オン」と表示されるので、不都合な点は全くない。

これとあわせて、ボタン一発で無線LANBluetoothの切替えができるように設定しておくと、節電の観点からも便利。wifictrlと btctrlというソフトを導入し、ボタンキーに割り当てる。
私は、wifictrlを画面回転キー長押しに、btctrlを文字キー長押しに割り当てている。どちらも、『設定」→「ボタン」→「プログラムボタン」から設定できる。

2008/2/26追記:現在ではBluetoothはあまり使用しなくなり、Todayに状態表示させる必要性がなくなったので、ワイヤレスマネージャは使用していない。また、wifictrlを文字キー長押しに割り当て、画面回転キーは他の用途に用いている。

Today画面にアプリを大きなアイコンで表示

tdLauch4SE が個人的には気に入っている。「櫻茶屋 - 春うららネットスペース」から入手。アイコンを大きく表示できるのがうれしい。ただ、大きくしすぎると、対応する大きさのアイコンを持っていないソフトでは、アイコン画像が汚くなる。私は、48ピクセルで表示しているが、きれいに表示できるアイコンを持ったソフトは一つもなかった。そこで、以下のページを参考にして、気に入ったアイコンをダウンロードし、リソース DLL を作成し、その DLL 内のアイコンへアクセスするショートカットリンクを作成した。
「Leo's Icon Archive」
まずアイコンを探す。いろいろあるけど、ここはいい。

ショートカットをつかってアイコンを変更する方法は、ダイアルアップソフト harddialを用いて説明すると、
エディタで

72#"\Program Files\harddial.exe"?\Program Files\なんとか.exe,-158
といった内容を記述して、拡張子を lnk として保存する。
最初の数字はファイル自体の大きさを表し(適当でもいいみたい?)、最後の数字(上の例では"-158"の部分)はアイコン番号を指す。アイコン番号は、Windows XPなどで Resource Hackerなどのソフトを使って、exeや dllファイルを開けば分かる。
exeファイルを指定するところを直接 icoファイルを指定できれば楽なんだけど、それはできないようなので、リソースDLLをつくる。
ホーミンさんのページ中、ここをみれば何とか作れる。ただし、Microsoft eMbedded Visual C++をインストールしなければならない。無料だがサイズが大きく大変。もっと簡単な方法はないのかな。

とりあえず、時計とフォルダとテキストエディタのきれいなアイコンを探して、リソースDLLをつくって、Today画面に表示させたら、わりかし見栄えはよくなった。

テンキーからの記号入力補助

PasteHelper2というソフトを使うと記号入力が楽になるかも。
「BUGだらけ」に使い方が載っており、記号満載の XML ファイルも手に入る。私はこれを、少し改変して使わせていただいている。
テンキーで操作できるので、ExecMultiを使って起動時に数字入力モードになるようにするのがよい(下記参照)。

ソフトのページはここ。
mee_changの日記〜きれそうなわたしの12か月〜
/ncつきで起動すると、クリップボード表示機能なしで起動するので、より記号入力に特化したソフトになる。

ExecMulti は超便利!

このソフトは、execmulti.iniに書き込むことによって、便利な動作が実現できる。ももらぼっ!からダウンロードできる。


①ソフト起動後数字入力モードにする
ChgInputModeというソフトが「w-zero3日和」からダウンロードできるので、インストール。
53#"\Program Files\ChgInputMode\ChgInputMode.exe" -1 -aw
という内容(強制的に数字入力モードにする)のショートカットを作っておくと便利だろう。
execmulti.ini に以下のように記述する。

[ebpocket]
exec=\Program Files\EBPocket\EBPocket.exe
sleep=4000
exec=\Program Files\ChgInputMode\ChgInput.lnk

これで、ebpocketのオプションつきでExecMultiを起動すると、EBPocket起動後数字入力モードになる。「ツール」→「オプション」→「Keycode」でテンキーを割り当てておくと便利。


②ソフト起動後マナーモードを解除し、終了後マナーモードにする
SetMannerというソフトをここからダウンロードして、execmulti.ini を編集すればよい。

[wplay]
exec=\Program Files\SetManner\SetManner.exe|/off
execSync=\Windows\wmplayer.exe
exec=\Program Files\SetManner\SetManner.exe|/on

ただし、MortScriptを使った方が気の利いた処理ができる(後述)。


07/10/1追記:以下に①と②を組み合わせる方法について記していたが、複雑になるので、①については Atoksetを用いた方が楽。ssipa's WindowsCE freewareで入手可。



さらに、起動後に数字入力モードにしたい場合には、少し工夫がいる。
まず、\Program Files 以下に ExecMulti2 フォルダをつくり、ExecMulti.exc を ExecMulti2.exe とリネームしてコピーする。execmulti2.ini というファイルも作る。
execmulti.iniに 以下のように記述する。

[wplay]
exec=\Program Files\SetManner\SetManner.exe|/off
exec=\Program Files\ExecMulti2\execmulti2.exe|wp
sleep=1500
exec=\Program Files\ChgInputMode\ChgInput.lnk

そして、execmulti2.ini に以下のように記述する。

[wp]
execSync=\Windows\wmplayer.exe
exec=\Program Files\SetManner\SetManner.exe|/on /ansback

これで、wplayer のオプションつきで ExecMulti を起動すると、Windows Media起動前にマナーモードが解除されて、起動後数字入力モードになり、終了後マナーモードになる。Windows Media のオプション設定で、テンキーを割り当てておくとよい。

ただ、Windows Mediaは重たいから、TCPMPや CorePlayerの方がおすすめ。

MortScriptもかなり便利!

MortScriptを使えば、手軽に高度な処理を行うことができる。


①起動後数字入力モードにする、起動後マナーモードを解除し、終了後マナーモードにする
SetMannerというソフトをここからダウンロードしておく。
以下のサンプルは、CorePlayer起動前にマナーモードだった場合のみ、CorePlayer終了後マナーモードに戻してバイブレーションで知らせる、というもの。

<CorePlayer を便利に起動する>

manner = RegRead("HKCU", "Software\Sharp\PhoneStatus", "Status3")
if (manner eq "1")
Run("\Program Files\SetManner\SetManner.exe", "/off")
endif
RunWait("\Program Files\CorePlayer\player.exe")
if (manner eq "1")
Run("\Program Files\SetManner\SetManner.exe", "/on /ansback")
endif
Exit


②零号エディタがアクティブであるときに、特定のキー入力をするようにする
このスクリプトを、キーの一つに割り当てれば、
 零号エディタ以外がアクティブ → YTaskMgr を起動
 零号エディタがアクティブ → Ctrl+m を実行(メニュー表示)
といった処理が可能になる。
零号エディタのような固定クラス名を持っていないアプリ(ほかには EBPocket など)は、プロセス名で指定するのが手っ取り早いが、MortScript を使えば簡単に実現できる。

<アクティブプロセスの違いで処理を分ける>

m = ActiveProcess()

If (m eq "LHEdit.exe")
Run("\Program Files\KeyInputEmulator.exe", "Ctrl+m")
Exit
Endif

Run("Program Files\YTaskMgr\ytaskmgr.exe")

Exit