板 1- 前 次 新 レス
管理人の雑記
[81]管理人 ★:2007/10/19(金) 06:48:47
新マウスジェスチャスクリプトβ5くらい
lukewarm.s101.xrea
1回「のみ」のクリック、ダブルクリックなどに違った動作を割り当てられるように
従来も、「1回目の」クリックと2回連続クリックにそれぞれ動作を割り当てることはできた。
「クリックで選択、ダブルクリックで実行」のように、1回目の動作が2回目の動作の前に必要だったり、
両方発動しても特に問題ない場合はこれで十分である。
しかし、「シングルクリックでアプリAを起動、ダブルクリックでアプリBを起動」のような場合、
両方発動してしまうとまずい。
1回目の後、2回目が入力されないのを確認してから単独クリックに対応する動作を実行する必要がある。
タイマーを利用すれば実現できるはずだが、iniファイルにタイマーサブルーチンを埋め込むのは難しい。
と思ったが、同じジェスチャサブルーチンをタイマーから呼べば良いことに気付いた。
タイマー登録したときは1、タイマーで呼ばれているときは0を返すような関数にしておけば、
if(MG_Timer(-500))
return
;;;何らかの処理
というような動作を割り当てるだけで済む。
ややこしいが、多分期待通りに動作しているはずである。
シングルとダブルだけでなく、トリプルクリック以上に割り当てることも可能。
クリック後に少し待たなきゃならないのが鬱陶しいので、あまり使う気にはなれないが。
ジェスチャ認識中にダイアログの表示などを行ってしまうとやばそうなので、
ジェスチャ認識が非アクティブになるまで待ってから実行するという機能も付けた。
あと、iniファイル解析でコメントの仕様を追加。「/*〜*/」にもある程度対応。
AutoHotkey並に適当な解析だが、iniファイルなら十分だろう。
readme.txtには、ややこしい機能を利用した設定例をいくつか書いた。
現在14KB。スクリプト本体の2倍。
前 次