我有一个带有这些箭头(小于/大于)字符的键盘作为 Y 和 X 上的备用键。
在此示例中,让我们关注键 X。
默认情况下,替代字符 > 当然是用 AltGr + X 触发的。
但我想通过简单地长按 X 来触发它,以加快速度并且不需要第二只手或手指。
到目前为止,我有以下内容,这是我从其他帖子中获得的:
$x::
KeyWait, x, T0.2
if (ErrorLevel)
Send > ;long
else {
KeyWait, x, D T0.2
if (ErrorLevel)
Send x ;single
}
KeyWait, x
return
这基本上有效,但有一个主要缺陷:
普通的单键按下现在需要太多时间来编写普通的 X 字符。
例如,如果你快速写一个像“exchange”这样的词,你最终会得到像“echxange”这样的东西,因为 X 需要太多时间来发送。
那么如何修改这个脚本来解决这个问题呢?我的想法是发送一个普通的 X 并在注册 {X Up} 后放弃整个脚本。所以在{X Up}之后他将不再等待。
还是有其他想法?
谢谢。
最佳答案
这是一个计算按键持续时间的解决方案,缺点是您总是必须释放按键才能获得所需的输入。这意味着您不能按住 x 键来键入 xxxxxxxx。
$x::
startTime := A_TickCount ;record the time the key was pressed
KeyWait, x, U ;wait for the key to be released
keypressDuration := A_TickCount-startTime ;calculate the duration the key was pressed down
if (keypressDuration > 200) ;if the key was pressed down for more than 200ms send >
{
Send >
}
else ;if the key was pressed down for less than 200ms send x
{
Send x
}
return
关于key - AHK 长按替代键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55965668/