如何设置双击三击快捷键

经验创意 · 2757 次浏览
fantasynew 创建于 2021-12-06 22:19

看到有人问怎么设置双击某个按键触发功能,于是写了一个

#NoEnv      ;避免检查空变量是否为环境变量
Process,Priority,,High			;提升进程优先级为High
RAlt::
	if winc_presses > 0 ; SetTimer 已经启动,所以我们记录按键。
	{
		winc_presses += 1
		return
	}
	;否则,这是新一系列按键的首次按键。将计数设为 1 并启动定时器:
	winc_presses = 1
	SetTimer, KeyWinC, 400 ;在 400 毫秒内等待更多的按键。
return

KeyWinC:
	SetTimer, KeyWinC, off
	if winc_presses = 1 ;该键已按过一次
	{
		Run, "quicker:runaction:9d39de81-fb3c-40c4-acba-939451aa0c5f"
	}
	else if winc_presses = 2 ;该键已按过两次
	{
		Run, "quicker:runaction:267c6fe0-7e98-4b9f-896e-5312c732c7da"
	}
	else if winc_presses = 3 ;该键已按过三次,重置键盘状态
	{
		Run, "quicker:runaction:15cc237d-beef-40b0-9f4f-c67273b56c3e"
	}
	;不论上面哪个动作被触发,将计数复位以备下一系列的按键:
	winc_presses = 0
return

这是AHK脚本,写好后编译成exe,加入quicker自启。

我的设置是右Alt单击弹出动作面板,双击弹出搜索框,三击重置键盘状态。

settimer定时器的时间可以根据你的手速调整


回复内容
HumbleCoder 2021-12-06 23:17
#1

感谢分享!!💖

首次使用效果挺好的,不过我测试了下目前会和手势冲突或者说是和所有有发送快捷键的动作冲突(快捷键中包含Alt),冲突时ahk优先级更高导致手势失效,希望可以忽略模拟的按键


fantasynew 2021-12-06 23:21 :

触发键可以改的,不同程序间想要忽略按键是没法实现的

HumbleCoder 回复 fantasynew 2021-12-06 23:47 :

触发键好像会被直接拦截掉,连输出都不见了

fantasynew 回复 HumbleCoder 2021-12-07 08:49 :

我试了可能是Quicker这边的问题,同样在开启AHK脚本的情况下,我用自定义脚本执行带Alt的快捷键都正常,非常迅速,

我的各种动作基本是用自定义脚本实现的,quicker用来做触发器。你说的问题希望CL后续能够解决吧

回复主贴