⚠ 이 강좌는 오토핫키 v2를 다룹니다
지금 보시는 강좌는 과거 오랜 시간동안 알려진 오토핫키(v1.1)의 차세대 버전인 오토핫키 v2를 다루고 있습니다.
만약 구버전인 '오토핫키 v1.1'의 강좌를 찾으신다면 프날 오토핫키 강좌(https://pnal.kr)를 봐주시면 되지만,
새로 오토핫키를 배우신다면 v2 버전을 배우시는 것을 강력히 추천드립니다.
19. 핫키
마지막 수정일: 2023-12-22
이제 자동화 프로그래밍을 위한 기초인 핫키를 배워보겠습니다. 핫키를 우리말로 풀어보면 단축키입니다. 여러분은 이제부터 특정 단축키를 눌렀을 때 어떤 구문이 실행되는 것을 배울 것입니다.
이름에 걸맞게, 오토핫키는 간단히 단축키 기능을 구현할 수 있는 장점이 있습니다. 단축키를 눌러서 복잡한 작업을 자동으로 해주는 것이죠.
핫키
오토핫키에서 단축키는 쌍점 두 개(::
)으로 지정합니다.
그리고 실행시킬 구문의 영역은 단축키 표시 밑에 중괄호쌍({}
)으로 명확히 표기해주어야합니다.
1 K::
2 {
3 ;여기에 단축키를 눌렀을 때 구문을 작성
4 }
아직까진 스크립트를 실행시켜도, K키는 아무런 역할을 하지 않습니다. 실행 영역에 단축키를 눌렀을 때 할 행동을 작성해주어야하죠.
수식 기호
핫키와 함께 쓸 수 있는 수식 기호가 있습니다.
컴퓨터에서도 '복사'의 단축키가 Ctrl
+ C
인것처럼,
'키 조합'을 사용할 수 있습니다.
키 조합에 사용되는 Ctrl
, Alt
, Shift
, Windows
를 조합키라고 하는데, 조합 키의 수식 기호를 이용하여 키 조합을 사용할 수 있습니다.
또한, 핫키의 성질을 지정해주는 용도로도 수식 기호가 사용됩니다.
수식 기호는 핫키의 앞에 써주시면 되며, 아래와 같은 기호를 키 이름 대신 사용합니다.
조합키의 수식 기호
먼저 조합키를 나타내는 수식 기호입니다.
기호 | 수식 기호의 의미 |
---|---|
^ | Ctrl 키 |
! | Alt 키 |
+ | Shift 키 |
# | Windows 키 |
예를 들어서, Ctrl
+ P
핫키는 아래와 같이 지정합니다.
1 ^P::
Ctrl
+ Alt
+ P
핫키는 아래처럼 써주면 되겠죠.
1 ^!P::
핫키의 성질을 바꿔주는 수식 기호
이번엔 핫키의 성질을 바꿔주는 수식 기호입니다. 이를 이용하면 핫키의 동작 조건을 세부적으로 설정할 수 있습니다.
기호 | 수식 기호의 의미 |
---|---|
* | 와일드카드 |
~ | 입력 투과 |
먼저, 와일드카드(*
)는 다른 조합키의 조합을 허용합니다.
예를 들어서, *P::
와 같이 적어주면 P
만 눌러도 핫키 구문이 실행되지만, Alt
+ P
또는 Ctrl
+ P
처럼 다른 어떠한 조합키와 함께 입력해도 실행됩니다.
이어서 아래 구문을 살펴보겠습니다.
Ctrl
을 나타내는 수식 기호 ^
와 함께 와일드카드 *
를 사용했으니, Ctrl
을 포함했다면 다른 키 조합에도 대응합니다.
1 *^P::
또다른 수식 기호인 입력 투과(~
)는 해당 키의 원래 입력을 허용하는 수식 기호입니다. 원래 K
키를 핫키로 지정했다면 프로그램이 실행되는 동안 K
키는 원래 목적으로 사용할 수 없습니다.
키보드의 K
키를 눌러도 문자 K가 입력되진 않는다는 것이지요. 그러나 ~
수식 기호를 사용하면 해당 키의 원래 기능도 막지 않으면서, 핫키 또한 실행됩니다.
Tip: 수식 기호는 더 있습니다
여러 기능을 하는 수식 기호가 더욱 있습니다만, 강좌에서는 기초적인 수식 기호 몇 가지만 설명드립니다. 모든 조합키 목록은 레퍼런스 문서(https://www.autohotkey.com/docs/v2/Hotkeys.htm#Symbols)에서 참고하실 수 있습니다.
실습
1. 핫키의 사용
아직 배운 함수가 MsgBox
밖에 없군요.
핫키를 누르면 알림 상자를 출력하도록 연습해보겠습니다.
1 K::
2 {
3 MsgBox("K키를 눌렀습니다.")
4 }
위의 예제를 실행시킨 뒤, 키보드의 K
키를 눌러보세요. 아래와 같이 알림상자가 나타날 것입니다.
알림상자를 닫고 다시 K
키를 누르면, 또다시 알림상자가 열립니다. 스크립트가 종료되지 않았다는 뜻입니다.
이렇게 핫키를 사용한다면 자동으로 스크립트가 종료되지 않는다는 점을 알아주셨으면 합니다. 프로그램이 핫키 입력을 계속하여 기다리고 있어야 하기 때문입니다.
Tip: 오토핫키 프로그램을 수동 종료하는 방법
핫키를 사용하면 스크립트가 자동으로 종료되지 않는다는 점을 알게 되었습니다.
실습 코드를 실행한 후엔 K
키를 누를때마다 알림상자가 나타나죠.
다시 K
키의 기능을 돌려놓기 위해선 프로그램을 종료할 필요가 있습니다.
아래 사진과 같이, Windows 작업표시줄의 아이콘 트레이에서 오토핫키 아이콘을 찾아 우클릭한 뒤 Exit
를 눌러서 프로그램을 수동 종료할 수 있습니다.
자동으로 종료되게 하는 방법은 추후 배우도록 하겠습니다.
2. 수식 기호의 사용
수식 기호를 사용한 간단한 예제를 만들어보면 아래와 같습니다.
1 ~^C::
2 {
3 MsgBox("Ctrl+C를 눌렀습니다.")
4 }
예제를 실행한 후 Ctrl
+ C
를 누르면 알림상자가 나타납니다.
그리고 핫키를 입력할 때의 키 입력이 온전히 투과되기 때문에, 핫키 동작과 동시에 Ctrl
+ C
라는 키가 컴퓨터에 전달됩니다.
Tip: A_ThisHotkey 내장 변수
누른 핫키는 그 블록 내에선 A_ThisHotkey
내장 변수에 담깁니다.