AutoHotkeyは、Microsoft Windows上で動作するオープンソースのユーティリティソフトウェア、スクリプト言語です。本記事は、AutoHotkeyの初心者向けに インストールからキーのマッピングを変更する方法までを説明します。
AutoHotkeyとは?
AutoHotkeyは、Microsoft Windows上で動作するユーティリティソフトウェア、スクリプト言語です。このソフトウェアの作者Chris Mallett氏の意向により、非営利団体 The AutoHotkey Foundation の管理のもと、完全無償のオープンソースとして提供されています。AutoHotkeyは、WindowsOS上での様々な複雑な操作を、特定のキー、もしくはキーの組に割り当て簡単に実行できるようにする機能を提供するソフトウェアです。その機能をキーの割り当て変更に用いることができます。
私は、普段MacをRealforce for Macキーボードで利用しています。最近Windowsパソコンを自宅で使う必要がでてきましたが、そのためにキーボードをわざわざ変えたくはありません。使い慣れたRealforce for Macキーボードで作業したいと思っています。しかし、MacキーボードはWindowsキーボードとキー配列が異なり、またキーボードショートカットも異なるため、快適に作業ができません。この不便さを、WindowsOSにおいて、特殊キーのキーマッピング変更によって解消できるのが理想的です。
実は、WindowsOSにおいて、キーマッピングを変更できるツールとしては、Microsoftが提供している ”Keyboard Manager”のほうが有名かもしれません。PowerToysは、Microsoftが提供し、WindowsOSをカスタマイズできるユーティリティソフトウェアの集合体で、 ”Keyboard Manager”は、その中の1つです。しかし、ある種の環境で動作が不安定になることがあります。Keyboard Managerに限っていうと、東プレのキーボード Realforce for Macと極めて相性が悪いのです。Keyboard Managerの稼働中に、急に設定が効かなくなったり、設定変更していないキーでまったく異なるキーが押されたときの動きをすることがあります。アルファベットの”G”とか”K”を押したときに Windowsキーが押されたときの振る舞いをしたのには驚きました。
本記事では、Mac用のキーボード Reaforce for Mac をWindowsOSで利用するときに生じるキー配列の不便さを解消するために、AutoHotkeyでキー配列を変更する方法を説明します。
参考記事)MacでWindowsキーボードを使う!便利なフリーソフト Karabinar-Elementsの設定法
AutoHotkeyのインストール
AutoHotkeyのインストールは簡単です。AutoHotkey の公式サイトから、ダウンロードしてインストールするだけです。2024/6/23現在、2つのバージョンが公開されていますが、左側の新しい v2.0 を利用することをお勧めします。
インストールが完了すると、以下のような ”AutoHotkey Dash”の画面が立ち上がります。
ここからスクリプトの記述、ヘルプファイルの参照、必要に応じて実行形式exeファイルのコンパイルを行います。
AutoHotkeyの利用法
AutoHotkeyの利用法はいたってシンプルです。
- スクリプトの記述
- スクリプトをダブルクリックして実行
- (停止したい場合)タスクマネージャーで “AutoHotkey 64-bit” を探して停止
スクリプトの記述は、”AutoHotkey Dash” の左上 “New script” をクリックします。以下のようなウィンドウがでるので、ファイル名を記入し(ここでは”test” )、”Create”ボタンをクリックします。
スクリプトファイルは、\document\AutoHotkey 以下に、”(ファイル名).ahk ” (ここでは “test.ahk” )という名前で保存されます。拡張子は .ahk ですが、中身はテキストファイルなので、メモ帳など 好きなテキストエディターで編集できます。
このファイルにスクリプトを記述し、保存したあと、ダブルクリックすれば、なにもメッセージが出ずに、黙ってスクリプトがアクティブになります。実行中かどうかは、タスクマネージャーのアプリで、”AutoHotkey 64-bit” (Windows11の場合)があるかどうかでわかります。
停止したい場合には、右クリックして”タスクの終了(E)”を選ぶだけです。停止しない場合には、バックグラウンドプロセスで動いている可能性がありますので、そちらの”AutoHotkey 64-bit” も停止します。
スクリプトの記述
さて、初心者にとって AutoHotkeyが とっつきにくく、抵抗感を感じるのは、マニュアルがすべて英語であることと、スクリプトを書かなければならない点でしょう。サンプルコードも詳細かつ丁寧に書かれていますが、すべて英語では読み進めるのにかなり抵抗を感じます。 (以下の例は、Run Example Code)
しかし、キーのマッピングを変更するだけでしたら、文法は極めて簡単です。
識別子”::” を間に挟み、左側に変更前のキー、右側に変更後のキーを略号で記述するだけです。例えば以下のような感じです。
LWin::Alt
”LWin”は、 Left Windowsキー を示し、”Alt” は Altキー を示します。
このスクリプトをダブルクリックして実行すると、「左のWindowsキーを、Altキーに変える」ことになります。
key name の略号一覧は、Helpの”Usage and Syntax” –> “List of Keys” に書かれています。
以下に 今回利用するものを抜き出しておきます。
Hotkey (スクリプトに記述する略号) | 意味 |
LAlt | 左Altキー |
LWin | 左Windowsキー |
LCtrl | 左Ctrlキー |
CapsLock | CapsLock (注:Windows IMEの仕様で認識がおかしくなることがあるため注意が必要) CapsLock and IME 参照 |
Realforce for MacキーボードでAutoHotkeyを利用する
さて、今回 Realforce for Mac をWindowsOSで利用するときに使用した、AutoHotkeyの設定は以下になります。
#SingleInstance
LWin::Alt
LAlt::LCtrl
LCtrl::LWin
ご存じの方もいるとおもいますが、MacとWindowsではよく利用される操作でのショートカットキーの割り当てが異なっています。
ショートカット | Macの場合 | Windowsの場合 |
アプリの切り替え | Command + TAB | Alt + TAB |
コピー | Command + C | Ctrl + C |
スクリーンショット(切り取り) | Command + Shift + 4 | Windows + Shift + S |
Macの場合には、多くのショートカットが”Command”キーとの組み合わせで対応できるのに比べ、WindowsOSでは、操作によってAlt、Ctrl、Windowsキーとの組み合わせとなり、バラバラです。この違いがMacにWindowsキーボードを割り当てたり、WindowsでMacキーボードを割り当てたりするときの、操作性の不便さを生み出しています。
Macの便利さに慣れた身からすると、なぜWindowsではショートカットごとにAlt、Ctrl、Windowsキーと別々のキーを割り当てるのだろう?と疑問に思ってしまいます。長年Windowsだけに慣れている人にとっては、あまり疑問を感じずに無意識に行っている操作なので苦にならないと思いますが。このあたりが、MacとWindowsのOSの基本思想の違いなのでしょう。
さて話が脱線しましたが、Realforce for MacでのAutoHotkeyの設定に戻ります。
Macのショートカットに慣れていると、Commandキー(Windowsキーに相当)、もしくはその近くで、できるだけ操作を完結したくなります。
アプリの切り替え(Windowsでは、Alt +Tab)と テキスト操作(Windowsでは、Ctrl+C/V/Xなど)は、よく使う機能なので Commnadキーに割り当てたいですが、Windowsでは同じキーには割り当てられません。仕方がないので、CommandキーをAltキーに、となりのAltキーをCtrlキーに割り当てます。
Windowsキーはほとんど使うことがありませんが、スクショをとるときに必要になるため、Shiftキーのすぐ上のCtrlキーに割り当てます。
これで、Macの操作性にできるだけ近い形で、WindowsOSの操作ができるようになります。