오토핫키 개요
목차
오토핫키(AutoHotkey)는 윈도우 운영체제의 자동화 스크립트 언어입니다. 기능적으로 파워풀하고 또 배우기 쉽게 설계되어 있기 때문에 프로그래머가 아닌 일반인들 중에도 많이 사용하고 있습니다. 이게 프로그래밍인지 아니면 단순 자동화 프로그램인지 애매한 경계 사이에 있긴 한데 윈도우 자동화에 특화시키다 보니 그렇게 된 것 같습니다.
프로그래밍 산업은 점점 더 크로스 플랫폼, 즉 최대한 많은 장치와 OS에서 작동하는 것을 추구하는데 그런 면에서 오토핫키 같은 언어는 좀 올드해 보이기도 합니다. 하지만 윈도우라는 플랫폼에 최적화한 장점도 있기 때문에 오랜 역사를 가지고 현재까지 커뮤니티가 이어지고 있습니다. 주된 사용처가 게임이고 윈도우 PC에서 돌아가는 게임의 수가 많으니까 게이머들에게 가치가 높습니다.
예전에는 MMORPG 등 온라인 게임의 매크로를 오토핫키로 스크립팅한 경우가 많았는데 남용이 심하다 보니 웬만한 게임사들은 오토핫키 입력이 불가하게 하거나 감지 프로그램에 걸리면 계정이 블럭되기도 하니까 이걸 배우는 건 좋지만 사용은 신중하게 하는 것을 추천합니다. 꼭 오토핫키가 아니라 파이썬이나 다른 스크립트 언어들도 마찬가지인데, 비전공자들이 조금만 배워도 손쉽게 자동화 프로그램을 만들 수 있다 보니까 어뷰징(abusing – 남용) 문제는 이해할 필요가 있습니다.
물론 오토핫키는 게임용으로만 개발된 언어는 아닙니다. 내장 GUI를 사용하여 간단한 윈도우 프로그램도 만들 수 있어서 다양한 업무 자동화 프로그램을 만드는데 사용됩니다. 작가나 편집자 등이 전문적인 문서를 작성할 때 텍스트 입력을 간소화 하는 핫스트링 기능만 사용해도 상당한 생산성 향상을 볼 수 있습니다. 핫스트링 기능은 차츰 포스팅 하겠지만 예를 들어서 워드 프로세서에서 apl 이라는 문자만 쳐도 apple 이라는 글자로 변환되는 기능입니다. 타이핑을 끝까지 다 칠 필요가 없죠. 당연히 인터넷에서도 사용가능하기 때문에 블로그를 쓸 때 자주 쓰는 문구, 이메일 등을 핫스트링에 넣고 쓰면 훨씬 빠른 작업이 가능합니다. 핫스트링이지만 HTML 태그를 넣어도 되고, 소스 코드를 넣어도 되기 때문에 그 사용 방법에는 제한이 없습니다. 이걸 쓰다 보면 왜 나는 수십년 동안 타이핑을 열심히 하고 살았나- 라는 약간의 자괴감도 느끼게 해주더군요. 오토핫키는 2000년대 초에 등장했기 때문에 이제 한 이십년 정도의 역사가 있는 언어입니다. 언어 자체가 생소하고 항상 마이너한 랭크에 있었기 때문에 이해는 갑니다.
다운로드와 설치
오토핫키는 다음의 공식 웹사이트에서 다운로드 받을 수 있습니다. 무난하게 Download Current Version을 다운로드하여 설치합니다.
필자는 원래 오토핫키를 쓰고 있어서 업그레이드만 했습니다. (아래 이미지)
오토핫키의 동작 방식은 간단합니다. 스크립트 파일을 만들고 그 안에 핫키나 핫스트링을 넣습니다. 이제 오토핫키 프로그램을 통해 실행하면 바로 작동을 시작합니다. 다른 스크립트 언어 처럼 인터프리가 없어 보이지만 스크립트 파일이 실행되면 사용자의 키보드 입력을 받기 위해 대기하고 있는 겁니다.
그럼 바로 오토핫키 스크립트를 만들어 보겠습니다. 오토핫키를 설치하고 바탕화면에서 마우스 오른쪽 클릭 -> 새로 만들기를 클릭하면 AutoHotkey Script 가 추가되있습니다. 실행하면 AutoHotkey 스크립트 파일을 생성합니다. 혹은 텍스트 에디터에서 ‘파일이름.ahk’ 로 저장하면 됩니다. 확장자가 ahk 인 파일은 오토핫키 파일로 인식합니다.
오토핫키 소스코드 편집기로는 SciTE4AutoHotkey를 많이 사용합니다. 오토핫키에 최적화된 에디터입니다. 파일을 열어보면 위에 코드와 주석이 몇 줄 있습니다, 그건 무시하고 아래에 다음의 코드를 입력해봅니다.
::mbt::Smoothie Coding
이를 실행하면 mbt라고 쓴 후 공백문자(트리거)를 입력하면 Smoothie Coding으로 변환되는 핫스트링입니다. mbt란 my blog title의 약자입니다. 이렇게 하면 블로그 이름을 풀로 다 타이핑하지 않아도 되니 훨씬 빠르게 문서를 작성할 수 있습니다.
오토핫키 튜토리얼 포스팅을 진행하면서 차차 설명하겠지만, 스크립트를 실행하는 것도 중요하지만 종료하는 것, 스크립트 수정 후 바로 리로드 해서 사용하는 것 등 컨트롤하는 스크립트 코드도 정리해두면 좋습니다. 이게 핫키 기능이 윈도우나 다른 앱과 충돌할 수도 있는데 그럴 때는 오토핫키에 설정한 스크립트가 윈도우를 덮어씌울(Override) 가능성도 있습니다. 핫키 간의 충돌을 조정하는 것도 오토핫키 프로그래머의 역할입니다.
좋습니다! 다음 포스팅 부터 본격적으로 오토핫키의 기능을 배워보겠습니다. 서두에 이야기한 것 처럼 프로그램을 전공하거나 배우지 않은 일반인도 자동화에 관심이 있다면 쉽게 배워서 써먹을 수 있을 겁니다.
이 블로그는 일반 코딩 기술을 다루기 때문에 보통 컴퓨터 전공의 관점에서 접근하지만 오토핫키와 같은 자동화 프로그램은 사용자 입장에서 접근하기 때문에 비전공자도 충분히 읽고 따라해면 어렵지 않을 겁니다. (오토핫키는 사용자가 프로그래밍 학습 과정이 없어도 사용할 수 있도록 설계된 언어이다)