【AutoHotKey】中クリック&ホイール回転でページ高速移動
この記事では、キーに別の機能を割り当てるソフト「AutoHotkey」を使って、中クリック+ホイール回転に、ブラウザのページ高速移動(Ctrl+Home&Ctrl+End)を割り当てる方法について書きます。
結構、応用がきく便利なコードだと思います。
AutoHotKeyを使うことで、中クリック+ホイール上下回転に、何かしらの機能を割り当てることができます。
本記事では、ブラウザ上で動作するCtrl+Home(ページの最上部に移動)&Ctrl+End(ページの最下部に移動)をはじめとしたいくつかを紹介します。以下のとおりです。
- 最上部に移動(Ctrl+Home)、最下部に移動(Ctrl+End)
- 右のタブに移動(Ctrl+Tab)、左のタブに移動(Ctrl+Shift+Tab)
- クリップボード履歴起動(Windows+V)
ページの最上部、最下部を割り当てると、ブラウザ上で、長い記事を見終えた後に、わざわざマウスホイールくるくるしなくても、素早くページトップに戻ることが可能です。
タブ切り替えを割り当てることで、マウスクリックしなくても、素早くブラウザの左右のタブをアクティブにできます。
中クリックとホイール回転の組み合わせが、今まで発想になかった方、ぜひ参考にしてみてください。単純に使える機能が2つ(上回転、下回転)増えるので、PC作業を効率化できると思います。中クリックは、マウスホイールを押し込むことです。
中クリックではなく、左クリック、右クリック、修飾キーなどにセットすることもできます。
本記事は、AutoHotKeyを利用します。まだインストールしていない方は、下記のアコーディオンを展開してみてください。
以下のサイトからダウンロードできます。
「Download」をクリックします。
「Download Current Version」をクリックします。
ダウンロードが完了したら、起動します。
「Express Installation」をクリックします。
すぐインストールが終わるので、「Exit」をクリックします。
インストールは完了です。
より詳しくは、下記記事を参考にしてみてください。
中クリック+ホイール回転に割り当てる手順
デスクトップ、またはフォルダー内の空いているところを右クリック→新規作成→Autohotkey Scriptをクリックします。既に作成している方は、そちらに追記という形で書き込んでもOKです。
専用の拡張子「.ahk」ファイルが作成されるので、好きな名前を決めます。日本語でも英語でもOKです。
右クリック→「プログラムから開く」から、好きなエディターソフトを選択します。特にこだわりがない方は、Windows標準搭載のメモ帳でOKです。
新規作成したAutoHotKeyファイル内には、既に数行の英文が書かれています。消しても消さなくても正常に動作します。とりあえず、残しておいていいかなと思います。
改行して、その下にコードを書いていきます。書き込むコードは、自分が使いたい機能にします。本記事では、いくつか紹介します。
ページの最上部、最下部へ移動の割り当て
中クリック+ホイール回転で、ページの最上部に移動(Ctrl+Home)、ページの最下部(Ctrl+End)に移動のショートカットキーです。
;中クリック+ホイール回転で、ページ最上部、最下部移動
~MButton & WheelUp::Send,^{Home}
~MButton & WheelDown::Send,^{End}
Return
書き込めたら、ファイル→上書き保存をクリックします。下記画像は、Visual Studio Codeです。
保存できたら、メモ帳は閉じてOKです。作成したファイルをダブルクリック、または右クリック→Run Scriptをクリックして実行します。
タスクトレイにAutoHotKeyアイコンが表示されている間、有効になっています。終了したい時は、アイコンを右クリック→Exitをクリックします。
ショートカットアイコンを作成してスタートアップに登録することも可能です。(詳しくはこちら)
これで、以下のような動作が可能になります。ChromeやEdgeなどのブラウザ上が一番確実かなと思います。そもそも、Ctrl+Home系が使えないソフトでは意味がありません。
中クリック+ホイール上回転 | ページ最上部に移動(Ctrl+Home) |
中クリック+ホイール下回転 | ページ最下部に移動(Ctrl+End) |
実際に使ってみた動画を貼っておきます。長い記事などで便利です。
僕の環境だと、Edgeの場合、中クリック+ホイール回転で動作しませんでした。中クリックの代わりに、Altを割り当てると、うまく動作しました。
タブ切り替え(Ctrl+Tab)の割り当て
ページの最上部、最下部移動ではなく、タブの切り替えを割り当てたい場合は、以下のコードになります。
;中クリック+ホイール回転で、タブ切り替え(Ctrl+Tab、Ctrl+Shift+Tab)
#If WinActive("ahk_class Chrome_WidgetWin_1") || WinActive("ahk_class MozillaWindowClass")
~MButton & WheelDown::^Tab
~MButton & WheelUp::^+Tab
Return
#If
簡単な意味を書いておきます。
WinActive(“ahk_class Chrome_WidgetWin_1") | Chromiumベース(Chrome、Edge、Vivaldiなど)のブラウザがアクティブな時に発動 |
WinActive(“ahk_class MozillaWindowClass") | Firefoxベースのブラウザがアクティブな時に発動 |
~MButton & WheelDown::^Tab | 中クリック+ホイール下回転で、次のタブに移動(Ctrl+Tab) |
~MButton & WheelUp::^+Tab | 中クリック+ホイール上回転で、前のタブに移動(Ctrl+Shift+Tab) |
GIF画像を貼っておきます。離れたタブを行き来するには不便ですが、隣接するタブに移動したい時は使えます。タブをクリックしなくても、サクっと切り替えられます。
最上部・最下部へ移動系との併用はできません。キーを変えたら併用できます。例えば、最上部・最下部移動は中クリック+ホイール回転、タブ切り替えは、左クリック+ホイール回転といった感じです。
;中クリック+ホイール回転で、ページ最上部、最下部移動
~MButton & WheelUp::Send,^{Home}
~MButton & WheelDown::Send,^{End}
Return
;左クリック+ホイール回転で、タブ切り替え(Ctrl+Tab、Ctrl+Shift+Tab)
#If WinActive("ahk_class Chrome_WidgetWin_1") || WinActive("ahk_class MozillaWindowClass")
~LButton & WheelDown::^Tab
~LButton & WheelUp::^+Tab
Return
#If
クリップボード履歴(Windows+V)の割り当て
Windowsのクリップボード履歴呼び出しも汎用性が高いと思います。中クリック+下回転に割り当ててみます。
;中クリック+ホイール下回転に、クリップボード履歴(Windows+V)
~MButton & WheelDown::Send,#v
Return
素早くクリップボード履歴を起動して、過去にコピーしたテキストを貼り付けられます。中クリック+ホイール下回転だけしか使わないので、上回転には、別の機能を割り当てられます。
中クリック以外に割り当てたい場合
僕は、CLaunchというアプリランチャーソフトの起動を、中クリックに割り当てています。よって、別の機能を「中クリック」に割り当てることができません。
同じような方のために、いくつかのパターンを紹介しておきます。自分が使いたいのをコピペしてみてください。複数使うことも可能です。キーボード(左手)を使ってもいいなら、修飾キー(Alt、Shiftなど)との組み合わせがいいかなと思います。
組み合わせ次第で、本記事で紹介した3つの機能(移動、切り替え、クリップボード履歴)を全部使うことができます。
左クリック+ホイール回転
;左クリック+ホイール回転
~LButton & WheelUp::Send,^{Home}
~LButton & WheelDown::Send,^{End}
Return
右クリック+ホイール回転
;右クリック+ホイール回転
~RButton & WheelUp::Send,^{Home}
~RButton & WheelDown::Send,^{End}
Return
Alt+ホイール回転
;Alt+ホイール回転
!WheelUp::Send,^{Home}
!WheelDown::Send,^{End}
Return
Shift+ホイール回転
;Shift+ホイール回転
+WheelUp::Send,^{Home}
+WheelDown::Send,^{End}
Return
特定のウィンドウだけで適用させたい場合
特定のウィンドウだけで適用したい場合は、下記コードを参考にしてみてください。特定のウィンドウを指定することで、用途を絞ることができます。
例えば、Chromeではタブ切り替え、Firefoxではページの最上部・最下部に移動といったように、自分が使うソフト・ウィンドウに応じて、別々のキーを割り当てられます。
;特定のウィンドウに絞るサンプルコード
SetTitleMatchMode, 2
#If WinActive("Chrome")
~MButton & WheelUp::Send,^{Home}
~MButton & WheelDown::Send,^{End}
Return
#If
「SetTitleMatchMode, 2」は、中間一致でタイトルをマッチさせるという意味です。完璧に理解しなくても、とりあえず書き込んでおけばOKです。
上記コードにあるWinActiveの「Chrome」という部分を、適用したいウィンドウタイトル名にします。Twitter上で使いたいなら、「X(旧Twitter)」、Firefoxなら「Firefox」です。小文字・大文字は、区別しないと動作しないので注意です。
ウィンドウ名は、一部でOKです。調べ方が分からないという方は、以下のアコーディオンを展開してみてください。
適当にAutoHotKeyファイルを実行して、タスクトレイにあるアイコンを右クリック→「Window Spy」をクリックすると起動できます。
あるいは、エクスプローラーを開いて、AutoHotKeyのインストール場所を開きます。デフォルトでは以下の場所に保存されています。
C:\Program Files\AutoHotkey
AutoHotKeyフォルダー内の「WindowSpy.ahk」をダブルクリックします。これで同じように起動できます。
頻繁に使う方は、右クリック→「ショートカットの作成」で、デスクトップなどの好きな場所に配置しておくといいかもしれません。
「Window Spy」ウィンドウを起動できたら、名前を調べたいウィンドウをクリックします。
Window Spy内に、ウィンドウの情報が表示されます。重要なのは、上から数行です。
以下のような構成になっています。それぞれマウスで範囲選択できるので、打ち間違えないように、コピペするのがおすすめです。
新しいタブ – Google Chrome | ウィンドウタイトル |
ahk_class Chrome_WidgetWin_1 | ウィンドウのクラス名 |
ahk_exe chrome.exe | ウィンドウのプロセス名 |
ahk_pid 23448 | ウィンドウのプロセスID名 |
基本的には、タイトル名、プロセス名の2つで、思い通りの動作にできると思います。
例えば、Chromeブラウザ上で、F1キーを無効化したい場合は、以下のようになります。Chromeだけ無効化して、Edgeなどでは無効にしません。
#If WinActive("ahk_exe chrome.exe")
F1::Return
#If
1つだけでなく、複数ウィンドウを指定したい場合は、下記記事を参考にしてみてください。ちょっと難易度があがりますが、可能です。
感想
以上、AutoHotkeyで中クリック+ホイール回転に、ブラウザの最上部・最下部に移動コードをはじめとした色々な機能を割り当てる方法でした。
本記事は、読者様から教えていただきました。感謝です。「僕はこんなAutoHotKeyの使い方をしているよ!ナポリタン寿司に自慢してやりてぇ!」みたいなのがありましたら、問い合わせより、ご連絡ください。自慢大歓迎です。