ソフトウェアキーボードについて

検索窓への入力をジョイスティックやマウスで行えるソフトウェアキーボード(スクリーンキーボード)です。

メインウィンドウ右下(ステータスバー)のキーボードアイコンをクリック、またはジョイスティックの設定ダイアログで設定したソフトウェアキーボード開閉ボタンで呼び出すことが出来ます。

マウスの場合はクリックで入力、ドラッグでウィンドウ位置を移動できます。
ジョイスティックの場合はジョイスティックの設定ダイアログで設定したボタンで、入力操作やウィンドウ位置の移動ができます。

スキンの変更

ソフトウェアキーボードのスキンは CatShanty2.exe と同じ階層の softkey フォルダ内に解凍されます。

スキン毎にフォルダ分けされており、どのスキンを使用するかは softkey\softkey.ini で指定します。

例)
[base_set]
softkey = default_full

スキンの自作

例として mySkin を作成します。

ベースフォルダ作成

作成するスキン用のフォルダと、その中に同名の .ini ファイルを作成します。

softkey\mySkin\mySkin.ini

キーボードセットとモードの定義

mySkin.ini に提供するキーボードセットとモードの名前(任意)を決めて記述します。
この名前が画像とキー定義のファイル名になります。

[set0]
mode0=en_up
mode1=en_low

[set1]
mode0=jp_hira
mode1=jp_kata
セット・モード共に 0〜9 まで定義できます。
連番で記述して下さい。

スキン画像の用意

次に、bmp画像を用意します。

1つのモードに対して3つの状態の画像が必要です。
各セット・モードの縦横サイズは自由ですが、各状態の画像サイズは揃えて下さい。

mySkin.ini に記述した全モード分の画像を用意します。

例)
en_up.bmp        … 通常時
en_up_hover.bmp  … 選択時
en_up_down.bmp   … 押下時

キーの定義

最後に、各モード毎のキー定義を同名の ini ファイルで作成します。

例)
en_up.ini

各キー毎に半角スペース区切りで定義します。

keyNN=入力文字 画像のX座標 Y座標 幅 高さ
keyNN に 00〜99 まで定義できます。
連番である必要はありません。
区切りの半角スペースは連続しても構いません。
例)
[keys]
key00=1   8   8  32  32
key01=2  40   8  32  32
key02=3  72   8  32  32
:
key10=A  24  40  32  32
key11=B  56  40  32  32
key12=C  88  40  32  32

入力文字が2バイト以下の場合、そのまま検索窓へ入力されます。*1

入力文字が以下に該当する場合は特殊な入力となります。

例)
key40=BACK     360   8 32 32  … 一文字削除
key41=RETURN   352  40 40 64  … 検索実行
key42=SPACE    248 104 72 32  … スペース
key43=LISTUP   328 104 32 16  … 検索候補選択を上へ
key44=LISTDN   328 120 32 16  … 検索候補選択を上へ
key45=CLEAR    360 104 32 16  … 検索窓全クリア
key46=CHGSET   360 120 32 16  … セット切替
key47=CHGMOD   360 136 32 16  … モード切替
key60=LISTSEEK:あ行@title:^[あいうえお].* 360 40 32 32  … 頭出し

頭出しキーの定義

LISTSEEK:[見出し文字@][事前ソートカラム]:正規表現

LISTSEEK に続く定義によりリストビュー内を頭出しできます。
イニシャルインデックスの直接指定のように動作します。

頭出しの検索はリストビュー先頭から行われ、正規表現にマッチした最初の行までスクロールされます。

定義例)
LISTSEEK::^[あいうえお].*
LISTSEEK:title:^[あいうえお].*
LISTSEEK:あ行@:^[あいうえお].*
LISTSEEK:あ行@title:^[あいうえお].*
*1今のところIMEを制御することは出来ませんので、2バイト文字を定義してもあまり意味がないかも知れません。