ミケガモのブログ

AutoHotkeyの導入 ~KeySwapとの併用~

キーバインド設定のためにAutoHotkeyを導入した。KeySwapの拡張として、同時押しで1つのキー入力などの少し高度な設定をするのが目的。今の所複雑なプログラムを書く予定はない。

日本語化はされていないがその機能性から広く普及しているようで、wikiをはじめとした解説サイトが非常に充実している。が、初めて導入する人にソフトの概要を簡潔にまとめたサイトが見当たらず苦心したのでここにメモしておく。私のようにとりあえずキーバインドの設定だけできれば良いという人を想定して書いている。


概要

AutoHotkey本体は、.ahkスクリプトを実行するための常駐型ソフトウェアである。インストールした時点でソフトのスタートアップ設定が完了する。

.ahkファイルにはホットキーの設定を記述する。例えば、

a::send,{b}

は、「aキーを押すとbが入力される」というスクリプトである。

.ahkファイルをダブルクリックすると、ファイル内のスクリプトがPC電源を切るまで半永久的に実行される。

インストーラーでインストールすることにより、

  • .ahkファイルとの自動関連付け
  • 右クリックメニューに「新規作成 > AutoHotkey Script」を追加。任意の場所で.ahkファイルを簡単に作成可能

といった機能が導入される。

実践

キー設定を常駐させるまでの手順は2ステップ。

  1. 「新規作成 > AutoHotkey Script」で、設定したいキーバインドの.ahkスクリプトを作成・保存する。
  2. .ahkファイルのショートカットリンクを作成し、スタートアップフォルダに移動する。

PC起動中はAutoHotkeyがタスクトレイに常駐している。右クリックから「Suspend Hotkey」を選ぶと、一時的にキーバインドを解除できる。

スクリプトは検索すればテンプレートがいくつも出てくるので、それを少し改良すれば簡単に自分の求めるものが作れるはず。↓のサイトの(2)鉄則を覚えよう!は非常に大事。 ch.nicovideo.jp

機能の限界・KeySwapとの併用

どうせなら今まで使っていたKeySwapの設定をAutoHotkeyに一元化しようと思ったのだが、AutoHotkeyCapsLock, NumLockなどのロックキーや、半角/全角キーを出力に設定することができない(できるかもしれないが動作を安定させるのが困難だと思われる)ため、結局両者を併用することにした。現在は以下のように設定している。

  • KeySwap
    • 左CtrlとCapsLockキーの入れ替え。
    • 無変換キーを半角/全角キーに。
    • 変換キーを左Shiftに。
  • AutoHotkey
    • Insertキーをシフトキーと同時に押したときのみ動作させる。
    • NumLockキーを"="に設定。

AutoHotkeyスクリプト

+Ins::send,{Ins}
Ins::return
Numlock::send,+-