我想創建一個熱鍵(Win + Shift + Q)來打開/關閉另一個熱鍵,將右邊的Alt鍵改變爲鼠標左鍵單擊;然而,我無法讓它工作。AutoHotKey:用另一個熱鍵切換鼠標熱鍵
預期的行爲:
- 按Windows + Shift + Q鍵將首先切換右Alt鍵充當鼠標左鍵。
- 再次按下Windows + Shift + Q會將右Alt鍵恢復爲右Alt鍵。
- 再次按下Windows + Shift + Q將恢復爲左鍵單擊行爲(請參閱#1)。等等。
這裏是我的代碼的最新迭代:
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 OK後和腳本退出:
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)只處理鍵映射的鍵,而不是鼠標映射的關鍵。我不知道這是否是我的問題的原因。
以前我有這個,但贏+ 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類型的建議/解決方案)的主題。
不知道爲什麼我的舊版本無法正常工作。我還必須將我的初始Hotkey(Hotkey,RAlt,MyClick,On)移動到我的文件頂部,否則我會一直收到錯誤(這可能會修復舊版本,我不知道)。 – chewmewaba4