作者JediDotOrg (Jedi.org)
站內EzHotKey
標題Re: [AHK-] 想利用CapsLock鍵來當AutoHotKey的開關
時間Wed Aug 11 16:36:59 2010
然後讓我們繼續修改......
※ 引述《JediDotOrg (Jedi.org)》之銘言:
: 2::
: GetKeyState, capState, CapsLock, T
: if (capState = "D") {
: Send {Numpad7}
: }
: return
: 你可能會問,可不可以把 GetKeyState 拿到外面呢?
: 不行,否則你的腳本就只會在剛執行的時候判斷 CapsLock 的狀態,
: 而無法在你每次按下按鍵的時候判斷。
這樣的行為可能不符合你的需求,因為不管有沒有按下 CapsLock,
你本來的 2 都不會送出 2,同時我們實在是
不想要每一次按下這些按鍵都去檢查 CapsLock,
所以一個可行的方法是這樣的:
; 先檢查目前 CapsLock 是不是按下去的,如果不是的話,就停用所有的 hotkey
GetKeyState, capState, CapsLock, T
if (capState = "U") {
Hotkey, 2, Off
Hotkey, 4, Off
Hotkey, a, Off
}
return
; 接著來處理 CapsLock。每次按下 CapsLock 的時候,
; 除了要讓 CapsLock 狀態真的改變(所以前面要加個 ~),
; 還要切換 hotkey 的啟用與否
~CapsLock::
Hotkey, 2, Toggle
Hotkey, 4, Toggle
Hotkey, a, Toggle
return
; 最後就是 hotkey 了....
2::
Send {Numpad7}
return
4::
Send {Numpad4}
return
a::
Send {Numpad1}
return
以上,收工,應該就是你要的樣子。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.126.224.29
※ 編輯: JediDotOrg 來自: 59.126.224.29 (08/11 16:42)
1F:推 i745a:感謝Jedi.org的用心回答^^ 08/12 11:09
2F:推 rainstraw:好文推一下 03/18 23:17