2012-12-14 3 views
0

내 모든 목표는을 입력 할 수 있습니다. uiojklm,.은 10 키 숫자 패드처럼 작동합니다. 내가 Capslock + s + m을 누르면 Alt + Space + key in autohotkeyAutoHotKey의 Capslock + s + m

, 그것은 인쇄 :

그래서 첫 단계로, 나는 여기에 대답 떨어져 내 현재 코드를 기반

SetCapslockState AlwaysOff 

Capslock & s:: 
keywait, m, d, t0.6 
If (!ErrorLevel) { 
    SendInput {1} 
} Return 

1 수에 Capslock + s + m를 매핑하는 것을 시도하고있다 밖으로 m1. m 인쇄를 중단하려면 어떻게합니까?

답변

1

다음은 대체 솔루션입니다. 기존 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 
+0

는 Oooops 단지의 #if (GetKeyState ("CapsLock 키", "P")와 GetKeyState ("S", "P")) 내 제안 aternative을 테스트하고 제대로 작동하지 않습니다 . –

+0

그것이 내가 찾고있는 것에 가깝지만 Capslock & s를 누르고있는 동안에 만 Numpad 기능이 작동하기를 원합니다. (귀하의 예는 토글하는 것입니다) – twiz

관련 문제