我每天都會使用一個應用程序來監聽雙擊控制鍵。它還鍵入另一個功能,只需單擊一次控制鍵,應用程序就無法阻止或重新映射一個或其他功能。使用AutoHotkey預防鍵盤按鍵雙擊
我想要做的就是使用AutoHotkey來防止應用程序響應雙控制點擊。
如果在兩個控件keydown事件之間插入鼠標移動,應用程序將不會響應默認雙擊行爲。
有什麼辦法可以編寫一個AutoHotkey腳本來監聽控制鍵的兩個連續點擊,並在第二個控制點擊之前插入一個良性事件(例如鼠標事件)?
我試過下面的代碼,但第二個LControl仍然通過。無論如何阻止第二個LControl通過?
~LControl::
if (A_PriorHotkey <> "~LControl" or A_TimeSincePriorHotkey > 400)
{
; Too much time between presses, so this isn't a double-press.
SendInput {LControl}
return
}
MouseMove 5,5,10,R
;SendInput {LControl}
return
您可以通過定義「超時」來檢測*雙擊*(通常爲400毫秒)。然後,當前一次按鍵發生時,您可以檢查所需按鍵的每個按鍵。如果在時間範圍內,這是一個雙重壓力。 – MCL
到你的新代碼:看看[熱鍵文檔](http://www.autohotkey.com/docs/Hotkeys.htm)。代字號修飾符'〜'將始終觸發一個鍵的本地函數,也就是說,按CTRL鍵按鍵將按照定義逐漸流過!刪除修飾符,'LControl ::'應該沒問題。 – MCL