Hotkey 심볼과 설정(단축키 설정) – 오토핫키(AutoHotkey) 튜토리얼 2

Hotkey 심볼과 설정

오토핫키 스크립트의 사용방법은 크게 핫스트링(Hotstring)과 핫키(Hotkey)로 나눌 수 있습니다. 물론 GUI나 자동화 매크로 등의 프로그램을 만들 수도 있지만 핫스트링 – 쉬운 말로는 자동완성, 핫키 – 단축키 이 두가지만 기능만 사용하더라도 타이핑과 키보드 입력의 생산성을 크게 올릴 수 있습니다.

세상에는 온갖 문서가 있습니다. 학생, 회사원, 작가, 블로거 등 누구라도 오토핫키를 사용하면 윈도우 PC에서 문서 작업의 속도를 개선할 수 있습니다. 단지 세상에 있는 무궁무진한 문서 만큼이나 오토핫키의 사용법은 다양해서 어떻게 나의 업무(혹은 취미라도)에 접목시켜서 효율을 낼 수 있을지는… 오토핫키 튜토리얼을 학습한 후에 각자에게 맞도록 적용해야 할 겁니다. 뭐 기본에 충실하면 그렇게 복잡하진 않습니다.

이번 포스팅은 첫번째 주제인 Hotkey 심볼을 다뤄보겠습니다. 오토핫키 배울 때 보통 Hotstring 부터 배우는데 일반인이 접근하기에는 Hotkey가 더 수월할 겁니다. 이건 그냥 윈도우에 추가 단축키를 집어넣는다고 생각하면 됩니다.

한가지 주의할 점은 오토핫키는 윈도우 전체의 단축키 입력을 덮어씌우기(override) 때문에 일반 프로그램의 단축키와 충돌하지 않도록 합니다.

Hotkey 심볼

Hotkey 심볼은 오토핫키에서 키보드에 대응하는 문자를 말합니다. 예를 들어서 !는 문자에서는 느낌표지만 오토핫키에서는 키보드의 알트키(alt key)를 누른 상태(pressdown)를 말합니다. 오토핫키 소스코드로 보겠습니다.

!k::
Send, abcdef
return

첫번째 줄에서 !k:: 은 키보드의 알트키와 k를 동시에 누른 것을 의미합니다. 콜론 두개는 :: 오토핫키가 스크립트를 해석하기 위해 필요한 문자입니다. 그 다음 라인의 Send, abcdef는 abcdef 문자를 Send(보내라)라는 것으로 문서 편집기나 인터넷 검색창에서 알트 + k를 입력하면 abcdef 가 바로 입력되는 것을 볼 수 있습니다. 단축키에 문자를 저장해 놓은 것과 같죠.

우리가 단축키(Shortcut key)는 보통 키를 조합해서 누르면 어떤 동작이 실행되는 것을 말하는데 그게 꼭 Hotkey와 딱 맞아 떨어지는 것 같지는 않습니다. 또 Hotstring을 자동완성이라고 부르기에는 더 많은 일을 시킬 수 있죠. 이 블로그에서는 오토핫키 본연에 충실하기 위해 이후에는 단축키나 자동완성이라는 말보다 핫키(Hotkey)와 핫스트링(Hotstring)이라고 지칭합니다. 핫키나 핫스트링 모두 똑같은 동작을 실행할 수 있습니다. 다만 핫키는 이벤트를 발생시키는 방식이 키보드를 함께 누르는 조합 방식이고 핫스트링은 연속된 키보드의 입력 – 문서편집기에서는 문자열로 보이는 – 이 이벤트를 발생시킵니다.

비전공자 용으로 좀 더 쉽게 설명하려고 했는데 어쩔 수 없이 전문용어들이 나오는데요. 이런 내용을 몰라도 오토핫키를 사용하는데는 지장이 없으니까 넘어가면 됩니다. 프로그래밍의 원리에 대해서 이해하는 것은 어느정도 컴퓨터 전공 지식이 필요한 부분으로 시간이 걸립니다.

뭐 좋습니다. Hotkey의 기본 사용법을 배웠으니 다음 응용은 쉽습니다. 위 코드의 k 자리에 a, b, c 등 넣고 싶은 문자를 넣고 다시 오토핫키를 실행해봅니다. 알트 + a, 알트 + b … 알트 + z 이런 식으로 벌써 알트만 가지고도 수십 가지의 키보드 조합이 나옵니다. 여기다가 자주 사용하는 문자열을 저장해두면 편리합니다. !m::Send, myemail@myemail.com 하면 알트 + m 단축키만 눌러도 메일주소가 바로 입력됩니다.

알트는 !인데 다른 심볼의 종류는 다음과 같습니다.

^컨트롤[CTRL]
#윈도우키
!알트[ALT]
+쉬프트[SHIFT]
&키보드 조합
Hotkey 심볼

^q 는 컨트롤 + q, #c 는 윈도우키 + c 처럼 사용하면 됩니다. 그 다음에 키보드 조합에서 &는 q & p 라면 q와 p를 동시에 누르는 조합입니다. 이 때 주의할 점은 &에는 공백을 줘야하고 앞에 나오는 q는 단독으로 사용할 수 없습니다. 컨트롤, 알트, 쉬프트 처럼 다른 키보드와 함께 눌렀을 때 비로소 실행이 됩니다. 그래서 키보드 조합을 사용하려면 평소에 사용하지 않는 키 중에 선택해야 합니다. 1옆에 있는 ` (그레이브 – grave)같이 일반 문서에 잘 사용하지 않는 문자를 고려해보면 좋을 듯 합니다. (자바스크립트 프로그래밍에서는 사용하는 키이다)

Hotkey로 오토핫키 설정(리로드, 종료)

오토핫키는 기존의 윈도우 키를 덮어 씌우기 때문에 (앱에 따라 안 먹히기도 한다) 오토핫키 자체를 컨트롤하는 핫스트링이 필요합니다. 스크립트를 만들 때 기본으로 넣어주면 편리한 코드입니다.

;메모장 실행
^!n::
Run, notepad
return

; reload script
^!r::Reload

; edit script - SciTE4AutoHotkey
^!e::Edit

; exit out
^!q::
MsgBox, Exit AutoHotkey
ExitApp

메모장은 컨트롤 + 알트로 실행하도록 했습니다. 핫키나 핫스트링을 만들고 테스트하기 위함입니다. 다음 컨트롤 + 알트 r은 리로드 즉 코드를 다시 로드하는 겁니다. 스크립트를 편집하고 리로드하면 바로 테스트할 수 있습니다. 컨트롤 + 알트 e는 스크립트 편집기를 엽니다. 마지막으로 컨트로 + 알트+ q로 스크립트를 종료합니다. 종료하기 전에 메시지 박스를 띄워주는데 그 이유는 오토핫키는 배경에서 돌아가기 때문에 이게 실행 중인지 종료가 되었는지 확인하기 위해서입니다.

소스코드 에디터는 어떤 것을 사용해도 관계없지만 오토핫키에 최적화된 ScitTE4AutoHotkey를 주로 사용합니다. 아래 링크에서 다운로드 할 수 있습니다.

^와!를 같이 사용하는 이유는 다른 단축키와의 충돌을 피하기 위해서입니다. 윈도우에는 이미 바탕화면부터 여러개의 단축키가 지정되어 있습니다. 또 윈도우의 프로그램도 다양한 단축키를 사용합니다. 보통 알트, 컨트롤 키를 하나씩 누르고 영문 키보드 조합이 많으니까 최대한 피하려면 두개를 함께 써주면 좋습니다. 손가락 위치는 적당하게 만들면 됩니다. 키 세개를 한 손으로 누르는 건 좀 힘드니까 두 손을 사용하도록 단축키를 배치하면 좋습니다. 오토핫키는 개인에게 최적화 시켜야 하니까 어떤 키든 자기가 편하게 쓸 수 있게 하면 됩니다.

요약

핫키(Hotkey)와 심볼 사용법을 알아봤습니다. 위 오토핫키 명령어 중에 아직 설명하지 않은 내용도 있지만 따라하다 보면 대충 감을 잡을 수 있습니다. 명령어의 자세한 사용법들은 오토핫키 공식 웹사이트와 커뮤니티의 레퍼런스에서 찾을 수 있는데 너무 많으니까 프로그램을 만들 때 필요한 명령어만 가져다가 쓰면 됩니다. 그런 내용들도 차후 포스팅에서 다뤄 보도록 하겠습니다.

다음 포스팅의 내용은 핫스트링(Hotstring)이 되겠네요.

Leave a Comment