告知欄です
1- レス

管理人の雑記


[77]管理人 ★:2007/10/17(水) 16:57:52
新マウスジェスチャスクリプトβ
lukewarm.s101.xrea
更にまともにした。
G=RB_URDL
G=RB_RDLU
G=RB_DLUR
G=RB_LURD
のようにして、カーソルを回し続けることで連続実行されるジェスチャを作りたい。
とりあえず、ジェスチャが成立するごとにストロークの部分がリセットされて、
再び最初から認識し直すという仕組みにしてあったのだが、途中で「RDU」のように
ストロークが欠けたりすると、以降ジェスチャが成立しなくなってしまい、
トリガーボタンを放してジェスチャをやり直すしかなくなってしまう。
そこで、存在するジェスチャの最大文字数よりも入力中のジェスチャ文字列が長くなってしまったら、
ジェスチャが成立していなくてもリセットするようにしてみた。
ミスが発生すると、2回転分くらい入力し直さないと次のジェスチャが成立しないのは多少気になるが、
とりあえずトリガーボタンを放さなくても入力し続けられるようになったのでよいだろう。
後、反応にタイムラグがあるような気がすると思ったら、「WinWait」コマンドの所為だった。
こいつは、実行時点でマッチするウィンドウが存在していても、数十ミリ秒くらい待機しやがる。
LastFoundWindowをセットするためだけの物だったので、IfWinExistに書き換えたらまともになった。
Pixiaのカンバス上で動作確認してみたら、右クリックを素早く2回押したときの2回目のボタンダウンが反応しない……
と思ったら、Windowsでは元からダブルクリックの番目のWM_RBUTTONDOWNは送られないらしかった。
ソフトによっては、DOWN/UPメッセージではない方法でボタンの状態を判別するので問題ないこともあるようだ。


名前

E-mail



0ch BBS 2005-10-08