我正在尝试创建一个热键(Win + Shift + Q),用于打开/关闭另一个热键,该键可将右Alt键更改为鼠标左键;但是,我无法让它发挥作用。
预期行为:
这是我代码的最新迭代:
Hotkey, RAlt, MyClick, On
#+Q:: ;Win+Shift+Q :: ::Right-Alt acts as a left mouse button click
switch := !switch
MsgBox %switch%
Hotkey RAlt, % (switch ? "Off": "On")
Return
MyClick:
MouseClick
Return
当我运行脚本时,在MsgBox上单击“确定”并退出脚本后,出现以下错误:
Error: Nonexistent hotkey
Specifically: RAlt
Line#
141: Hotkey,RAlt,MyClick,On
143: switch:=!switch
144: MsgBox %switch%
-->145: Hotkey RAlt, % (switch ? "Off": "On")
146: Return
149: MouseClick
150: Return
The current thread will exit.
可能涉及的大多数其他帖子(Can AutoHotKey toggle keymapping?,Autohotkey: Toggle a set of keybinds on and off)仅处理键映射的关键,而不是鼠标映射的关键。我不知道这是否是我的问题的原因。
之前我有过这个,但Win + Shift + Q没有切换行为,RAlt总是充当左键点击所以我评论了它:
#+Q:: ;Win+Shift+Q :: ::Right-Alt acts as a left mouse button click
RAlt::LButton
;Hotkey, RAlt, Toggle ;Does not work for some reason
int += 1
test := mod(int, 2) = 0
if (test) {
msgbox on
Hotkey, RAlt, On
}
else {
msgbox off
Hotkey, leftClick, Off
}
Return
我还要补充一点,我希望这种行为跨Windows,而不仅仅是一个应用程序(这似乎也是其他帖子中允许#IfWinActive类型建议/解决方案的主题)。
答案 0 :(得分:0)
我在AutoHotkey v1.1.13.01 Unicode 32位中尝试了当前的代码迭代,并且在消息框上按OK
后没有任何错误,该脚本的工作方式与广告一样。
尝试在此处更新您的AutoHotkey版本:http://ahkscript.org/download/并查看问题是否仍然存在。
答案 1 :(得分:0)
bState:=False
#If bState
RAlt::Click
#If
#+vk51:: ; win + shift + q
KeyWait, vk51
TrayTip, % "state of switch", % (bState:=!bState) ? "on":"off"
Return