2008年04月26日

ToggleKeyのini作成02「長押し定義」

前回、簡単なトグル定義をしましたが、難しくなかったでしょうか?

今回は一気に難易度を上げて、長押しの定義をしてみます。

長押しとは、キーを押しっぱなしにする動作で、ToggleKeyでは通常「確定」動作になります。

前回の

2=a,b,c

定義で、2のキーを押して「a」のウィンドウが出た後、そのまま押しっぱなしにすると、「a」が確定して入力されます。

さて、そこで次のような定義を追加してみます。

2[0x80]=2

?この[ ]と、その間の0x80などという得体の知れない文字列は何?

とりあえず、そこは放置しましょう。判らなくても大丈夫(^^;

iniはこんな風になったでしょうか?

[ToggleKey]

[Keymap0]
Name=M0a
2=a,b,c
2[0x80]=2

[Keycode0]
0x00 None 16 0x00 0x00 0x00


さて、先程のように2のキーを押しっぱなしにしてみましょう。
今度はaではなく2が入力されたと思います。
つまり、

2[0x80]=2

は、2のキー長押しで2を入力するという定義です。

長押しトグルも定義してみましょう。
次のように書いてみます。

2[0x80]=2,",'

iniは次のようになります。

[ToggleKey]

[Keymap0]
Name=M0a
2=a,b,c
2[0x80]=2,",'

[Keycode0]
0x00 None 16 0x00 0x00 0x00


今度は2のキーを長押しすると、「2」のポップアップウィンドウが出たと思います。
キーを離してそのまま放って置くと、2が確定してキー入力されます。

2のキーを長押しして「2」のポップアップウィンドウが出た後、一度2のキーを離して、もう一度2のキーを押してみます。すると、ポップアップの表示が「"」に変わります。
もう一度押すと「'」さらに押すと「2」に戻ります。

つまり、

2[0x80]=2,",'

は、長押し後、2"'とトグル動作する、という定義です。

ToggleKeyでは1つのキー入力につき、この長押しトグルと通常トグル、2種類のトグル動作を定義できます。
長押しトグル中は長押しすると、必ず確定動作になります。

ちなみに次のようなiniにすると、どうなるでしょうか。

[ToggleKey]

[Keymap0]
Name=M0a
2=2
2[0x80]=a,b,c

[Keycode0]
0x00 None 16 0x00 0x00 0x00


2のキーを普通に押すと2の入力、長押しするとabcトグル入力になります。

2=2

の定義が要らないような気がしますが、これは必要なので省かないでください。
長押しトグルの定義は、必ずその前(上の行)に通常トグル定義が必要です。


目次へ戻る
posted by さひろ at 16:59| 静岡 ☔| Comment(0) | TrackBack(0) | ToggleKey | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

※ブログオーナーが承認したコメントのみ表示されます。
この記事へのトラックバックURL
http://blog.seesaa.jp/tb/94777650
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。