X1ボタンの暴発が無くなりました。
- ページ: Report
- 投稿者: はてなようせい
- 優先順位: 重要
- 状態: 保留
- カテゴリ: Mousegesture.ahk
- バージョン:
- 登録日: 2011-01-01
- 完了日:
メッセージ
MouseGesture.ahkのトリガーキーエミュレートについて
そういえば、マウ筋からMouseGesture.ahkへ乗り換えたときに一番気になったのは、登録していないジェスチャをしてしまうと、トリガーキーが発動してしまうこと。
X1ボタンから始まるジェスチャをしようとして、ジェスチャが不発に終わったときにX1本来の「戻る」機能が出てしまうってやつ。
これはちょっと使いづらい。不発の時は不発のまま、何のキーも発行して欲しくない。
仕方ないので分からないなりにMouseGesture.ahkのコードを睨んで、この変か?ってところをいじってみた。
MG_TriggerUp(name)内の
;ジェスチャ未発動の場合、トリガー操作をエミュレート
CoordMode,Mouse,Screen
SetMouseDelay,-1
BlockInput,On
MouseGetPos,px,py
MouseMove,%MG_X%,%MG_Y%,0
GoSub,MG_%name%_Down
MouseMove,%px%,%py%,0
Sleep,1
GoSub,MG_%name%_Up
BlockInput,Off
これを
;ジェスチャ未発動の場合、トリガー操作をエミュレート
if(StrLen(MG_Gesture)<5){
CoordMode,Mouse,Screen
SetMouseDelay,-1
BlockInput,On
MouseGetPos,px,py
MouseMove,%MG_X%,%MG_Y%,0
GoSub,MG_%name%_Down
MouseMove,%px%,%py%,0
Sleep,1
GoSub,MG_%name%_Up
BlockInput,Off
}
こう変えた。
ジェスチャはRB_LR_といった文字列として処理されているようなので、
トリガーキーが押し上げられたとき、ジェスチャが一定文字数以下のときだけ、トリガーキー操作を発行するようにした。
最短のジェスチャとしては、RB_L_と言った5文字のものが考えられるので、とりあえず5文字未満で。
これでX1ボタンの暴発が無くなりました。
- ジェスチャが不発に終わったときにX1本来の「戻る」機能が出てしまう -- 2011-12-12 (月) 09:15:58