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
좋은 내용입니다.
(한 줄 명령에는 리턴 안 적어도 좋습니다.
핫키가 있으므로 InstallKeybdHook 지시문 안 적어도 좋습니다.)
오토핫키의 유일한 단점은 은행같은 데서 막힌다는 점.. 아닐까요 ?
(요즘은 모르겠네요..)
그렇군요... ㅎㅎ감사합니다. ^^
오홋!! 이런 정보가!!
유용하게 사용하시길..^^
키보드에도 맵핑이?? ㄷㄷㄷㄷㄷ
오 이것저것 프로그래밍용으로 설정하면 좋겠네요ㅋ
단순히 키보드를 두드리기만 하는 저로서는 신세계네요. 그래도 언젠가를 위해서 잘 메모해 놓습니다^^
저도 AutoHotKey 로 CapsLock 키를 Ctrl 로 매핑해서 사용하고 있습니다.
무척 유용한 프로그램이에요 ㅎㅎ
안녕하세요.
유용한 정보 잘 보았습니다.
와 이런거 찾고있었는데 고맙습니다!!
좋은 정보 감사합니다. 가끔 AutoHotkey를 악성프로그램으로 간주하는 경우도 있어서, 키보드 입력 후킹에 대한 간편하고 좋은 정보를 찾아봐야겠단 생각이 들었습니다..
해피를 얼마전에 사서 쓰는데 좋은 정보 감사합니다
좋은 정보네요
유용한 유틸 정보 감사합니다^^
꿀팁 감사합니다.
대단한 열정을 가진 분들이 참 많군요
이걸 한번 써봐야겠네요 :) 감사합니다..!
유용한 팁 잘 흡수해 갑니다!
꿀팁입니다. ^^
와우 좋은 정보 감사합니다!
좋음 팁 감사합니다~
꿀팁 감사합니다