需求: 我自身有一个 v2 的 ahk 脚本, 主要是实现 按键映射, 比如#a >!w !f capslock & a 等等之类的.
现在有一个新的需求: 当按下 f 的时候 如果同时 1.
要求:
实现的脚本内容如下
#Requires AutoHotkey v2.0
#SingleInstance force
InstallKeybdHook
KeyHistory
SetNumLockState "AlwaysOff"
SetCapsLockState "AlwaysOff"
DetectHiddenWindows true
~LWin:: Send "{Blind}{vkE8}"
~Alt:: Send "{Blind}{vkE8}"
f & u:: {
    Send "+{Home}"
    Send "^{c}"
}
f & i:: {
    Send "+{Up}"
}
f & o:: {
    Send "+{End}"
    Send "^{c}"
}
f & k:: {
    send "+{Down}"
}
f & j:: {
    Send "+{Left}"
}
f & l:: {
    Send "+{Right}"
}
f & n:: {
    Send '^+{Left}'
}
f & m:: {
    Send '^+{Right}'
}
上面这段脚本存在的问题:会使得的 f 按键失去原本的功能.
因此我尝试了~,波浪号 ~ 允许按键的默认功能继续执行 ~f & i:: { Send "+{Up}" }
这样虽然 能够保证 f 的功能正常, 但是在 按下 f 和 i 实现向上选中行的时候会多输出一个 f. 因为~f & i 会使得 f 按键本身的功能透传给窗口
而且在中文输入 "方法"这个汉字的时候 会出现输入字符错乱的清空. 具体的原因是 因为 定义了 f & n 这个 hotkey 在快速输入 fang 这个词组的时候触发了热键 f&n. 这个可以从 keyhistory 中看到
4  03F	 	u	0.03	F5             	
53  01F	 	d	2.83	s              	AHK v2 组合键行为 - Google Chrome
53  01F	 	u	0.16	s              	
48  023	 	d	0.03	h              	
49  017	 	d	0.03	i              	
46  021	h	d	0.05	f   ----------------------->这里也触发了 hotkey           	
48  023	 	u	0.02	h              	
49  017	 	u	0.00	i              	
41  01E	 	d	0.05	a              	
4E  031	h	d	0.06	n   -------------------------->看到这里触发了 hotkey           	
A2  01D	i	d	0.00	LControl       	
A0  02A	i	d	0.00	LShift         	
25  14B	i	d	0.00	Left           	
25  14B	i	u	0.00	Left           	
A2  01D	i	u	0.00	LControl       	
A0  02A	i	u	0.00	LShift         	
41  01E	 	u	0.06	a              	
4E  031	s	u	0.03	n              	
47  022	#	d	0.01	g              	
47  022	 	u	0.09	g              	
74  03F	 	d	8.66	F5             	D:\program\AutoHotkey\ahk_scripts\demo.ahk - AutoHotkey v2.0.19
综上而言 :
|  |      1Dogergo      233 天前 建议直接问 AI ,我就是 autoHotKey ,做剪贴板自动替换,后来发现自己写的不是很好用,直接让 Ai 用 python 写了个工具出来,可以自由配置规则,并决定要不要开启 | 
|      2chenqh      233 天前 这种我也不会啊. |