ホットキー (Hotkeys)

ホットキーとは、キーの押下によりスクリプトを起動する機能です。

ホットキーの定義

#n::
  Run, Notepad.exe
return

実行する処理が1行だけならば、

#n::Run, Notepad.exe

のように、returnを省いて記述できます。

ホットキーのラベルに、大文字/小文字の区別はありません。

ホットキーの動的な定義

Hotkeyコマンドを使用することで、スクリプトからホットキーを定義できます。

Hotkey, KeyName [, Label, Options]
Hotkey, IfWinActive/Exist [, WinTitle, WinText]
Hotkey, If, Expression
Hotkey

マウス (Mouse)

マウスのホットキーは、Windows NT/2000/XP以降でのみ機能します。

キー ラベル
ボタン LButton
中央 MButton
RButton
ホイール WheelUp
WheelDown
拡張ボタン※1 戻る XButton1
進む XButton2
※1 Windows 2000/XP以降

キーボード (Keyboard)

文字キーと数字キーは、その文字または数値と同じ名前を指定します。たとえば「a」キーならば「a」とします。

キー ラベル
  スペース Space
タブ Tab
  エンター Enter (Return) ※1
エスケープ Escape (Esc)
  バックスペース Backspace (BS)
デリート Delete (Del) ※4
インサート Insert (Ins) ※4
  ホーム Home ※4
エンド End ※4
  ページアップ PgUp ※4
ページダウン PgDn ※4
  Up
Down
Left
Right
  スクロールロック ScrollLock
キャップスロック※3 CapsLock
ナンバーロック NumLock
  変換 sc079※2
無変換 sc07B
ひらがなカタカナ sc070
  半角/全角 sc029
  英数※3 sc03a
※1 かっこ内の表記でも可
※2 日本語キーボードに特有のラベルは、キーコードで指定します。
※3 英数キーを単独で押した場合が[英数]であり、Shift + 英数のときが[キャップスロック]となります。
※4 テンキーにも同じキーがありますが、ラベルが異なります。

キーコード

日本語キーボードに特有のラベルのコードは、

のいずれかの形式で指定します。仮想キーとスキャンコードはAutoHotKeyのツールで調べられます。Special Keys - List of Keys and Mouse/Joystick Buttons for Hotkeys and Macros

コロンとセミコロン

コロンはホットキーを表す記号として用いるため、

^:::MsgBox, colon

のように指定すると「This line does not contain a recognized action.」としてキーに指定できません。よってこのような場合にはキーコードを用いて、

^sc028::MsgBox, colon

とします。

またセミコロンはコメントを表す記号のため、

;::MsgBox, semicolon

としてもコメントとして無視され機能しません。よってこれもコロン同様に、

sc027::MsgBox, semicolon

とするか、セミコロンをエスケープして

`;::MsgBox, semicolon

とします。Remap colon key: HELP !!! - Ask for Help - AutoHotkey Community

修飾キー (Modifier key)

キー ラベル 文字表記のラベル
Shift + Shift
Ctrl ^ Control (Ctrl)
Alt ! Alt
Win #  
AltGr※1 <^?>!  
※1 AltGrキー AltGr key - Wikipedia, the free encyclopedia

修飾記号 (modifier symbols)

ホットキーの前に記述し、その作用を拡張します。

ラベル 説明 ME以前への対応※1
< 左側の修飾キーを使用する

たとえば<!aとすると、左側のAltキーでのみ動作する

×
> 右側の修飾キーを使用する ×
* 修飾キーの状態を考慮しない

たとえば*^aとすると、Ctrl + aCtrl + Alt + aCtrl + Win + aなどでも動作する

×
~ キー本来の機能をブロックしない ×
$  
UP キーが離されたときに、ホットキーを発動する
※1 ×と表記されているラベルは、Windows 95/98/MEで利用できません。 Table of Hotkey Prefix Symbols (Modifiers) - Hotkeys (Mouse, Joystick and Keyboard Shortcuts)

修飾記号を用いないラベル表記もあります。

キー ラベル 修飾記号での表記
左シフト LShift ^+
右シフト RShift >+
左コントロール LControl (LCtrl) <^
右コントロール RControl (RCtrl) >^
左Alt LAlt <!
右Alt RAlt >!
左Win LWin <#
右Win RWin >#

テンキー (Numeric key)

キー ラベル
Numlock ON Numlock OFF
0 Numpad0 NumpadIns
1 Numpad1 NumpadEnd
2 Numpad2 NumpadDown
3 Numpad3 NumpadPgDn
4 Numpad4 NumpadLeft
5 Numpad5 NumpadClear
6 Numpad6 NumpadRight
7 Numpad7 NumpadHome
8 Numpad8 NumpadUp
9 Numpad9 NumpadPgUp
. NumpadDot NumpadDel
/ NumpadDiv
* NumpadMult
+ NumpadAdd
- NumpadSub
Enter NumpadEnter
※ Numlockの状態によってラベルが異なります。

マルチメディア キー (Multimedia key)

(マルチメディア キーボードの拡張キー)

キー ラベル
ブラウザ 戻る Browser_Back
進む Browser_Forward
更新 Browser_Refresh
停止 Browser_Stop
検索 Browser_Search
お気に入り Browser_Favorite
ホーム Browser_Home
音量 ミュート Volume_Mute
ダウン Volume_Down
アップ Volume_Up
メディアプレーヤーの操作 次へ Media_Next
前へ Media_Prev
停止 Media_Stop
再生/一時停止 Media_Play_Pause
アプリケーションの起動 メール Launch_Mail
メディアプレーヤー Launch_Media
  Launch_App1
  Launch_App2

キーボードのマルチメディア キー

特殊キー (Special key)

キー ラベル
アプリケーションキー AppsKey
プリントスクリーン PrintScreen
ポーズ Pause
ブレーク
※ Pauseと区別されません
Break
Ctrl + ブレーク CtrlBreak
ヘルプキー ※1 Help
スリープキー ※1 Sleep
※1 機能しないことがあります。

カスタム コンビネーション (Custom Combinations)

2つのキーを組み合わせてホットキーにできます。Custom Combinations - Hotkeys (Mouse, Joystick and Keyboard Shortcuts)

Numpad0 & a::MsgBox, TEST
Numpad0 & b::Run, Notepad.exe

ただしリマップを行うときには、

Numpad0 & a::x

のようにはできないため、

Numpad0 & a::Send, x

とします。

ロッカージェスチャ (Rocker gesture)

キーラベルの調査

タスクトレイのAutoHotKeyのアイコンをダブルクリックし、スクリプトのメインウィンドウを開きます。そしてメニューの【View → Key history and script info】を表示させると、そこに直近に入力されたキーのラベルが表示されています。

表示内容は、たとえば次のようなものです。

VK  SC  Type  Up/Dn  Elapsed  Key      Window
----------------------------------------------
41  01E       d      6.24     A
41  01E       u      0.05     A
42  030       d      0.90     B
42  030       u      0.05     B
F3  029       u      2.18     not found
F4  029       d      0.00     not found
09  00F       d      0.30     Tab
09  00F       u      0.06     Tab
F0  03A       d      0.48     not found
A0  02A       d      0.28     LShift
A0  02A       u      0.06     LShift
1D  07B       d      1.03     not found
1D  07B       u      0.03     not found

ここで上記1行目は、

の意味であり、Typeは下表のとおりです。

記号 説明
h Hook Hotkey
s Suppressed (blocked)
i Ignored because it was generated by an AHK script
a Artificial
# Disabled via #IfWinActive/Exist
U Unicode character (SendInput)

Keyにはキーのラベルが表示されますが、日本語キーボードに特有のキーなどは[not found]となります。