WindowsMobile 5.0/6.0/6.1 TouchKeySip v1.12 マニュアル touchkeysip は WindowsMobile 用のソフトウエア入力パネル SIP です。 設定ファイルにより自由にカスタマイズすることが可能で、キーボードイメージから キーのレイアウト、入力文字、入力のロジックなどを極めて自由に組み立てることが できます。 別配布されているスクリプトとデータを使うことで、さまざまな入力パネルを実現 することもできます。自分で作ることもできます。 入力のロジックは em1key 同様、専用スクリプトで記述することができます。各種 機能のほぼ完全な再構築が可能です。スクリプト自体も em1key よりも強力でわかり やすいものに改良されました。 特徴 ・レイアウトもキーマップもイメージも完全に自由に再構築できます。 ・サイズも任意で、QVGA、VGA 等の区別もスクリプトで判定できます。 ・キー押下げ時などオーバーラップするサブウィンドウをボタンのガイドとして表示  できます。 ・別配布されているデータによりさまざまな SIP を表現可能です。 ・キーボード画像データもただの bmp なので自由に改変交換できます。 ・3種類のスクリプトを別の sip として同時に登録できます。 touchkeysip 用に作成したスクリプトやデータは自由に配布することができます。 サンプルを流用&改変したデータも、無断で自由に再配布して構いません。 2009/09/12 v1.12  ・Sip 選択画面に登録した script 名が出るようにしました。 2009/09/07 v1.11  ・メモリ消費を抑えるように変更しました。  ・画面回転時の座標ずれを減らしました。SetPanelSize のセンタリングをシステム   に任せないで自前で計算します。  ・SetPanelSize でパネルの絶対座標位置も設定できるようにしました。  ・EventShowing を追加しました。  ・3つの script を別の sip として同時に登録できるようになりました。OS からは   別の sip が 3つあるように見えますが、インスタンスを共有しているため追加の   メモリ消費はありません。同時にメモリに乗っている script も 1つだけ。 注意: 本マニュアルで「リセット」と表記しているのは、端末に用意されている  リセットボタンを押すか、電源を入れ直すことを意味しています。パソコンの  再起動と同じです。本体の初期化やフォーマットのことではありません。 ●動作環境 ・WindowsMobile5.0/6.0/6.1 汎用 ●動作確認環境 v1.05 ・WindowsMobile5 SDK エミュレータ QVGA/VGA/VGA+RealVGA ・W-ZERO3[es] WS007SH (WM5,日本語配列) ・EM・ONE S01SHα (WM6,日本語配列) + RealVGA ・hx2490b (WM5,英語配列) v1.08 ・EMONSTER lite S12HT (WM6,英語配列) v1.10 ・THC Touch Diamond S21HT (WM6.1,独自配列) v1.11 ・EM・ONE S01SHα (WM6,日本語配列) ・THC Touch Diamond S21HT (WM6.1,独自配列) ●キーボードレイアウトの違いについて 同じ日本語版 WindowsMobile でも、デバイス(端末)によって搭載されているキーボー ドレイアウトが異なることがあります。現在英語配列として認識するものと日本語配列 として認識するものと2種類確認されています。 VK を使ったキーボードシミュレーションを行う SIP データの場合、Shift や記号 入力時の動作が異なることがありますので注意してください。 標準のローマ字かな SIP と同じように、SendChar/SendIme を使った直接文字入力 タイプの SIP データではこの違いは発生しません。 ●注意 ・touchkeysip 自体はフリーソフトウエアです。 ・ソフトウエアやスクリプトの仕様が予告なしに変更されることがあります。 ・配布前の動作テストは必ずしも完全ではありません。 ・必ず自己責任で使ってください。 ・利用時は、あらかじめ重要なデータのバックアップを取っておいてください。 ●install 方法 zip ファイルを展開し、中の touchkeysip.ARM.CAB を実行してください。 必ず本体メモリ(デバイス)にインストールしてください。 ※ GSensor 版では touchkeysip.ARMGS.CAB になります。 ●使い方 インストールすると入力パネル(SIP)「touchkeysip」を選べるようになります。 切り替えて使用してください。 切り替えるには、Sip ボタンの右側の「▲」を押して出てくるメニューを使います。 デフォルトで標準的なキーボードデータが付属しています。 このデータは \Program Files\touchkeysip に入っています。 別配布されているデータに置き換える場合は、それぞれのスクリプトデータの説明に 従ってください。 ●アンインストール手順 設定→「プログラムの削除」から「HYP touchkeysip」を削除してください。 ●手動アンインストールの方法 アンインストールしても削除できなくなった場合、下記の方法を試してください。 (1) いったん touchkeysip をインストールし直します。 (2) 設定 → 入力 → 入力方法を「touchkeysp」にして [オプション] (3) Sip 0〜Sip 2 のすべての Enable のチェックを外します。 (4) 下の方にある [強制Uninstall] ボタンを押します。 (5) 再起動します。再起動の方法は端末によって用語や方法が異なっているので注意   してください。(決して端末のフォーマットや初期化のことではありません)    ・リセットボタンがあるなら押します。ソフトリセットです。    ・または電源ボタン長押しでいったん電源を切って入れ直します。 (6) 設定→「プログラムの削除」から「HYP touchkeysip」をアンインストールします。 ●アップグレード手段 再起動した直後に CAB を上書きインストールしてください。 再起動の方法は端末によって用語や方法が異なっているので注意してください。 (端末のフォーマットや初期化のことではありません) ・リセットボタンがあるなら押します。ソフトリセットです。 ・または電源ボタン長押しでいったん電源を切って入れ直します。 ●オプション設定  設定 → 入力 → 入力方法: touchkeysip → オプション または  SIP 選択メニューの「オプション」から、「touchkeysip」→「オプション」 で設定画面を開くことができます。 ------------------------------------------------------ [ Sip 0 ▼] □ Enable [ \Program Files\touchkeysip\defaultscript.txt ] Script Path [ 参照 ] [ OK ] ------------------------------------------------------- (1) Script を同時に 3つまで登録しておくことが出来ます。右上のプルダウンメニュー  で登録先 "Sip 0" 〜 "Sip 2" を選択してください。 (2) Enable のチェックボックスで、Sip0 〜 Sip2 個別に有効無効を切り替えできます。  チェックボックスが off の場合、その Sip は切り替えメニューに現れません。 (3) 読み込む script のパスを変更することができます。 [参照] ボタンで選択できるように、キーボードデータは \My Documents 以下の フォルダに入れておくことをお勧めします。 設定したオプションの内容を反映させるには、いったん別の SIP に切り替えてくだ さい。再び touchkeysip を選択すると有効になります。 Sip の切り替えは Sip アイコンの右側にある ▲ です。 デフォルトでは下記のパスが登録されています。 \Program Files\touchkeysip\defaultscript.txt ●配布されているキーボードデータを使う方法 touchkeysip 用のデータは、スクリプトファイルと画像データでできています。 これらを任意の場所にコピーし、オプションから読み込むスクリプトファイルを 切り替えてください。 ●削除できるファイル 他の SIP 用キーボードデータを使用する場合は、標準で付いているデフォルトの キーボードデータは無くてもかまいません。そのため、不要な場合は下記のファイル を削除することができます。 \Program Files\touchkeysip\defaultscript.txt \Program Files\touchkeysip\defaultkeyboard.bmp マニュアル類も実行時は無くてもかまわないので、メモリを節約したい方は削除して いただいても結構です。\Program Files\touchkeysip の中をすべて削除した場合、 消費する本体ストレージメモリ容量は実行ファイル(DLL) 1つの 約55Kbyte まで 縮小できます。 ●標準で付属しているキーボードの説明 ・キーボード 1面でできる限り多くのキーを再現することが目的です。 ・画面切り替えなしに多くのキー操作が可能です。 ・キーリピート速度は、\Program Files\touchkeysip\defaultscript.txt の中の define _UC_KEYREPEAT_TIME1 700 define _UC_KEYREPEAT_TIME2 100 の数値を書き換えることで変更できます。 付属データは日本語配列専用です。英語配列とみなす端末では記号の配置がずれます ので注意してください。 ●スクリプトの記述方法詳細 CommandManual.txt を参照してください。 マニュアルはオンラインでもアクセスできます。下記ページからスクリプト マニュアルを参照してください。 http://hp.vector.co.jp/authors/VA004474/wince/soft5.html#touchkeysip ●レジストリ このソフトウエアは SIP として登録するために、下記のレジストリエントリを追加 します。下記以外のエントリは変更していません。 HKEY_CLASS_ROOT\CLSID\{A7815BD6-D976-4b0f-B0E3-E6FA309ADF94} HKEY_CLASS_ROOT\CLSID\{B122BE55-A64A-4aee-9253-85B2D4AC361E} HKEY_CLASS_ROOT\CLSID\{4EA2D53A-581B-4a67-8DF4-8A40F5657C9A} アンインストールで削除されますが、万が一残ってしまった場合は上記エントリの 削除で完全な消去が可能です。 ●SIP を選択できない場合 インストールしたのに touchkeysip を選択できないことがあるとの報告を何度か頂く ことがあります。sip の切り替えが出来なくなる原因の多くは、システムのメモリ 空間不足によるものです。 プロセスを消費せずに常駐するソフトウエアは単一のシステム用メモリ空間を共有 しています。そのため常駐ソフトが多いと SIP 用 dll をロードするだけのメモリ 空間が無く、切換えに失敗していると考えられます。 WindowsCE のメモリ空間は desktop 用 Windows に比べて極端に狭いので、搭載され ている RAM 容量に余裕があってもメモリ空間が先に枯渇します。 問題がある場合は today 画面用の plugin、IME、sip、各種ドライバ等、dll タイプ の常駐ソフトを減らしてみてください。 また報告される機種が偏っていることから、メーカーが予め組み込んでいるソフト によるメモリ消費量の影響も考えられます。 ●複数 Sip 登録について v1.11 から、複数のスクリプトを別の Sip として登録できるようになりました。 全く同じプログラム touchkeysip.dll を、別の Sip に見えるようにレジストリに 登録を行っています。現在 3つまで登録できますが、原理的にはいくつでも増やす ことが可能です。オプション画面で設定します。 インスタンスは同一なので、追加でメモリを消費することがありません。 Sip 切り替え時にスクリプトや実行環境は解放されるため、同時にメモリに読み込ま れているスクリプトも 1つだけです。 ●利用時の注意 このソフトはシステム標準 (デフォルト) SIP への設定を推奨していません。 デフォルト SIP はデバイス再起動時のプロセスに甚大な影響を与える可能性があり ます。例えばスクリプトファイルの更新により何らかの不備でメモリを多く消費する 場合、システムがメモリ不足で起動出来なくなるなどの弊害を与える可能性があります。 スクリプトファイルは容易に書き換えられる性質上、何らかの問題が生じる場合が あります。 なお、touchkeysip は問題がある場合エラーダイアログを表示しています。 固まったように見えても、裏でエラーダイアログが出ているだけの可能性があります。 慌てずウィンドウを閉じるなどの操作を試してみてください。 ●GSensor 対応について 別アーカイブの touchkeysip???GS.zip ( touchkeysip.ARMGS.CAB ) は、加速センサー 対応バージョンです。Touch Diamond / Touch PRO など HTC の加速センサー内蔵機種 でこれらのバージョンを用いると、script で加速センサーの値を受け取ることが 出来るようになります。 本体を傾けてキーボードを切り替えたり、振動によるジェスチャーで入力操作を 行わせるなどさまざまな応用が可能と思われます。 ●最後に エミュレータでは JP 版でも英語版でも一応動作を確認しました。キーボード系 ツールとは違いキーコードなどの機種依存が無いため、さらに多くの WindowsMobile 端末で動作すると思われます。 動作確認等の報告をお待ちしております。 すばらしいキーボードデータを作成してくださった多くの方々に感謝します。 2007/11/11 v0.00β 2007/11/14 v0.00β3  ・横画面対応、RealVGA対応 2007/11/15 v1.00 2007/11/17 v1.01  ・スクリプトに ImeControl/ImeStatus 命令を追加しました。  ・マニュアルに説明を追加、修正しました。 2007/11/17 v1.02  ・EventRotate を追加しました。  ・IME 切り替えがうまくいかないことがあったので、付属の defaultscript の   漢字ボタンを ImeControl に置き換えました。 2007/11/18 v1.03  ・マニュアルとスクリプトヘッダで $ARG の番号がずれていた問題を修正しました。  ・ImeControl の戻り値で状態変化を確実に判断できるようにしました。 2007/11/19 v1.04  ・オプション画面のスクリプト選択時に参照ボタンを追加しました。  ・スクリプトに GetTickCount, ReadTable 命令を追加しました。 2007/12/01 v1.05  ・UTF-8対応しました。SendString 等の命令で Unicode 文字列を指定できます。  ・script の描画に DLTYPE_ALPHA を追加しました。  ・キーボードレイアウトの違いについて追記しました。  ・CommandManual.txt に VK / SendChar 関連の説明を追加しました。  ・文字エスケープに \x を追加しました。  ・Rand 命令を追加しました。 2007/12/01 v1.06  ・スクリプト SHL/SHR 命令を記載しました。 2008/09/25 v1.07  ・-32768〜-129 の値数が符号なしになってしまうバグを修正しました。 2008/10/13 v1.08  ・uninstall しても sip 一覧から消えないバグを修正しました。申し訳ありません。   CLSID のレジストリエントリが残っていたことが原因です。 2008/10/25 v1.09  ・GetScreenPos 命令で x の計算に yscale を参照していたバグを修正しました。  ・ユーザーが利用可能な global 変数を 96 個に増やしました。 2009/01/31 v1.10  ・Version 命令を追加しました。  ・SetModeIcon 命令を追加しました。ステータスエリアの表示を変更できます。  ・同時に読み込める bitmap 画像を 2枚から 8枚に増やしました。  ・Display List の描画で BMP0 以外の表示に対応しました。  ・LoadBitmap で bmp 以外の画像も読み込めるようになりました。  ・4つの timer を指定出来るようになりました。  ・GetGSensor 命令で加速度センサーの値を参照できるようになりました。(専用版   のみ、通常版では未対応です) 2009/09/07 v1.11  ・メモリ消費を抑えるように変更しました。  ・画面回転時の座標ずれを減らしました。SetPanelSize のセンタリングをシステム   に任せないで自前で計算します。  ・SetPanelSize でパネルの絶対座標位置も設定できるようにしました。  ・EventShowing を追加しました。  ・3つの script を別の sip として同時に登録できるようになりました。OS からは   別の sip が 3つあるように見えますが、インスタンスを共有しているため追加の   メモリ消費はありません。同時にメモリに乗っている script も 1つだけです。 2009/09/19 v1.12  ・Sip 選択画面に登録した script 名が出るようにしました。  ・拡張子 tks で絞り込めるようにしました。テスト中など txt で区別付きづらい   場合に。 Hiroyuki Ogasawara < hiroog ( at ) flatlib.jp > http://wlog.flatlib.jp/ http://hp.vector.co.jp/authors/VA004474/