2013-03-28 55 views
1

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

基本上我在想什么是做到这一点:

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 

任何人都可以看到这个什么问题吗?

+0

是的,我测试了它,第二个工作,任何与第一个? – 2013-03-28 05:45:26

+0

@Frank我认为这个问题是合适的,因为在这个论坛上询问一个破损的鼠标是不合适的。 – 2013-03-28 06:04:20

回答

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

难道你是在找这个吗?您按MButton并且按住该按钮时,脚本将继续触发MButton

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