반응형
Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Tags
more
Archives
Today
Total
관리 메뉴

LearningNote

[오토핫키] 키보드 제어(1) 본문

오토핫키

[오토핫키] 키보드 제어(1)

LN 2020. 6. 8. 22:18
반응형

드디어 매크로 같은 매크로(?)를 처음으로 코딩해볼 시간이 왔습니다.

 

단축키를 이용하여 키보드를 제어하는 방법을 알아보겠습니다.

 

전 시간에는 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

 

재생 버튼을 눌러 다시 실행합니다.

혹시 이런 메시지가 뜨나요?

 

#SingleInstance

이것은 기존에 이미 실행 중인 스크립트가 있는데, 새로 대체할 것인지의 여부를 묻는 창입니다.

Yes 를 눌러 진행하면 됩니다만, 매번 이런 메시지를 보는 것이 여간 성가시지 않죠.

친절하게도 메시지 내용을 보면 #SingleInstance 명령어를 확인하라고 알려주네요.

 

아래 문서를 통해 잠시 알아보겠습니다.

 

http://autohotkeykr.sourceforge.net/docs/commands/_SingleInstance.htm

 

#SingleInstance

 

autohotkeykr.sourceforge.net

 

자, 이제 대충 공부하셨으면, 코드를 한번 더 수정해볼게요. 행여나 이해가 안 되시더라도 괜찮습니다. 우리는 무조건 다음과 같이 #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! 라고 키보드를 입력해볼까 합니다.

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

 

List of Keys and Mouse/Joystick Buttons for Hotkeys and Macros

VKnn nn에 키의 십육진 가상 키 코드를 지정합니다. 자주 사용되지 않는 이 방법은 어떤 유형의 핫키가 키보드 갈고리를 요구하는 것을 방해할 수도 있습니다. 예를 들어, 다음 핫키들은 키보드 갈

autohotkeykr.sourceforge.net

 

반응형
Comments