em1key は WindowsMobile 用の強力なキーボードカスタマイズツールです。 W-ZERO3 等さまざまな機種で動作しますが、 デフォルトで EMOBILE の端末、EM・ONE (SHARP S01SH) 向けに作成した 内蔵キーボードの機能拡張設定が付属しています。
EM・ONE は WindowsMobile5.0/6.0 を搭載した端末ですが 独立したソフトキーを持っておらず、他のデバイスに慣れていると少々 操作に戸惑うことがありました。 このプログラムはキーボードの上段 [1][2]〜[9][0] の数値キーをファンクションキーとみなして 左右のソフトキーや [Win][OK] ボタン等を割り当てます。
また従来内蔵キーボードだけで入力できなかった " [ ] { } 「 」" などの 記号を割り当てたり、さまざまな機能追加を行います。 特に面倒な設定も無く、インストールするだけですべての機能が有効になります。
W-ZERO3 (WS003SH/WS004SH/WS007SH/WS011SH) でも全く同じように動作します。 (注意: W-ZERO3[es](WS007SH) のみ Today 画面で [0]〜[9] の操作を 完全に置き換えることができません。それ以外は大丈夫です。)
より細かい機能アサインや変更、さらには A〜Z キーの配列や日本語入力配列、 入力モードの追加など、上級者向けの詳細なカスタマイズ も可能となっています。
PC版 em1keypc もできました。
数値ボタン | [1] | [2] | [3] | [4] | [5] | [6] | [7] | [8] | [9] | [0] |
---|---|---|---|---|---|---|---|---|---|---|
そのまま 押した場合 |
[ESC] | [Win] | 左ソフト | [ALT] | タスク 切り替え |
App4 | App5 | App6 | [OK] | 右ソフト |
長押し | [1] | [2] | [3] | [4] | [5] | [6] | [7] | [8] | [9] | [0] |
[Ctrl] と同時 | [1] | [2] | [3] | [4] | [5] | [6] | [7] | [8] | [9] | [0] |
記号ボタン | [;,] | [:.] | [?/] | [=-] |
---|---|---|---|---|
[Ctrl]と同時 | [ | ] | 画面回転 | NumLock切替 |
[Shift]を 一度押して離した後 [Ctrl]と同時 | { | } | 画面回転 | アプリ終了 |
カーソルキー | ← | ↑ | → | ↓ |
---|---|---|---|---|
[Ctr]と同時 | [Home] | [PageUp] | [End] | [PageDown] |
その他 | [Tab] | [文字] |
---|---|---|
そのまま押した場合 | [Tab] | IME の on/off |
[Ctr]と同時 | タスク切り替え | 文字種切り替え |
[Fn] を押さなくても、数字キーの [3] と [0] がそれぞれ 左右のソフトキーとして働きます。
また [2] [9] が [Win]キーと [OK] ボタンの代わりになります。
数値は「各キーの長押し」または [Ctrl] を押しながらボタンを押すことで 入力することができます。キーリピート対応です。
数値入力の3種類の方法
[Ctrl] を押しながら [=-] キーを押すたびに NumLock 状態が切り替わります。 NumLock に切り替えると、そのまま入力するだけで数値入力ができます。
[5] キー、 または [Ctrl] を押しながら [Tab] キーで、 起動しているプログラムを順番に切り替えることができます。
[Shift] を押して離した後に、[Ctrl] を押しながら [=-] キーを押すと 最前面のアプリケーションを終了させることができます。
[文字] キーだけで日本語入力 (IME) の On/Off ができるようになります。 入力バッファに未確定の文字が残っている場合は IME が Off になりません。
従来の文字種切り替えは [Ctrl] を押しながら [文字] キーを押すことで可能です。
[6][7][8] はアプリケーションキーです。 「設定」→「ボタン」で割り当てたプログラムを1キーで起動することができます。
設定画面とキーの対応は次の通りです。(EM・ONE)
なお、すでに他の キーフック アプリケーション が存在していると 起動することができません。 共存させたい場合は ホーミン さんによる 多重キーフック multikeyhook (ある忘れっぽいプログラマの覚書) 等のプログラムが必要になります。 他のツールとの共存時の動作確認は特に行っておりませんのでご了承ください。
インストール方法同様に CAB を実行するだけで構いません。
注意!
commandscript.txt を書き換えて使っている場合は、
更新時に上書きされないようにご注意ください。
更新前に他の場所にコピーするなどバックアップをとっておいてください。
SETSYSFLAG SYSFLAG_IMESW
という行がありますので、 この行を削除するか先頭に # をつけてコメントアウト してください。 その後一旦 em1key を終了してもう一度起動します。
キーリピートが遅いと長押し判定時間の誤差が 大きくなりますので、気になるようでしたら移動速度を速くし、 待ち時間も短くしてみてください。
また長押し判定時間は commandscript.txt の 261行あたりにある KEEPTIME の数値で調整できます。
ただし ZERO3[es] (WS007SH) の場合のみ Today 画面では [0]〜[9] のキーの置き換えが完全にできません。 半分ダイヤルキーとしても機能してしまうので注意が必要です。 Today 画面以外では大丈夫です。 また [es] でない初代 ZERO3 では問題ないと思われます。
SETSYSFLAG SYSFLAG_SCANTEST
という行を削除してください。 これは EM・ONE/ZERO3 の内蔵キーボードかどうかの 判定をスキップするための設定です。
実際の動作は キーコードをテーブル参照するのと同じくらい単純で、 無理やりテーブルを拡張するよりも軽量です。 たとえば oyayubiwm「親指シフト」 の設定ファイルはテキストで 40KByte ありますが、 読み込んだ後のメモリ上のバイトコードはわずか 2Kbyte です。
v1.21 付属の scriptcommand.txt はこの設定が 含まれていますので、289行あたりにある
# SETSYSFLAG SYSFLAG_CTRLSWAP
や
# SETSYSFLAG SYSFLAG_ESCSWAP
の先頭の '#' を取り除いてください。 '#' はコメントのマークなので、これを削除することで機能が 有効になります。
このプログラムはインストールするだけで簡単に使うことができます。
どうしても設定を変更したい、カスタマイズしたい、 という上級者のために設定を修正する手段も用意してあります。 専用のスクリプトで内部機能をほとんど置き換えることができるため 非常に強力ですが、設定の記述は独自の言語を使っており低レベルです。
一般キーの配列変更もできるので、 外付けで英語キーボード使ってるけど日本語配列にしたい場合、 逆に日本語キーボードをつないでるけど ASCII 配列で使いたい場合にも 対応できます。
このプログラムには ctrlswapmini の開発経験が活かされています。 動作確認やさまざまな要望、問題報告など、多数のご協力感謝します。
Hiroyuki Ogasawara http://dench.flatlib.jp/ http://www.vector.co.jp/authors/VA004474/