キーを表す文字について

AutoHotkey との違い」の説明の方にも書こうと思っていた事ですが、
AutoHotkey のキーの指定方法についていくつかここで説明しておこうと思います。

ショートカットキーは
CtrlAltShift のキーを組み合わせて使うものなので、

Ctrl + Alt + Shift +
といった形が本来よく見る記述です。

ですが AutoHotkey では

Ctrl ^
Alt !
Shift +

で表し、

Ctrl+Alt+Shift+a^!+a
という表記になります。

AHKのキーの指定

AHK でキーを設定する場合、普通はホットキーラベルを使って設定します。

^!+a::
    [実行する処理]
    return

基本的にはこのような記述のものを使います。
ホットキーラベルと言われているもので、
キーを設定するためのサブルーチンに近いものです。

この TextRunRun では、サブルーチンを自由な名前で作れないので
ホットキーラベルを作ることはできません。

補足

このホームページでは、ラベルと言われているものは
全てサブルーチンという名で呼んでいます。

HotkeyAHKコマンドは使用できる

Hotkey という AHKコマンド があります。

AutoHotkey はこちらを使ってもキーの設定ができるようになっています。

TextRunRun では、こちらの方は使えるので、それを使っての設定は出来ます。

[ 書式 ]

Hotkey, KeyName [, Label, Options]

キーの一覧のウインドウの常時使用のキー

この TextRunRun では キーの一覧のウインドウの
常時使用 のタブの部分にあるものが同じショートカットキーを意味します。

こちらの 新規登録 ボタンを押して登録する方法のほうが、
常時使用 のタブ内のリストに表示されるためこちらを使って設定する事を薦めます。

Hotkey を使用してキーを設定しても、 常時使用 のタブ内のリストには表示されません。

キーの登録用 のウインドウで設定する時に分かると思いますが、
キー名は基本的には
^!+a
の形式で指定する事になります。

ただし、 Ctrl+Alt+Shift+A
の形式でも指定できるようにしています。

後、スクリプトから登録したい場合は
&hotkeyAllGroundNewFromCommand
の規定のコマンドがあります。

SendAHKコマンドについて

AHK のキーの指定の仕方についての事に話を戻します。

Send といった AHKコマンド もキーを指定して使います。

こちらも、ショートカットキーは
^!+a
という表記になります。

さて、少し間際らしい事なのですが

Send でキーを指定する場合、
一文字のキーではなく、単語のキーを指定する場合は
{ } で囲む必要があります。

  • {Home}
  • {End}
  • {Tab}
  • {Esc}
  • {Space}
  • {BackSpace}

ショートカットキーも指定するなら、
Send ,  ^+{Home} などの記述になります。

ただ、{ } で囲むのは、基本的には
SendAHKコマンド の場合だけだと思います。

{ }を使う場合と使わない場合

ホットキーラベル
または
HotkeyAHKコマンド
を指定する場合は
{ } で囲まずに指定するようです。

Hotkey,  ^+Home , [サブルーチン名]

Send などで指定する形式のように、
キーの部分を { } で囲んだ場合はうまく登録できません。

TextRunRun上のキーの登録時では

TextRunRun上のキーの登録の場合も
HotkeyAHKコマンド を使っている関係上、同じ仕様になります。

キー名 の部分は、 { } を付けず、
^+Home
などの形式で指定してください。

&hotkeyAllGroundNewFromCommand
などを使った場合も、キーの指定部分はその形式になります。