Macでショートカットキーにコマンドやスクリプトの実行を割り当てる

Mac OS Xで、ごくたまにショートカットキーに特定のコマンドを割り当てたいということがある。 ただ、OS Xのショートカットキー登録はメニューの機能名で登録する場合が多く、特定のコマンドを実行させるよう指定することはできない。 で、なんか方法あるのかなーと思って調べて見たところ、以下の2パターンがあるようだ。

1. Automatorでシェルスクリプトを書いて登録する場合

MacOS Xでは、操作を自動化できるAutomatorという機能が用意されている。 この機能では、AppleScriptやシェルスクリプトを登録でき、さらに「サービス」としてその自動化した処理を登録できるので、それをショートカットキーとして登録すれば任意のコマンドやスクリプトをショートカットキーに割り当てることができる。

使い方は簡単で、Automatorを開いたら最初に書類の種類を「クイックアクション(Mojaveでサービスから名称が変わったらしい)」を選択。

ワークフロー(自動化する処理の流れ)の編集画面に遷移するので、そこで「ライブラリ」>「ユーティリティ」>「シェルスクリプトを実行」を選択する。

あとは、実行させたいスクリプトの内容(コマンドであれば実行させたい内容を一行だけ記述すればいい)を記述する。 保存したら、あとはシステム環境設定から「キーボード」>「ショートカットキー」>「サービス」よりショートカットキーとしてそのサービスを実行させるようにすればいい。

2. 『iCanHazShortcut』を利用する

Automatorは最初から入っているツールで、基本的な処理はあちらで対応できるのだけど、一部のコマンドについてはうまく動かない事がある(スクリーンロックのコマンドとかがそうだった)。 その場合、『iCanHazShortcut』を利用するとうまくいくかもしれない。

こちらを使うと、システム環境設定で一元管理ができなくなってしまうのが問題だけど、Automatorよりも正常に登録できることが多い印象がある(スクリーンロックのコマンドとかもそ(ry)。 とりあえずどちらかを使えば登録できると思う。