팁 & 테크
1. 왜 AutoHotKey인가?
저는 지금 AutoHotKey로 키맵핑을 해서 키보드를 사용하고 있습니다.
몇 가지 키맵핑 스크립트를 공유하려고 글을 남깁니다.
그런데 왜 굳이 AutoHotKey여야 하는가에 대한 의문이 있으실 겁니다.
저는 처음에 딥스위치를 이용해서 (레오폴드 fc660m 입니다) Ctrl과 Capslock을 변경하는 수준의 키맵핑만 했습니다.
하지만 이 방법의 단점은, 지금 제가 노트북에 이 키보드를 연결해서 사용하고 있고, 가끔은 무선 블루투스 키보드도 사용을 하는데,
딥스위치를 이용한 키맵핑은 그 키보드에만 해당되기 때문에 노트북 키보드와 블루투스 키보드를 사용할 때 큰 혼란과 불편함이 있다는 것입니다.
두 번째 시도해봤던 프로그램이 SharpKeys였습니다. SharpKeys는 윈도우의 레지스터를 건드려서 키를 다시 맵핑해주는 프로그램입니다. 하지만 이 프로그램의 단점은, 레지스트리를 건드린다는 부담과, 여러 키의 조합은 맵핑할 수 없다는 불편함입니다.
그래서 마지막으로 시도해서 지금까지 사용 중인 프로그램이 AutoHotKey입니다.
이 프로그램의 장점은,
1) 스크립트를 읽어들여 구동하기 때문에 레지스트리를 변경하지 않는다는 것과,
2) 따라서 스크립트를 수정하거나 다른 스크립트를 읽어들여도 재부팅이 필요 없으며,
3) 다양한 맵핑 (여러 키의 조합 및 마우스 조작까지도) 가능하다는 것입니다.
단점은 스크립트를 작성하는 방법이 꽤나 어렵다는 것인데, 그래서 제가 이리저리 검색하여 유용하게 사용하고 있는 몇 가지의 스크립트를 공유하려고 합니다.
2. AutoHotKey 설치 및 스크립트 작성
AutoHotKey 프로그램은 https://autohotkey.com/ 에서 다운로드받으실 수 있습니다.
32/64 bit 인스톨러도 있고 무설치버전도 있는데, 키맵핑 스크립트를 시작프로그램에 등록하여 시스템 시작시부터 사용하려면 무설치버전보다 설치버전을 추천합니다. 프로그램이 참 가벼워서 설치해도 큰 부담이 없을 것입니다.
그리고 스크립트 작성은 그냥 메모장을 열어서 확장자를 .ahk 로 해주면 끝납니다. 그리고 이 스크립트를 실행하면 자동적으로 로딩됩니다. (그리고 시작프로그램에 이 스크립트 파일을 넣어주면 시스템 시작시 자동으로 로딩됩니다. )
3. 스크립트 공유
제가 사용하는 스크립트입니다.
#InstallKeybdHook
Capslock::
Send {LControl Down}
KeyWait, CapsLock
Send {LControl Up}
if ( A_PriorKey = "CapsLock" )
{
Send {Backspace}
}
return
; Shift + Ctrl 단축키 위한 스크립트
+CapsLock::+Ctrl
Return
; Ctrl + CapsLock 토글 방지
^CapsLock::Ctrl
Return
; Always on Top
^SPACE:: Winset, Alwaysontop, , A ; ctrl + space
Return
; \키를 backspace로
\::Backspace
Return
; 윈도우키 + \ 키로 \ 입력
#\::\
Return
; 마우스 클릭
#LAlt::
MouseClick
return
; 마우스 우클릭
#space::MouseClick, right
return
(보시다시피 ; 이후에 있는 건 스크립트로 띄워지지 않는 설명구입니다)
스크립트 설명 들어갑니다. 필요한 것만 복사해서 쓰시면 되겠습니다.
#InstallKeybdHook
Capslock::
Send {LControl Down}
KeyWait, CapsLock
Send {LControl Up}
if ( A_PriorKey = "CapsLock" )
{
Send {Backspace}
}
return
보통 Ctrl과 Capslock을 많이 바꿔서 쓰시는데, 이건 거기서 한 단계 더 나아간 스크립트입니다.
Capslock이 눌린 상태로 문자가 입력되면 Ctrl 단축키로 작동하고,
Capslock이 눌린 상태로 문자입력 없이 다시 들려지면 backspace로 작동합니다.
굉장히 자주 쓰는 backspace가 참 멀어서 손이 불편할 수 있는데, 아주 위치가 좋은 capslock을 backspace와 ctrl로 쓸 수 있는 유용한 스크립트입니다.
물론 capslock이 올라갈 때 backspace 입력이 되기 때문에 backspace의 연속입력은 안 됩니다.
Capslock 토글은 윈도우키, Ctrl, Alt 중 하나의 키와 Capslock 키를 누르면 됩니다.
그리고 원래 Ctrl은 그대로 Ctrl로 작동합니다. 가끔은 원래의 Ctrl 위치가 편해서 그냥 남겨두었습니다.
; Shift + Ctrl 단축키 위한 스크립트
+CapsLock::+Ctrl
Return
Ctrl과 Shift 단축키 (예를 들어 Ctrl + Shift + Z) 가 제대로 작동할 수 있도록 해주는 스크립트입니다.
; Ctrl + CapsLock 토글 방지
^CapsLock::Ctrl
Return
Ctrl + Capslock으로 의도하지 않게 캡스락 토글이 될 때가 많아서 Ctrl + Capslock은 그냥 Ctrl로 인식되도록 하는 스크립트를 추가했습니다.
; Always on Top
^SPACE:: Winset, Alwaysontop, , A ; ctrl + space
Return
저도 AutoHotKey 로 CapsLock 키를 Ctrl 로 매핑해서 사용하고 있습니다.
무척 유용한 프로그램이에요 ㅎㅎ
좋은 내용입니다.
(한 줄 명령에는 리턴 안 적어도 좋습니다.
핫키가 있으므로 InstallKeybdHook 지시문 안 적어도 좋습니다.)
오토핫키의 유일한 단점은 은행같은 데서 막힌다는 점.. 아닐까요 ?
(요즘은 모르겠네요..)