1

基本上我有一个问题,即单击鼠标中键时会出现多个非常快速的中键。例如,如果我用鼠标中键在新选项卡中打开一个链接,它将打开大约 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

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

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并且在按住的同时MButton,脚本将继续触发MButton

#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 回答