G HUBからAHKへの書換辞典

G HUB・Logicool Gaming Softwareから脱却しませんか?

こちらの記事は、たくさんの方に読んでいただけているのですが、実際に AHK に移行したという話はあまり聞かないのが少し寂しいところです。

慣れてしまえば G HUB より何倍も使いやすいのですが、直感的な UI があるわけではないので、一見とっつきにくいのは認めざるを得ません。

そこで、G HUB にあるような設定を AHK でどう書くか、対応一覧を作成しました。

AHKの最低限の記法について

  • 基本は 設定したいキー::入力したいもの の形で書く。
  • ; より後ろはコメントになる。
  • 2行以上の処理を書く場合は、最後に Return が必要。

キー

G HUB の 割り当て 欄に近いものです。

F13::a          ; a ~ z(大文字小文字区別なし)
F13::1          ; 数字
F13::vkBC       ; ,(カンマ)
F13::vkBB       ; ;(セミコロン)
F13::vkBA       ; :(コロン)
F13::-          ; -(ハイフン)
F13::.          ; .(ドット)
F13::[          ; [
F13::@          ; @
F13::/          ; /(スラッシュ)
F13::^          ; ^
F13::Alt        ; Alt
F13::BS         ; バックスペース
F13::CapsLock   ; CapsLock
F13::Ctrl       ; Ctrl
F13::Del        ; Delete
F13::End        ; End
F13::Enter      ; Enter
F13::Esc        ; Esc
F13::F1         ; F1 ~ F24
F13::Home       ; Home
F13::Ins        ; Insert
F13::LWin       ; Windows
F13::NumLock    ; NumLock
F13::Numpad0    ; テンキー上の0 ~ 9
F13::NumpadDot  ; 同じようにNumpadの後 Div,Mult,Add,Sub Enterでテンキー上の /,*,+,-,Enter
F13::PgUp       ; PageUp
F13::PgDn       ; PageDown
F13::Pause      ; Pause
F13::ScrollLock ; ScrollLock
F13::Shift      ; Shift
F13::Space      ; Space
F13::Tab        ; Tab
F13::vkF3       ; 半角/全角切り替え
F13::Left       ; 同じように Right, Up, Downで矢印キーの←,→,↑,↓

うまく動かないときは、次のコマンドと同じように F13::Send,{Del} の形で書いてください。

コマンド

複数のキーを同時押しする動作です。

Windows

F13::Send,#m         ; ウィンドウの最小化
F13::Send,#r         ; ファイル名を指定して実行
F13::Send,#.         ; 絵文字パネルを開く
F13::Send,#g         ; ゲームバーを開く
F13::Send,#i         ; 設定を開く
F13::Send,#l         ; 画面をロック
F13::Send,#k         ; デバイスを探す
F13::Send,#b         ; 隠れているインジケータにフォーカス
F13::Send,#s         ; 検索ウィンドウを開く
F13::Send,#x         ; システムメニューを開く
F13::Send,#d         ; デスクトップを隠す/見せる
F13::Send,#e         ; ファイルエクスプローラーを開く
F13::Send,#{Tab}     ; タスクビューを開く
F13::Send,#u         ; 簡単操作の設定を開く
F13::Send,#t         ; タスクバーのボタンに順にフォーカス
F13::Send,#a         ; アクションセンターを開く
F13::Send,#^{Enter}  ; ナレーターを起動する
F13::Send,#{^}       ; 拡大鏡を開く

編集

F13::Send,^s        ; 保存
F13::Send,^z        ; 戻る
F13::Send,^y        ; やり直す
F13::Send,^c        ; コピー
F13::Send,^v        ; ペースト
F13::Send,^n        ; 新規作成
F13::Send,^o        ; 開く
F13::Send,^x        ; 切り取り
F13::Send,^a        ; 全選択
F13::Send,^{^}      ; ズームイン
F13::Send,^0        ; ズームリセット
F13::Send,^-        ; ズームアウト
F13::Send,^t        ; 新しいタブ
F13::Send,^w        ; タブを閉じる

ナビゲーション

F13::Send,!{Right}  ; 進む
F13::Send,!{Left}   ; 戻る

操作

F13::Send,!{F4}     ; アプリを閉じる
F13::Send,^+{Esc}   ; タスクマネージャー
F13::Send,!{Esc}    ; ウィンドウの切り替え
F13::Send,!{Tab}    ; ウィンドウのリスト
F13::Send,^{Esc}    ; スタートメニューを開く

特殊なキー

キー のときと違うところがあるのがわかったでしょうか?

^!+#Send{ } が出てきます。

少しややこしいので、コピペで使うだけなら システム まで飛ばして大丈夫です。

^ ! + #

下の4つは修飾キーです。

Ctrl + WAlt + T のように2つ以上のキーを押したいときは、以下のように置き換えます。

Ctrl ^(キャレット)
Alt !
Shift +
Winキー #(ハッシュ)

修飾キー

Send

キーを入力します。

一見すると「これいる?」と思いますが、違いがあります。

  • 下の例のように何個も重ねられる。
  • キーを長押ししても、1回押した入力として扱える。
  • キーを押す・離すなどの状態を細かく指定できる。
F13::
    Send,^a
    Send,{s 3}       ; sを3回押す
    Send,{Del Down}  ; Deleteを押しっぱなしにする
    Send,{LButton}   ; 左クリックする
    Send,{Del Up}    ; Deleteを離す
 Return

{ }

謎の中括弧です。これは Send とセットでよく出てきます。

Send では、キー入力ではなく 文字入力 として扱われる場合があります。

F13::Send,Del        ; F13を押してみると"Del"と文字が入力される
F13::Send,{Del}      ; Deleteキーを押したいなら{ }が必要

Del という文字列と Delete キーを区別するために { } が必要なんですね。

他のキーも同じです。心配なら wiki を確認すると確実です。

実はSendいらない

ややこしいのですが、細かい動作を無視すれば、以下の2つは同じ挙動をします。

F13::!Del
F13::Send,!{Del}

ただ、ソフトによってはなんでか上手く動いてくれないため、ここでは安牌をとって Send を使っています。

システム

起動アプリケーション

F13::run, Notepad.exe       ; メモ帳を起動
F13::run, Notepad.exe,,max  ; メモ帳を最大化して起動。(minで最小化)
F13::run, Designer.exe,C:\Program Files\Affinity\Designer  ; パスを指定してAffinity Designerを起動

マウス

F13::LButton    ; 左ボタン
F13::RButton    ; 右ボタン
F13::MButton    ; 中ボタン
F13::Click 2    ; ダブルクリック
F13::WheelUp    ; スクロールアップ
F13::WheelDown  ; スクロールダウン
F13::WheelLeft  ; 左へスクロール
F13::WheelRight ; 右へスクロール
; DPI系はチョット難しいのでカット

編集

F13::Send,^c  ; コピー
F13::Send,^v  ; 貼り付け
F13::Send,^x  ; 切り取り
F13::Send,^z  ; 元に戻す
F13::Send,^y  ; やり直し
F13::Send,#l  ; 画面をロック

メディア

F13::Send,{MEDIA_PLAY_PAUSE} ; 再生/一時停止
F13::Send,{MEDIA_STOP}       ; 停止
F13::Send,{VOLUME_UP}        ; 音量を上げる
F13::Send,{VOLUME_DOWN}      ; 音量を下げる
F13::Send,{MEDIA_NEXT}       ; 次のトラック
F13::Send,{MEDIA_PREV}       ; 前のトラック
F13::Send,{VOLUME_MUTE}      ; ミュート

マクロ

いくつか例を書きますが、氷山の一角です。

AHK はかなり色々できるので、慣れてきたらぜひ調べてみてください。

Loop / Sleep

{ }内の動作を繰り返す / 遅延を追加する

F13::
    Loop, 10      ; 以下を10回繰りかえす
    {
        Send, ^+{F9}
        Sleep, 500    ; 0.5秒遅延を入れる
        Send, {Left}
    }
Return

左クリック連打

F13を押している間、左クリックが連打されます。

F13::
    Loop
    {
        If GetKeyState("F13", "P"){   ; F13は設定するキーと同じものにしてください
            MouseClick, Left
            Sleep, 30                 ; 数字を小さくすると連打が速くなります
        }
    }
Return

Return

他ボタンマウスでは使わないキーが出てくるかもしれません。そんなときは以下のようにするとなにもしなくなります。

F24::Return

#::Return とすると、 Winキー の誤爆を防いだりすることもできますね。

参考になるおすすめサイト