AutoHotKey(오토핫키) 설명서 Hotkeys
Hotkeys
hot key는 「::
」(코론2개)(을)를 따른 써브루틴 라벨로 해서 기술된다.
hot key가 입력되면 해당 라벨의 다음의 행에 처리가 옮겨, 최초로return인가exit하지만 실행될 때까지가 처리된다.
#y:: WinActivate, Untitled - Notepad return
hot key에 할당하는 동작이1커멘드 뿐이라면, 「::」(코론2개)의 직후에 커멘드를 기술하는 것으로,1행으로 끝마칠 수 있다.return(은)는 불요.
#y::WinActivate, Untitled - Notepad
(비고) 프로그램은의사 multi-thread(이)가 되어 있다.
hot key 이벤트의 실행 도중에, 다른 hot key 이벤트가 실행되는 일도 가능.
수식 심볼
이하의 기호로 수식 키등을 지정할 수 있다.
복수의 심볼을 동시에 지정할 때는, 「!+」(와)과 같이 사이에 아무것도 열지 않고 연속해 기술한다.
+ | Shift |
^ | Control |
! | Alt |
# | Win (미논) |
< | 왼쪽의 모디파이아키를 사용(NT계 전용) 례: <!a:: 좌Alt+A
|
> | 오른쪽의 모디파이아키를 사용(NT계 전용) 례: >+<^a:: 좌Ctrl+우Shift+A
|
<^>! | AltGr(일부의 나라의 키보드 레이아웃에 존재) |
* | 임의의 수식 키를 나타내는 와일드 카드(NT계 전용) 례1: *a:: Ctrl/Alt/Shift/Win상태에 관계없이,A키가 밀리면 발동례2: *+a:: Ctrl/Alt/Win상태에 관계없이,Shift키가 밀린 상태로A키가 밀리면 발동 |
~ | 이벤트를 빼앗지 않고, 그대로 시스템에 통한다.(NT계 전용) 례: ~*a::SoundPlay,D:\AutoHotkey\typesound.wav A키가 밀렸을 때에 사운드를 울린다.(비고)Alt+Tab대체계 커멘드하지만 할당할 수 있었을 경우, 이 지정에 관계없이 입력은 납치된다. |
$ | RegisterHotkey()(이)가 아니고, 강제적으로 키보드 훅으로 이벤트를 취득한다.(NT계 전용) 써브루틴내에서 그 hot key 자신을 송신하는 경우,RegisterHotkey()그럼 hot key 이벤트가 재귀적으로 불려 가 버린다. #UseHook 지령을 사용하면,$(을)를 생략 할 수 있다.
|
사용할 수 있는 키명에 대해서는,Key List(을)를 참조
키 라벨의 사양
hot key 라벨은 통상의 라벨과 같이Gosub(이)나Goto그리고 이동할 수도 있다.
또, 아래 예의 같게, 복수의 hot key에 같은 써브루틴을 할당하는 일도 가능.
~*a:: ~*b:: ~*c:: SoundPlay,D:\AutoHotkey\typesound.wav return
키의 무효화
동작으로서return문장만을 할당하면, 키를 무효화할 수도 있다.
RWIN::return
hot key를 스크립트의 실행중에 등록하거나 무효화/유효화하거나 하려면 ,Hotkey커멘드를 사용한다.
NT계 전용의 기능
Uphot key
키명의 뒤에 반각 스페이스에 이어 「Up」라고 붙이면, 키를 놓았을 때에 발동하는 hot key를 설정할 수 있다.(례:「a up」 「LShift up」)
Up없음의 hot key와 함께 설정하는 일도 가능.
Up없음의 hot key를 설정하고 있지 않는 경우에서도, 눌러 인하 이벤트는 납치된다.
예를 들어, 「a up::Send b」라고 하면,A키를 눌러 내렸을 때에는 아무것도 일어나지 않게 된다.
「~a::return」(을)를 모두 설정해 두면,A키가 눌러 내릴 수 있었을 때에는 보통으로A키가 밀렸을 때의 동작을 하게 된다.
밀어 올려 이벤트는, 「~」의 유무에 관계없이, 납치되지 않고 시스템에 통지된다.
예를 들어, 「LShift Up::return」(와)과 같이 해도,LShift키를 떼어 놓을 수 없게 할 수 없다.
콤비네이션 키
「&
」(을)를 사용하는 것으로,2개의 임의의 키(죠이스틱 이외)의 편성을 hot key로 지정하는 것이 가능.
3개이상의 키를 지정하거나+^!#
그리고 수식 키를 추가하거나는 할 수 없다.
첫째로 지정한 키가 수식 키가 되어, 첫째의 키를 누르면서 둘째의 키를 누르면 발동한다.
첫째의 키를 누르고, hot key를 발동시키지 않고 떼어 놓으면, 첫째의 키 단독에 할당할 수 있었던 써브루틴이 실행된다.
첫째의 키 자체의 원래의 기능은 무효화된다.
Numpad0 & Numpad1::AltTab Numpad0 & Numpad2::ShiftAltTab Numpad0::Run, calc.exe
첫째의 키에 치르다(~)(을)를 붙이면, 그 키는 무효화되지 않고, 보통으로 입력된다.
하나에 붙여 두면, 첫째의 키가 같을 다른 hot key에서는 지정되어 있지 않아도, 그 키는 무효화되지 않게 된다.
~RButton & LButton::MsgBox,오른쪽 클릭하면서 왼쪽 클릭했다 RButton & WheelUp::MsgBox,오른쪽 클릭하면서 휠을 위에 돌렸다
상기예에서는, 오른쪽 클릭하면서 왼쪽 클릭하거나 휠을 위에 돌리거나 한다고 메세지가 나오지만, 오른쪽 클릭은 보통으로 액티브 윈도우에 보내진다
AltTab/ShiftAltTab/AltTabMenu/AltTabAndMenu/AltTabMenuDismiss
이러한 커멘드는, hot key에 직접 할당하는 것 마셔 가능한 특별한 커멘드.
보통으로 「Send,!{Tab}
」라고 하면, 써브루틴이 끝날 때 마다Alt+Tab의 화면이 사라져 버려, 온전히 동작하지 않지만,AltTab/ShiftAltTab(을)를 할당하면, 수식 키를 떼어 놓을 때까지 화면이 사라지지 않게 된다.
또,AltTabMenu
(을)를 사용하면,Alt+Tab화면의 표시의 유무를 교체된다.
AltTabAndMenu그리고 강제적으로 표시,AltTabMenuDismiss그리고 표시되고 있으면 소거라고 하는 동작도 할당할 수 있다.
또,Esc키가 밀리면, 선택된 윈도우로 전환하지 않고 표시를 종료할 수 있다.
수식 키가 없는 단독 키에AltTab/ShiftAltTab(을)를 할당했을 경우, 그대로는 아무것도 일어나지 않고,AltTabMenu
그리고Alt+Tab의 화면을 표시하고 있는 동안만, 변환 조작을 할당할 수 있다.
덧붙여 수식 키는 좌우 어느 쪽인지를 지정해야 한다.「<+a
」(와)과 같이 수식 심볼을 사용하는지, 「LShift & a
」(와)과 같이 콤비네이션 키로 지정한다.
LAlt & WheelDown::AltTab LAlt & WheelUp::ShiftAltTab
Alt+휠로 윈도우 변환
MButton::AltTabMenu WheelDown::AltTab WheelUp::ShiftAltTab
중앙 클릭으로 변환 화면을 표시해, 휠로 선택, 다시 중앙 클릭하면 변환 화면이 사라져 전환이 실행된다.
Lock계 키의ON/OFF
SetNumlockState등의 커멘드로,NumLock키등의ON/OFF상태를 고정할 수 있다.
SetNumlockState, AlwaysOn
Windows표준 hot key
Win+E(이)나Win+R등의Windows표준 hot key도 동작을 덧쓰기하거나 무효화하거나 할 수 있다.
자세한 것은override page참조
숫자 패드와NumLock
숫자 패드의 각 키는NumLock상태에 의해서2대로의 hot key를 할당할 수 있다.
NumLock상태에 관계없이1개의 동작을 할당하고 싶은 경우는, 다음과 같이 한다.
NumpadEnd:: Numpad1:: MsgBox, This hotkey is launched regardless of whether Numlock is on. return
Input커멘드
Input커멘드로 일련의 키스트로크(keystroke)를 받는 것으로,2스트로크 키나 단축 입력등의 기능을 실현할 수 있다.
^c:: Input,InputChar,C I L1 T2,{Esc},x,s if ErrorLevel=Match { if InputChar=x Send,!{F4} if InputChar=s Send,^s } return
'AutoHotKey' 카테고리의 다른 글
AutoHotKey(오토핫키) 설명서 KeyList (0) | 2014.08.13 |
---|---|
AutoHotKey(오토핫키) 설명서 Hotstrings (0) | 2014.08.13 |
AutoHotKey(오토핫키) 설명서 Function (1) | 2014.08.13 |
AutoHotKey(오토핫키) 설명서 Expression (0) | 2014.08.13 |
AutoHotKey(오토핫키) 설명서 Example (0) | 2014.08.13 |