ホットキー
キーボードの特定のキー(の組み合わせ)を押したときに、それに応じて何かの処理を実行させる機能です。
例えば
- FirefoxでCtrl+Homeを押したらすべてのタブを閉じる
- 右Altキーを無効にする
- Shift+Backspace を Delete にする
などができます。
概要と例
ホットキーの機能は、何かを実行するためのショートカットキーとして利用することができます。
#n:: Run, Notepad return
キーボード操作の直後に::を書くと、それ以降の処理をキーボード操作をきっかけに実行することができます。
#は Windowsキー を意味します。#n::で「Winキーを押しながらNキーを押すと、returnまでの処理を実行する」ことを意味します。
Runは、外部プログラムを実行するコマンドです。
今回は「Winキーを押しながらNキーを押すとメモ帳を起動する」というプログラムができました。
実行する処理が1行で書ける場合は、
#n::Run, Notepad
のように全体を1行で書くこともできます。
修飾キーを示す文字を並べて書くことでCtrl+Shift+Sのようなホットキーも記述できます。修飾子の順番は考慮されないので自由な順で問題ありません。
^!s:: Send, よろしくお願いいたします。{Enter}---{Enter}佐藤一郎 ; この行ではアクティブウインドウに文字を入力します。 return
これを実行して、メモ帳やメーラーなどの入力欄でCtrl+Shift+Sを押すと
よろしくお願いいたします。 --- 佐藤一郎
と入力されます。
修飾キー
# | Winキー |
! | Altキー |
^ | Ctrlキー |
+ | Shiftキー |
& | 複数キーを同時に押す場合に使います。後述。 |
< | 左右2つある修飾キーのうち、左側を明示的に指定したい場合に使います。 例えば、<!a は、左Altを押しながらAを押すことを表します。 |
> | 左右2つある修飾キーのうち、右側を明示的に指定したい場合に使います。 |
<^>! | 海外のキーボードにあるAltGrキーを表します。 日本語キーボード(JISキーボード)や、一般的な英語キーボード(USキーボード)には存在しません。 |
* | 複数の修飾キーを表すワイルドカードです。 |
~ | 元のホットキーの機能をそのままに、他の機能を追加します。 |
$ | キーボードフックを強制します。 |
Up | キーボードのキーを離すときに反応します。 以下の例では、左Winを左Ctrlに置き換えます。 *LWin::Send, {LControl Down} *LWin Up::Send, {LControl Up} 「Up」は通常のホットキーにタイしても使えます。 ^!r Up::MsgBox, Ctrl+Alt+R が押されて離されました。 これは & を使ったキーの同時押しでも使えます。 F1 & e Up:: |
条件付きホットキー
#IfWinActive/Exist や #If を使うことで、特定の条件下のみで実行されるホットキーが設定できます。
#IfWinActive, ahk_class Notepad ; ここ以降はメモ帳がアクティブなときのみのホットキー ; メモ帳がアクティブでないときの Ctrl-A は通常の機能のままになります。 ^a::MsgBox, メモ帳がアクティブな状態で Ctrl-A が押されました。 #c::MsgBox, メモ帳がアクティブな状態で Win-C が押されました。 #IfWinActive ; ここ以降は条件無しのホットキー #c::MsgBox, メモ帳がアクティブでない状態で Win-C が押されました。
カスタム修飾キー と その他の機能
CtrlやShiftなどの修飾キーではなく、通常のキーを修飾キーのように使って、「Aを押しながらBを押したらこの機能」といったホットキーを実現することができます。
Numpad0 & Numpad1::MsgBox, Numpad0 が押されている間に Numpad1 が押されました。 Numpad0 & Numpad2::Run, Notepad.exe ; Note
上の例では、Numpad0(テンキーの0)を押しながら別のキーを押す操作をホットキーとしています。
公開日:
最終更新日:2016/07/13