1

基本的に、マウスの中ボタンをクリックすると複数の非常に高速な中マウスが実行されるという問題があります。たとえば、中マウスで新しいタブでリンクを開くと、そのタブの約 10 が開きます。私はそれを修正するためにすべての従来の方法を試しました。ドライバーの修正など。今試したいのは、Windows 用の AHK (Auto Hot Key) によるマウスのデバウンスです。

基本的に私が考えているのは、これを行うことです:

while (forever)
    if( capture the middle mouse)
        sleep 500 ms
        mouse click
    end
end

誰でもこのアプローチでアドバイスできますか?

または、中央のマウスのホットキーを作成することを考えました:

$MButton::  
Loop  
{
sleep 500
if not GetKeyState("MButton", "P") 
    break  ; Break out of the loop.
}
send {MButton}
return

誰でもこれに問題がありますか?

4

2 に答える 2

2

遅滞なく、はるかに簡単なソリューションを実現できます。最後のクリックが 50 ミリ秒前の場合、これはミドル クリックを無視します。

#Persistent

global pressed_g := 0 
global delay_g := 50 ; delay in miliseconds, increase this value if your multiple click take longer than delay_g time

return

MButton::
    if( pressed_g = 0 )
    {
        Send, {MButton}
        tooltip,sent
        pressed_g := 1
    }
    SetTimer, Countdown , Off
    SetTimer, Countdown , -%delay_g%

return


Countdown:
    pressed_g := 0
return
于 2013-03-28T15:27:50.440 に答える
1

これを探しているということでしょうか?を押し、を押し続けると、スクリプトがMButton起動し続けます。MButtonMButton

#Persistent
MButton::
while GetKeyState("MButton", "P")  ; While the Middle Mouse button key is being held down
{
    Send, {MButton}
}
return
于 2013-03-28T11:24:47.720 に答える