본문 바로가기
programming language/Autohotkey

Autohotkey 에서 3개 이상의 키 조합으로 단축키 만들기

by 남성 2017. 2. 28.
보통 Autohotkey 는 CTRL, ALT, SHIFT 와 같은 Trigger 키와 숫자, 문자 등과 같은 키의 조합을 사용하여 단축키를 만들곤 합니다.

그냥 문자 키 두개를 사용하여 만들고 싶은 경우에는 & 로 연결해서 사용하곤 하지만 일반적인 경우에는 그 이상의 키들을 조합해서 사용할 수는 없습니다. 

2개 이상의 문자를 사용하여 단축키를 만들고 싶은 경우에는 #if 를 사용하면 해결 할 수 있습니다.

아래 주소의 메뉴얼의 예를 보면 #if  와 GetKeyState() 함수를 사용하여 AppsKey 가 눌려 있는 경우 F1, F2... F6 키의 조합을 이용하여, 즉 AppsKey 와 Function 키 두개의 조합으로 키를 만들어 사용 할 수 있죠.



#if GetKeyState("AppsKey", "P")
F1 & F2::MsgBox F1 & F2 Hotkey activated.
F2 & F3::MsgBox F2 & F3 Hotkey activated.
F3 & F4::MsgBox F3 & F4 Hotkey activated.
F4 & F5::MsgBox F4 & F5 Hotkey activated.
F5 & F6::MsgBox F5 & F6 Hotkey activated.

#if

위 코드를 실행 시킨 후에  오른 손으로 AppsKey를 누르고 왼손으로 F1 과 F2 를 동시에 누르면 아래와 같이 message box 가 나옵니다. 


제 키보드의 경우  AppsKey 옆에 Right Window 키가 있습니다. 그래서~ Right Window 와  AppsKey 그리고 Function 키들의 조합을 사용하여 아래와 같이 4개 키 조합으로 단축키를 만들 수 도 있겠죠~

#if GetKeyState("RWin", "P") and GetKeyState("AppsKey", "P")
F1 & F2::MsgBox F1 & F2 Hotkey activated.
F2 & F3::MsgBox F2 & F3 Hotkey activated.
F3 & F4::MsgBox F3 & F4 Hotkey activated.
F4 & F5::MsgBox F4 & F5 Hotkey activated.
F5 & F6::MsgBox F5 & F6 Hotkey activated.

#if

#if 구문에 and 를 계속 붙이면~ 더 많은 키 조합도 만들 수가 있을 겁니다.



댓글3

  • 편리본좌 2017.03.11 18:24

    감사합니다 덕분에 세개의 조합키로도 사용할수 있다는걸 알았습니다 그런데

    마지막에 #if 를 붙여줘야 하나요? return 같이 닫는 역할인가요?
    답글

    • 남성 2017.03.11 18:31 신고

      #if GetKeyState("AppsKey", "P") 에 의한 영향이 끝나는 부분입니다.
      즉 #if 를 안 써 주면 #if GetKeyState("AppsKey", "P") 에 의한 영향이 계속 된다는 거죠.

  • 편리본좌 2017.03.11 20:06

    관리자의 승인을 기다리고 있는 댓글입니다
    답글