キーボードショートカットでSafariのPiPを有効にする(サードパーティアプリ不要)

SafariのPiP(ピクチャインピクチャ)にはデフォルトではキーボードショートカットが存在しないのでmacOSに付属する「ショートカット」アプリを利用したPiPのキーボードショートカットの設定方法を解説する。

まずはキーボードショートカットの下地となる管理人が作成したショートカット(Safari PiP)をダウンロードして頂きたい。

上記リンクは前述の通り管理人が作成しアップロードしたものであり、悪意のあるものでは決してないため安心してほしい。

元々このショートカットはiPad向けのギャラリーで配布されていたものだが、macOSでもいくつかの手順を踏めば利用できる。

本記事ではこのショートカットの作り方も一から解説するが、まずは上記ショートカットを利用したPiPのキーボードショートカットの設定方法から説明する。

「ショートカット」を利用したPiPキーボードショートカット設定手順

1. ショートカットをダウンロードしてショートカットアプリに追加

まず先ほどのリンク、またはこちらから「Safari PiP」ショートカットをダウンロードしてショートカットアプリに追加する。

なお、ショートカットアプリに「Safari PiP」を追加したらサイドバーの項目の「クイックアクション」にも「Safari PiP」が追加されていることを確認しよう。

もし「クイックアクション」にSafari PiPが自動で追加されなかった場合はSafari PiPを「クイックアクション」の項目にドラッグし手動で追加して上記画像のようにしよう。

2. ショートカットアプリの設定でスクリプトの実行を許可する

続いて「ショートカット」アプリのメニューバーから設定を開く。

「詳細」タブに移動し「スクリプトの実行を許可」にチェックを入れる。

3. Safariの開発者メニューを有効にしてApple EventからのJavaScriptの実行を許可する

続いてSafariの設定を開く。

設定を開いたら「詳細」タブに移動し「メニューバーに開発メニューを表示」にチェックを入れる。

次にSafariのメニューバーの「開発」をクリック。

メニューの下の方にある「Apple EventからのJavaScriptを許可」をクリックする。

上記ダイアログが出るが「許可」をクリック。

続いて上記ダイアログが出るが管理者パスワードを入力するかTouch IDやApple Watchで認証し「OK」をクリックする。

4. システム設定のキーボードショートカットからショートカットを設定する

次にmacOSのシステム設定を開き「キーボード」の項目を開く。

右のペインにある「キーボードショートカット」をクリック。

キーボードショートカットのウィンドウが開いたら左のサイドバーから「サービス」を選択し、右のリストから「ショートカット」を展開すると先ほどクイックアクションに追加した「Safari PiP」というショートカットが表示されるはずなので、あとは「Safari PiP」のショートカットをダブルクリックして好きなキーボードショートカットを設定する。

ここではSafariの他のショートカットと被らないようにShift+Command+9のキーボードショートカットを設定している。

なお、注意点としてmacOSのサービスメニューにはバグがあり、上記「サービス」のリスト内に「ショートカット」の項目が表示されないことがある。管理人のサブマシンでもこのバグが発生したが、このバグが発生した場合はどんなアプリケーションでもいいのでメニューバーから直接「Safari PiP」のサービスを実行したり「Safari PiP」以外のショートカットをクイックアクションに追加するといったことを何回もやると正常に表示されるようになる。

「サービス」のリストに「ショートカット」が表示されないバグが発生したら、どんなアプリでもいいのでメニューバーの「サービス」からショートカットを実行してみる

5. 設定したショートカットでPiPが有効になれば完了

無事にショートカットが設定できたら実際にYouTubeなどで動画を再生して設定したキーボードショートカットを実行してみよう。

マウスを使わずともキーボードでPiPを有効にできるようになった

上記画像のようキーボードショートカットでPiPが有効化されれば完了だ。

なお、当然ではあるが動画が再生されているタブでないとキーボードショートカットを実行してもエラーが出る。

Safari PiPショートカットの作り方

続いてはショートカットの作り方に興味がある人向けにSafari PiPの作り方を紹介する。

なお、ショートカットを作る前に事前に前述の方法でショートカットアプリの設定で「スクリプトの実行を許可」にチェックし、Safariも開発メニューから「Apple EventからのJavaScriptの実行を許可」にチェックを入れておこう。

1. 新規ショートカットを作成してアクションを追加

まずはショートカットアプリを起動しウィンドウ上部の「+」アイコンをクリックして新規ショートカットの作成ウィンドウを開こう。

続いて検索フィールドに「Safari」などと入れて「アクティブになっているSafariのタブでJavaScriptを実行」のアクションを左の空欄にドラッグして追加する。

2. デフォルトのJavaScriptを消去しPiP用のJavaScriptを貼り付ける

アクションを追加すると既にボックス内にJavaScriptが貼り付けられている状態になっているはずだ。

このJavaScriptは不要なため、全て消してボックスを空欄にして以下のPiP用のJavaScriptを貼り付ける。

スクリプト
var videos = document.getElementsByTagName("video");
if (videos) {
  var video = videos[0];
  video.webkitSetPresentationMode(video.webkitPresentationMode === "picture-in-picture" ? "inline" : "picture-in-picture");
}

completion({"success": true});

JavaScriptを貼り付けて上記画像のようになればOKだ。

貼り付けたら念の為YouTubeなどの動画を開いている状態でウィンドウ上部の再生ボタンをクリックし、スクリプトが有効に働くかチェックしておこう。

3. ショートカットに名前を付けて完了

スクリプトを実行してエラーが出なければウィンドウ上部のテキスト欄からショートカットに名前をつけよう。

以上でショートカットの作成は完了なのでショートカット作成ウィンドウは閉じてしまって構わない。

あとは本記事前半で解説した方法でキーボードショートカットを設定して完了だ。

まとめ

SafariのPiPをキーボードショートカットで有効化するには他にもBetterTouchToolなどのサードパーティアプリを使う方法もあるが、手間はかかるもののmacOS標準のショートカットを利用した方がリソースの節約になるし、トラブルも少ないためおすすめだ。