LearningNote
[오토핫키] 키보드 제어(1) 본문
드디어 매크로 같은 매크로(?)를 처음으로 코딩해볼 시간이 왔습니다.
단축키를 이용하여 키보드를 제어하는 방법을 알아보겠습니다.
전 시간에는 Alt + 1 키를 누르면 Hello World! 라는 메시지 박스를 띄웠었죠.
이번엔 Alt + 1 키를 누르면 Hellow World! 가 메모장에 입력되도록 해보겠습니다.
다음의 코드를 SciTE4AHK 에디터에 입력하세요.
!1::
Send, Hello World!
return
코드를 다 입력하셨으면, 에디터의 재생 버튼을 눌러 실행합니다.
그리고 메모장을 하나 띄우세요.
Alt + 1 키를 눌러보세요.
Hello World! 가 잘 입력되나요?
오~ 신기하죠? 매크로 참 쉽습니다. (아직까지는... 쿨럭)
이번엔 메모장이 아닌,
인터넷 브라우저 주소창을 클릭하고 Alt + 1 을 눌러봅니다.
주소창에 Hello World! 가 입력되나요?
이렇듯 현재 커서가 활성화되어 있는 곳에 키보드가 입력되는 것을 알 수 있습니다.
아, 그런데 Hello World! 라고 정확히 입력이 잘 되나요?
네? 잘 된다고요?
그럴 리가 없습니다. 다시 확인해보세요.
느낌표가 입력이 안 되었을 겁니다.
다음의 코드처럼 느낌표를 중괄호로 묶어보세요. 중괄호는 특수 기호를 입력할 때 쓰입니다.
!1::
Send, Hello World{!}
return
재생 버튼을 눌러 다시 실행합니다.
혹시 이런 메시지가 뜨나요?
이것은 기존에 이미 실행 중인 스크립트가 있는데, 새로 대체할 것인지의 여부를 묻는 창입니다.
Yes 를 눌러 진행하면 됩니다만, 매번 이런 메시지를 보는 것이 여간 성가시지 않죠.
친절하게도 메시지 내용을 보면 #SingleInstance 명령어를 확인하라고 알려주네요.
아래 문서를 통해 잠시 알아보겠습니다.
http://autohotkeykr.sourceforge.net/docs/commands/_SingleInstance.htm
자, 이제 대충 공부하셨으면, 코드를 한번 더 수정해볼게요. 행여나 이해가 안 되시더라도 괜찮습니다. 우리는 무조건 다음과 같이 #SingleInstance, Force 만 쓸 거니까요. 외우거나 어디 복사해두세요.
#SingleInstance, Force
!1::
Send, Hello World{!}
return
기존에 떠 있던 오토핫키를 다 닫고 실행해보세요.
오토핫키 종료하는 것도 여간 귀찮은 게 아니죠.
F4 단축키를 통해 오토핫키를 종료하는 코드를 넣어 둡시다.
#SingleInstance, Force
F4::
ExitApp
return
!1::
Send, Hello World{!}
return
편의성을 위해 #SingleInstance, Force 와 F4 핫키 지정한 부분은 앞으로 항상 맨 위에 입력하고 진행하겠습니다.
F4 블록에 있는 ExitApp 명령어는 오토핫키를 종료하는 명령어입니다.
따라서 그 아래에 있는 return 명령어는 써도 되고 안 써도 됩니다.
어차피 프로그램이 종료되면 그만이기 때문입니다.
자, 이제 코드를 수정하고 기존의 오토핫키를 모두 종료하셨나요?
그렇다면, 재생 버튼을 눌러보세요. 또 눌러 보세요.
아까와 같은 메시지가 안 뜨고 바로 오토핫키가 재시작되는 것을 확인할 수 있습니다.
메모장을 띄워 Alt + 1 을 눌러보세요.
Hello World! 가 정확히 입력되나요?
고생하셨습니다.
이번에는 메모장의 Hello World! 아랫줄에 Hell World! 라고 키보드를 입력해볼까 합니다.
오토핫키 에디터를 여시고, Alt + 1 핫키에 Hell World! 를 추가해보세요.
#SingleInstance, Force
F4::
ExitApp
return
!1::
Send, Hello World{!}
Send, Hell World{!}
return
F5 키 또는 재생 버튼을 눌러 스크립트를 재시작해주세요.
새로운 메모장을 띄워 주세요.
Alt + 1 키를 눌러보세요.
원하는 대로 타이핑되었나요? 맘에 안 드네요.
저는 한 줄 아래로 내려서 입력하고 싶었거든요.
Hello World! 다음에 한 줄 내리고 Hell World! 하려면 어떻게 하면 될까요?
중간에 엔터키를 한번 눌러주면 되겠죠?
엔터키는 특수키이기 때문에
Send, Enter 가 아니라 중괄호를 씌워
Send, {Enter} 로 스크립트를 작성하시면 됩니다.
#SingleInstance, Force
F4::
ExitApp
return
!1::
Send, Hello World{!}
Send, {Enter}
Send, Hell World{!}
return
다시 실행하고, 메모장에서 다시 Alt + 1 을 눌러보세요.
어떤가요? 원하는 형태로 출력이 잘 되나요?
축하드립니다.
Enter 키 외에도 다른 특수키를 입력하고 싶으실 때는,
{Space}, {ESC} 등과 같이 사용하시면 됩니다.
이것 외의 키를 입력하고 싶으시면 다음의 링크를 참고하시기 바랍니다.
http://autohotkeykr.sourceforge.net/docs/KeyList.htm
'오토핫키' 카테고리의 다른 글
[오토핫키] 키보드 제어(3) (0) | 2020.06.19 |
---|---|
[오토핫키] 키보드 제어(2) (0) | 2020.06.10 |
[오토핫키] 명령문과 주석문 (0) | 2020.06.03 |
[오토핫키] 핫키 지정 및 사용법(2) (0) | 2020.05.28 |
[오토핫키] 핫키 지정 및 사용법(1) (0) | 2020.05.25 |