使用 autohotkey 修复鼠标双击错误

Fixing mouse double click bug with autohotkey

我的鼠标有点老了,当我只按一次时双击就开始烦我了,然后我编写了这个代码片段来阻止碰巧发生快速的点击,这很有效:

lastClick := A_TickCount
LButton::
    ElapsedTime := A_TickCount - lastClick
    If ElapsedTime > 50
        send {LButton}
    Else
        lastClick := A_TickCount
Return

但是,现在我无法用鼠标拖动任何东西。

我没有办法处理它,我很感激任何想法。谢谢你的时间。

您在按下左键 松开时执行您的事件,而不是仅在松开时执行。 LButton 触发两次。

当您单击并按住时,您的函数会检测到按下并发送整个单击事件,包括释放。您希望行为根据您按下按钮和释放按钮的时间而改变。

This post 有更多信息。这是他们的解决方案:

LButton::  
If (A_TimeSincePriorHotkey < 100) 
   Return
Send {LButton Down}
KeyWait LButton     ;physical state
Send {LButton Up}
Return

您可以根据需要调整等待时间。