修复多次鼠标中键

时间:2013-03-28 05:33:06

标签: windows autohotkey

基本上我有一个问题,当点击鼠标中键时会有多个非常快的中间鼠标。例如,如果我在中间鼠标的新选项卡中打开一个链接,它将打开该选项卡的大约10个。我已经尝试了所有常规方法来修复它,即。驱动程序修复等我现在要尝试的是使用AHK(自动热键)为Windows进行一些鼠标去抖动。

基本上我的想法是这样做:

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

任何人都可以看到有任何问题吗?

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:1)

难道你正在寻找这个吗?你按 MButton 并按下 MButton ,脚本将继续触发 MButton

#Persistent
MButton::
while GetKeyState("MButton", "P")  ; While the Middle Mouse button key is being held down
{
    Send, {MButton}
}
return