【发布时间】:2013-12-30 08:01:30
【问题描述】:
我有一个用作双击的特殊鼠标按钮。它没有任何特殊的按键,它只是发送两个 LButton 信号。
我在脚本中引入了#InstallMouseHook,以便能够跟踪鼠标点击。多次按下双键后我得到了这个:
VK SC Type Up/Dn Elapsed Key
---------------------------------------------------------------------------------------
04 000 d 2.78 MButton
04 000 u 0.19 MButton
01 000 d 0.65 LButton <- Manual DC
01 000 u 0.17 LButton
01 000 d 0.11 LButton
01 000 u 0.14 LButton
04 000 d 0.75 MButton
04 000 u 0.19 MButton
01 000 d 0.45 LButton <- Special button DC
01 000 u 0.00 LButton
01 000 d 0.00 LButton
01 000 u 0.00 LButton
根据我的假设,经过的键是确定什么是 DC 鼠标按钮的双击 (DC) 以及我手动按下左键两次的关键。我想重新映射前一个场景,而不是后者(DC 按钮:: 其他类似中键和我的手动双击左键保持不变)。到目前为止,DC按钮的经过时间似乎是2.0。
我们的想法是有这样的东西(不是 AHK 语言):
loop
if (LButton == 1) //pressed
{
t=StartElapseTimer;
if (t<2 && LButton == 1) //how to check it went down and up before down the 2nd time?
LButton::MButton; //the remapping I want
else // t>2
Nothing //let me do a regular DC
}
end
您能帮我了解如何启动计时器以及需要设置哪些环境变量吗?
谢谢。
【问题讨论】:
-
我很难理解您的实际要求。您有某种特殊的鼠标按钮会产生双击并且您想重新映射此按钮,这是否正确?如果是的话,最好在上面的键盘记录中列出这些“特殊双击”,这样就可以将它们与正常(双击)单击区分开来。
-
是的,这正是我想要做的。在我的问题中添加了一个介绍段落。
-
这些记录的点击都是由特殊按钮产生的?
-
在键盘记录中澄清(除最后一个外,均来自特殊按钮)
标签: keyboard autohotkey remap