板 1- 前 次 新 レス
旧雑記サルベージ
[51]管理人 ★:06/09/06 17:25 ID:???
2004年11月27日
■AutoHotkeyマウスジェスチャスクリプト更新
lukewarm.s101.xrea
2chのマウスジェスチャスレで右D&Dをどうするかの話題があった。
pc5.2ch
このスクリプトや、参考にしたStrokeItでは、ジェスチャ中に一定時間カーソルを動かさないとジェスチャがキャンセルされ、普通のD&Dになる。
小さな目標に右D&Dする場合などは、目標にカーソルがあっていることを確かめている間にタイムアウトになるので、ストレスは感じにくい。
なお、開始位置からまったく動かないでいると、タイムアウトは発生しない。(ホイール系操作を使いやすくするため)
一方マウ筋では、右ボタンを押した直後にカーソルを動かさないでいた場合にしかタイムアウトにならないらしく、ストレスを感じやすくなっている模様。
スレッド内では、右+中クリックなどに「ジェスチャ開始位置から終了位置まで右D&Dする」という動作を割り当てることで解決する案が示されていた。
マウスジェスチャスクリプトでは、どのジェスチャパターンにもマッチしなかった場合、単に終了位置で右クリックをする仕様になっていた。
ここを、開始位置から終了位置まで右D&Dすると言う動作に変更することに。
一致しないジェスチャのときだけこんなことされても役に立つかどうかは不明だが。
MouseClickDragを使ってみたら、まめFile4間でのD&Dでなぜか右D&Dのメニューが出ずに左D&Dの動作になってしまう。エクスプローラでは反応さえしない。
MouseClick,MouseMoveを組み合わせて、最後にボタンを放す前にSleepを入れることでまともな動作になった。
しかし、Sleep,0では駄目で、Sleep,1でなければうまく行かなかった。
原因はよくわからんが、WM_DROPFILESではどのボタンでドラッグされていたかがわからないので、実際にボタンが押されていることを何らかの方法で監視して知る必要があるからだろうか。
ボタンを離す直前にカーソルの動きがあったかどうかなどでジェスチャかD&Dかを判別するというのはどうだろうか。
前 次