xyk blog

最近は iOS 開発の記事が多めです。

macOS で右クリックメニュー(コンテキストメニュー)をキーボードショートカットで実行する

検証環境:
macOS Monterey 12.5

macOS で右クリックメニュー(コンテキストメニュー)をキーボードショートカットで実行する方法について。
実現する方法はいろいろあると思うが、今回は BetterTouchTool を使うことで簡単にできた。

今回自分がやりたかったことは Chrome ブラウザで閲覧中サイトの日本語翻訳をキーボードショートカットで実行すること。
Chrome 自体には翻訳用のキーボードショートカットは用意されていないので、サイト表示時に右上に表示されるポップアップからクリックするか、右クリックメニューの「日本語に翻訳」をクリックする必要がある。

Chrome 上での右クリックメニュー

BetterTouchTool 設定手順

1) 画面左下の+ボタンからアプリ追加で Chrome を追加する。
2) 画面上部のプルダウンメニューから「キーボードショートカット」を選択する。
3) 画面中央の+ボタンを押す。

4) 画面右上の「ショートカットを記録するには、下記をクリック:」をクリックした後、実際のキーを押して登録する。
今回自分はControl(^) + Aを登録した。
5) 次に「選択したトリガーに最初の操作を割り当てる」+ボタンをクリックする。

6) 画面右上のアクション設定プルダウンメニューから「その他のアプリケーションの制御」->「コンテキストメニュー項目をトリガー」を選択する。

7) 「コンテキストメニュー項目へのコマンドパスを;で区切って入力します。」と書いてある下の入力欄に実行したいメニュー名の文字列を入力する。今回であれば 日本語に翻訳 と入力すればOK。

ここには(1)のように数値によるインデックス指定も可能。さらにネストしたメニューもセミコロン区切りで(1);(2)のように指定可能。
ちなみにコンテキストメニュー数は状況によって変動するのでインデックス指定より文字列指定のほうが確実だろう。
また状況によって表記揺れが発生する場合でもワイルドカード*を使うことで柔軟にマッチさせることもできるようだ。

これでキーボードショートカット登録完了。
Chrome でサイト表示後にControl(^) + Aを押せば翻訳が発動するようになった。