0

我每天都使用一个应用程序来监听控制键的双击。它还将另一个功能键映射到单击控制键,并且在应用程序内没有办法阻止或重新映射一个或其他功能。

我想做的是使用 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
4

1 回答 1

-1

这是我用来在 400 毫秒内快速按下左或右控制键时触发操作的方法:

~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

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

于 2013-10-02T16:55:49.613 回答