键盘映射为不同按键

遇到了问题?请先进行搜索(中文和英文),然后在此提问

Moderators: tmplinshi, arcticir

kfjqlei
Posts: 1
Joined: 09 Apr 2021, 02:37

键盘映射为不同按键

Post by kfjqlei » 09 Apr 2021, 03:50

刚刚接触autohotkey,有个小问题请高手帮助,就是把一个按键映射不同的效果,举个例子,第一次按F1是1,第二次按F1是a,然后3秒重置顺序~!可以做到么?
User avatar
miozus
Posts: 15
Joined: 08 Sep 2021, 21:53

Re: 键盘映射为不同按键

Post by miozus » 08 Sep 2021, 23:29

https://wyagd001.github.io/zh-cn/docs/commands/KeyWait.htm

你想要的是 Keywait 功能吧,区分短按、连按的能力

举例来说

Code: Select all

~RControl::
if (A_PriorHotkey != "~RControl" or A_TimeSincePriorHotkey > 400)
{
    ; 两次按下时间间隔太长, 所以这不是一个两次按下.
    KeyWait, RControl
    return
}
MsgBox You double-pressed the right control key.
return
henrynyu
Posts: 5
Joined: 07 Jul 2021, 06:13

Re: 键盘映射为不同按键

Post by henrynyu » 09 Sep 2021, 10:41

可以做到的。下面脚本我没试过,大概就是这个思路。

Code: Select all

Lock		:= 0	

F1::
if (Lock = 1)
	return
Lock := 1			; 第一次按F1后把上面的 “F1::” 触发锁上,不让多重触发
ToolTip, 这是1
KeyWait, F1		; 第二次F1,触发下面的指令
ToolTip
ToolTip, 这是a
SetTimer, Reset, -3000		; 开始倒计时,3秒后触发解锁
return


Reset:			; 解锁
ToolTip
Lock	:= 0
return

Post Reply

Return to “请求帮助”