作者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