このブログで唯一人様の役に立っていそうなこちらの記事。
たくさん見ていただけてはいるのですが、実際にAHKに移行したという話を聞かないのがちょっと寂しいところで。慣れてしまえばG HUBより何倍も使いやすいのですが、一見とっつきにくいのは認めざるを得ません…
そこで、この際G HUBにある設定を全部AHKで書き換えたものを作ってしまおうと思った次第であります。
目次
注意事項
脳死でコピペして使っていただけるようにはしますが、AHKの最低限のルールを少しだけ。
- 基本的に、::(コロン×2)を設定したいキーと入力したいものとで挟む
- ;(セミコロン)より後ろはコメントになる
- 2行以上の場合は最後にReturnが必要
キー
G HUBの割り当て欄に対応して書いて行きます。F13の部分を変えて使ってやってください。
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 ; Ctlr
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}をしてください。
コマンド
複数のキーを同時押しする動作です。並べて書くだけで良さそうなものですが、大きな違いが3つあります。
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 ; タブを閉じる
Navigation
F13::Send,!{Right} ; 進む
F13::Send,!{Left} ; 戻る
Productivity
F13::Send,!{F4} ; アプリを閉じる
F13::Send,^+{Esc} ; タスクマネージャー
F13::Send,!{Esc} ; ウィンドウの切り替え
F13::Send,!{Tab} ; ウィンドウのリスト
F13::Send,^{Esc} ; スタートメニューを開く
【小休止】違い探し
キーのときと違うところがあるのがわかったでしょうか?
^ ! + # Send { }
この3つですね。解説しますが多分混乱すると思うので、システムまで飛ばしてください。コピペでどうしようもなくなったらまた来てください。
^ ! + #
下の4つは特殊なキーでして、Ctrl WやAlt Tのように2つ以上のキーを押したいとき、以下のように置き換えないといけません。
Ctrl | ^(キャレット) |
Alt | ! |
Shift | + |
Winキー | #(ハッシュ) |
Send
キーを入力します。一見するとこれいる?と思っちゃいますが、結構大きな違いがあります。
- 下の例のように何個も重ねられる
- キーを長押ししようと、一回押した入力しかしない
- その代わり、キーの状態を細かく指定できる
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いらない
これを書くとますます混乱を招きそうで書くの迷ったんですが、細かい動作を無視すれば
F13::!Del
F13::Send,!{Del}
両方とも問題なく動くはずです。しかし、ソフトによってはなんでか上手く動いてくれないので安牌をとって今回は全部Sendを使っています。
反応が早すぎてF13と入力されちゃうのかな~なんて考えはするんですが、まあ動くからヨシ!
システム
起動アプリケーション
F13::run, Notepad.exe ; メモ帳を起動
F13::run, Notepad.exe,,max ; メモ帳を最大化して起動。(minで最小化)
F13::run, Designer.exe,C:\Program Files\Affinity\Designer ; パスを指定してAfffinityDesigner起動
マウス
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キーの誤爆を防いだりすることもできますね。
参考になるおすすめサイト
まとめ「やっぱ難しいかも」
AHK簡単だよーんという結末へ向かっていたのですが、本当に理解しようと思うとやっぱりそれなりに勉強がいりますね。
wikiやブログを漁り、バグを知らせるポップアップと格闘し続けるのはいらいらすることもありますが、一度乗りこなせるようになれば素晴らしい愛車になるはず!頑張ろう!