如何通过 Appskey(菜单键)使用更多限定词,例如 Shift
How to use more qualifiers, like Shift, with Appskey (Menu key)
在常用键盘上使用 Windows 菜单键(在右 Windows 键和 Control 之间)为在 AutoHotKey 中定义宏提供了一个很好的限定符键。这在 AutoHotKey 中称为 Appskey,例如菜单 T 可以发送 "Hello Menu T" 与:
Appskey & T::Send Hello Menu T
有没有办法在 Appskey 中使用额外的限定符,例如 Shift(引用为 +)?
我尝试了一些明显的可能性,但运气不佳,例如:
Appskey & + T::Send Hello Menu Shift T
+ Appskey & T::Send Hello Menu Shift T
然而,这些都失败了。
使用#If directive使组合上下文敏感:
Appskey & T::Send Hello Menu T
#If GetKeyState("Shift","P")
Appskey & T::Send Hello Menu Shift T
#If ; turn off context sensitivity
或者这个:
Appskey & T::
If GetKeyState("Shift","P")
Send Hello Menu Shift T
else
If GetKeyState("Ctrl","P")
Send Hello Menu Ctrl T
else
Send Hello Menu T
return
在常用键盘上使用 Windows 菜单键(在右 Windows 键和 Control 之间)为在 AutoHotKey 中定义宏提供了一个很好的限定符键。这在 AutoHotKey 中称为 Appskey,例如菜单 T 可以发送 "Hello Menu T" 与:
Appskey & T::Send Hello Menu T
有没有办法在 Appskey 中使用额外的限定符,例如 Shift(引用为 +)?
我尝试了一些明显的可能性,但运气不佳,例如:
Appskey & + T::Send Hello Menu Shift T
+ Appskey & T::Send Hello Menu Shift T
然而,这些都失败了。
使用#If directive使组合上下文敏感:
Appskey & T::Send Hello Menu T
#If GetKeyState("Shift","P")
Appskey & T::Send Hello Menu Shift T
#If ; turn off context sensitivity
或者这个:
Appskey & T::
If GetKeyState("Shift","P")
Send Hello Menu Shift T
else
If GetKeyState("Ctrl","P")
Send Hello Menu Ctrl T
else
Send Hello Menu T
return