使用AutoHotkey防止双击键盘键

时间:2013-10-02 07:47:51

标签: 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

1 个答案:

答案 0 :(得分:-1)

这是一种方法,用于在400 ms内快速按下左或右控制键时触发操作:

~Control Up::
  if ctrl_presses > 0
    ctrl_presses += 1
  else {
    ctrl_presses = 1
    SetTimer, CtrlPress, 400
  }
return

CtrlPress:
  SetTimer, CtrlPress, off
  if ctrl_presses = 2
    ; DO ACTION HERE
  ctrl_presses = 0
return

使用这种方法,您可以轻松触发操作,而不仅仅是双击,甚至更多。