다음은 대체 솔루션입니다. 기존 AutoHotKey가 #if를 지원하지 않기 때문에 AutoHotKey_L이 있어야합니다. 당신이 CapsLock 키 + s와 당신이 traytip와 상태를 표시와 함께 참/거짓 깃발을 전환 첫 번째 블록에서
CapsLock & s::
Flag:=!Flag
If (Flag)
TrayTip, AutoHotKey, Numpad ON, 1
Else
TrayTip, AutoHotKey, Numpad OFF, 1
Return
#If (Flag)
m::Send, 0
k::Send, 1
#If
는, 당신은 다음 블록에서 특정 키의 동작을 정의합니다. 또한 첫 번째 블록을 삭제하고와의 #if (신고) 라인을 대체 할 수있는 :
#If (GetKeyState("CapsLock", "P") and GetKeyState("s", "P"))
업데이트 :
는 다양한 결과를 다음 시도. 첫 번째 (주석 처리 된) 코드는 CapsLock + s를 사용하지만 분명히 s 키를 누르면 AutoHotKey가 특정 다른 키 누르기를 볼 수 없습니다 (여기서 n, m, i, o, p 문자는 작동하지만 j, k, l은 켜짐). 키보드에서 동일한 높이/주사선은
SetCapsLockState, alwaysoff
/*
Capslock & s::
While, (GetKeyState("CapsLock", "P") and GetKeyState("s", "P"))
{
Input, MyKey, I L1 T0.5
TrayTip, Key:, %MyKey%
if (MyKey = "m")
Send, 1
if (MyKey = "i")
Send, 2
if (MyKey = "k")
Send, 3
if (MyKey = "j")
Send, 4
if (MyKey = "o")
Send, 5
if (MyKey = "p")
Send, 6
}
Return
*/
그냥 또한 일) J, K, L로 같은 동일한에 (CapsLock 키를 사용하여) 검출되지 않았다,하지만 당신이 원하는 것이 아니다. (아직)
Capslock::
While, (GetKeyState("CapsLock", "P"))
{
Input, MyKey, I L1 T0.5
TrayTip, Key:, %MyKey%
if (MyKey = "m")
Send, 1
if (MyKey = "i")
Send, 2
if (MyKey = "k")
Send, 3
if (MyKey = "j")
Send, 4
if (MyKey = "o")
Send, 5
if (MyKey = "p")
Send, 6
}
Return
는 Oooops 단지의 #if (GetKeyState ("CapsLock 키", "P")와 GetKeyState ("S", "P")) 내 제안 aternative을 테스트하고 제대로 작동하지 않습니다 . –
그것이 내가 찾고있는 것에 가깝지만 Capslock & s를 누르고있는 동안에 만 Numpad 기능이 작동하기를 원합니다. (귀하의 예는 토글하는 것입니다) – twiz