AUTO HOT KEY, Send 명령어의 키보드 입력 기능을 알아보자(조합키, 특수키)
목차
우리가 컴퓨터를 사용해서 하는 일은 대표적으로 입력과 출력 2개가 있습니다.
입력은 거의 모든 경우에 마우스와 키보드로 이루어집니다.
그 중 하나인 키보드 입력에 대해서 알아보겠습니다.
1. SEND 명령어
SEND, {keys} : 키를 입력합니다.
예) Send, {a} - a를 입력합니다. / Send, {a 20} - a를 20번 입력합니다.
엄청 단순한 사용법이지만 우리가 키보드를 사용하는 방식 다양함으로 여러가지 기능을 지원합니다.
※ 기타 : Send 키는 실제로 키보드를 누른것과 같은 동작을 함으로 노딜레이로 실행하면 버그가 나기 쉽습니다.
Sleep 숫자(㎳ 단위의 대기시간을 가집니다.)를 이용해서 딜레이를 주는 요령을 들입시다.
2. 조합키
`과 함께 사용해서 키보드의 기능으로 인식되는 조합이 있습니다.
- `n, `r : enter키로 인식합니다.
- `t : Tap으로 인식합니다.
- `b : 백스페이스로 인식합니다.
아시겠지만 AUTO HOT KEY에서 종종 쓰는 ` 키는 보통 키보드에서 1 왼쪽 ESC 아래에 있는 키입니다.
저는 가끔 다른 키랑 혼돈합니다. 점이라 잘 보이지 않으니 코딩할 때 주의하세요.
3. Down과 UP
명령어라기보단느 키 뒤에 위치하여 상태를 제어합니다.
가장 간단한 누르고 있거나 때는 동작을 보여줍니다.
DOWN : 키보드를 누르고 있는다.
UP : 눌렀던 키보드를 땐다.
아래의 예시는 a를 1000 ㎳ 동안 누르고 있다가 때는 것입니다.
그런데 키를 누르고 있어도 연속으로 aaaaaa... 으로 입력되지 않습니다.
그건 물리적인 우리가 사용하는 키보드의 기능이기 때문입니다.
그리고 한영키에 따라서 한글로 들어갈 수도 있습니다.
Send {a down}
Sleep, 1000
Send, {a up}
Down을 눌렀다가 UP으로 해지하지 않으면 큰 오류가 날수도 있습니다.
꼭 DOWN을 썻으면 UP으로 정리하는 버릇을 들여야겠습니다.
4. 자주 사용하는 특수키들
가장 자주 쓰는 특수키를 모았습니다.
일반키들은 키보드가 입력되지만 특수키들은 그냥 특수키로 실행됩니다.
예를 들어 Send, {abc} → abc를 입력하지만, Send, {enter} → 키보드의 enter키를 누른 것과 같습니다.
- {F1~F24} : 키보드의 F1~F24, 우리 키보드에는 보통 F12까지 있죠.
- {Enter} : 키보드의 Enter
- {Escape} or {Esc} : 키보드의 ESC
- {Space} : 키보드의 스페이스, 빈칸이 있어도 스페이스가 됨
- {Tab} : 키보드의 Tap
- {Backspace} or {BS} : 키보드의 백스페이스
- {Delete} or {Del} : 키보드의 Delete 키
- {Control} or {Ctrl} : 키보드의 Ctrl 키
- {LControl} or {LCtrl} / {RControl} or {RCtrl} : 왼쪽 Ctrl 키와 오른쪽 Ctrl 키
- {Alt} : 키보드의 Alt 키
- {LAlt} / {RAlt} : 왼쪽 Alt 키와 오른쪽 Alt 키
- {LWin} / {RWin} : 키보드의 왼쪽 오른쪽 WINDOW키
- {UP} {DOWN} {LEFT} {RIGHT} : 키보드의 방향키 ↑ ↓ ← → 키
예시를 들어보겠습니다.
5개의 글자를 선택해서 복사하고 아래에 붙여 넣는 기능입니다.
이런 간단한 작업도 메크로로 짜려면 약간 주눅이 듭니다.(중간에 시간을 1초씩 넣다보니 느리네요)
하지만 한번 짜두면 계속 쓸 수 있는게 메크로의 장점이니 반복된 작업에 사용할 수 있습니다.
F2:: Send, {shift down}
Sleep, 1000
Send, {right 5}
Sleep, 1000
Send, {shift up}
Sleep, 1000
Send, {ctrl down}
Sleep, 1000
Send, {c}
Sleep, 1000
Send, {right}
sleep, 1000
Send, {enter 2}
Sleep, 1000
Send, {v}
Send, {ctrl up}
msgbox, 끝났습니다.
return
5. 그외 특수키들
위에 자주쓰는걸 보셨으면 예상이 되겠지만 키보드에 있는 명칭을 거의 그대로 사용합니다.
어려울 것 전혀 없고 많기만 하지만 쭈욱 적어 내려가 볼테니 사용하실 꺼면 참고하세요.
- {Insert} or {Ins} : 키보드의 Insert 키
- {End} : 키보드의 End 키
- {PgUp} / {PgDn} : 키보드의 Page up과 Page down 키
- {CapsLock} : 키보드의 Caps Lock
- {ScrollLock} : 키보드의 ScrollLock
- {NumLock} : 키보드의 NumLock
- {Numpad0} - {Numpad9} : 숫자패드의 숫자들
- {NumpadDot} : 숫자패드의 .(점)
- {NumpadEnter} : 숫자패드의 Enter
- {NumpadMult} : 숫자패드의 * (곱하기)
- {NumpadDiv} : 숫자패드의 / (나누기)
- {NumpadAdd} : 숫자패드의 + (더하기)
- {NumpadSub} : 숫자패드의 - (빼기)
- {NumpadDel} : 숫자패드의 Del
- {NumpadIns} : 숫자패드의 ins
- {NumpadClear} : 숫자패드의 Clear키
- {NumpadUp} {NumpadDown} {NumpadLeft} {NumpadRight} : 숫자 패드의 ↑ ↓ ← → 키
- {NumpadHome} : 숫자패드의 Home 키
- {NumpadEnd} : 숫자패드의 End
- {NumpadPgUp} {NumpadPgDn} : 숫자패드의 Page up과 Page Down
숫자패드 키는 키보드마다 구성이 약간씩 다르지만 이경우 모두 들어갑니다.
프로그램이나 상황에 따라 본 키보드와 숫자패드가 구별되는 상황에서 쓰시면 됩니다.