我正在尝试编写一个脚本,在释放
Ctrl
时,它会告诉我这是否是最近按下的键,或者自 Ctrl
按下后是否按下了另一个键。
因此,如果在
F
按下时按下 Ctrl
,我需要知道。 “按住时”键应该是任何键,而不仅仅是像 Ctrl
这样的修饰符。
我写了以下内容,但我有一个特殊的问题。看起来它只会通知我按下了某个键,IF该键本身在脚本中被声明为热键。
因此,使用以下脚本,如果按下
F
,我会收到通知,但一旦我注释掉^f:: ; Do Nothing
行,如果按下F
,我将不会收到通知:
#singleinstance, force
#Persistent
#NoEnv
#Warn, All, OutputDebug
~LCtrl::
ToolTip, % "Most Recent Key: " A_ThisHotkey "`n Prior Key: " A_PriorHotkey
Return
^f:: ; Do Nothing
考虑到这一点,我必须声明系统上的每个键盘和鼠标键才能使我的程序正常工作。这并不理想,它在我的主脚本中根本不起作用。
有没有办法用在脚本中
not声明为热键的键盘/鼠标键填充
A_ThisHotkey
和A_PriorHotkey
?
感谢您的帮助。
热键 执行任务并且必须由用户定义。 因此 A_ThisHotkey 和 A_PriorHotkey 始终引用脚本中已定义的热键。
要获取最后按下的键盘/鼠标键的名称,请使用 A_PriorKey:
#NoEnv
#singleinstance, force
#Warn, All, OutputDebug
#InstallKeybdHook
#InstallMouseHook
~LCtrl:: ToolTip, % "Most Recent Key: " A_ThisHotkey "`n Prior Key: " A_PriorKey