Sal SoghoianがmacOSの隠されたカスタムコントロールパネルを公開

Sal SoghoianがmacOSの隠されたカスタムコントロールパネルを公開

「TipBITS: マルチモニター環境で選択した画面をミラーリングする方法」(2019年10月22日)で、自動化の第一人者 Sal Soghoian 氏が数週間前に MacTech カンファレンスで行った講演を少しだけ紹介しました。Sal 氏は講演内容を詳しく説明したビデオを既に完成させており、ぜひ全編を視聴していただきたいと思います。そこで、MacTech での講演内容をここでご紹介いたします。

要するに、SalはmacOSの奥深くに隠されたアクセシビリティ機能を発見し、その使い方を解説しました。この機能を使うと、iPadをMac用の完全にカスタマイズ可能なコントロールパネルに変えることができます。iPadのボタンをタップするだけで、Mac上で様々な操作が可能になります。SalはmacOS 10.15 Catalinaでこの機能のデモを行いましたが、少なくとも10.14 Mojave、そしておそらくそれ以前のバージョンのmacOSでも動作するはずです。

Mac 上の Keynote を操作する iPad 上のカスタム コントロール パネルの基本ショット

Mac と iPad を接続するには、Luna Display ドングルが必要です (2018 年 12 月 7 日の記事“Luna Display で iPad をレスポンシブな Mac スクリーンに変える”参照)。Apple の Sidecar 技術は、iPad が Mac スクリーンとして動作している時にはタッチ入力ができないため動作しません (2019 年 10 月 21 日の記事“Catalina の Sidecar で iPad を第 2 の Mac モニターに変える”)。Luna Display は iOS 9.1 以降が動作するどの iPad でも動作するので、古い iPad 2 以降を利用するのに最適です。もちろん、Luna Display で接続した iPad 上でコントロールパネルのボタンをタップできるのは単なるおまけで、標準的な Mac スクリーン上でマウスを使ってボタンをクリックすることもできる。

次に重要なピースは、macOSに内蔵されているアクセシビリティアプリ「パネルエディタ」です。これを使うと、カスタムのアクセシビリティキーボードパネルを作成できます。パネルエディタは、「システム環境設定」>「アクセシビリティ」>「キーボード」>「アクセシビリティキーボード」>「パネルエディタ」から開くことができます。ただし、パネルエディタを開く前に、「アクセシビリティキーボードを有効にする」チェックボックス(オンスクリーンキーボードが表示されます)をオンにし、「システム環境設定」>「キーボード」>「キーボード」で「メニューバーにキーボードと絵文字ビューアを表示」をオンにしておいてください。

アクセシビリティキーボードパネルに必要な設定

パネルエディターのボタンで利用可能なアクションこれらすべての設定を有効にしたら、システム環境設定 > アクセシビリティ > キーボード > アクセシビリティキーボード にある「パネルエディタ」ボタンをクリックしてアプリを開き、新しいパネルを作成します。これらのパネルは厳密には「キーボード」ですが、パネルエディタでは様々なアクションを実行できるボタンを作成できます。「戻る」ボタンの作成、ツールバーの表示/非表示、テキストの入力、キーボードのキー操作、アプリの起動、システムイベントのトリガー、入力候補の表示などが可能です。そして、このハックの背後にSalがいるとお伝えした時点で、おそらくお分かりでしょうが、ボタンからAppleScriptを起動することも可能です。

Panel Editor showing example buttons

上の例では、5つのボタンを作成しました(パネルエディタウィンドウの上にもフローティング表示されています)。「iTunesを開く」は「アプリケーションを開く」アクションを使用し、「再生/一時停止」と「ミュート」はシステムイベントアクションを使用し、「デスクトップを識別する」はAppleScriptを実行し、「ボーダーイメージ」は「キーを押す」アクションを介してKeyboard Maestroマクロを呼び出します。そうです、AppleScriptに限定されるわけではありません。Keyboard Maestroに加えて、「アプリケーションを開く」アクションを介してAutomatorワークフローを統合できるはずです。ほぼすべてのアクションをパネルエディタのカスタムボタンにすることができます。

パネルを開くには、アクセシビリティキーボードの右上隅にある「カスタム」ボタンをクリックし、パネルをクリックします。または、歯車アイコンをクリックしてポップアップメニューからパネルを選択することもできます。パネルは他のすべてのウィンドウの上に浮かぶ暗いパネルで、iPadとLuna Displayが提供するセカンドスクリーンなど、好きな場所に移動できます。

Switching to a custom panel in Accessibility Keyboard

(ヒント: Mojave でこの操作を行う場合は、パネルを閉じないでください。パネルを再度開くには、「システム環境設定」>「アクセシビリティ」>「キーボード」>「アクセシビリティ キーボード」>「パネル エディタ」に移動して、「アクセシビリティ キーボードを有効にする」を再度選択する必要があります。Catalina では、メニュー バーのキーボード アイコンから「キーボード ビューアを表示」を選択するだけです。)

私のサンプルパネルにはボタンが数個しかありませんが、Salの動画を見ると、彼がカスタムパネルをiPadの画面いっぱいに表示するほど多くのボタンを作成していることがわかります。その多くはアプリの起動やシステム設定の変更などのための汎用ボタンですが、中央のボタンはすべてKeynoteを制御するスクリプトをトリガーします。Keynoteの自動化に興味がない方もいるかもしれませんが、自動化に興味のある方は、ボタンに割り当てできるアクションの数々を想像してみてください。

An iPad showing a full-screen custom accessibility keyboard panel

Sal がビデオで説明している重要な詳細、たとえば Assistive Control アプリのセキュリティ権限の設定や、AppleScript ライブラリを使用してすべてのスクリプトを保持し、個々のボタンから呼び出す方法などについては簡単に説明しました。

ただし、最後に 2 つの重要な点を指摘しておきます。

  • カスタムパネルは、macOSのバージョン内で他のユーザーと共有できます(Mojave版のパネルエディタでは、Catalina版で保存したパネルを開くことはできません)。つまり、会社独自の操作用のカスタムパネルを開発し、それを社内の全員に配布することが可能です。これを行うには、パネルエディタで「ファイル」>「複製」を選択し、「ファイル」>「移動先」を選択して.ascconfigファイルを保存します。その後、別のMacのパネルエディタにインポートするには、「ファイル」>「パネルをインポート」を選択します。
  • Sal は、カスタム Keynote パネル (Catalina 用) とすべてのスクリプトを含む AppleScript ライブラリの両方を共有しているので、そのまま使用することも、カスタム パネルの構築を開始することもできます。

独自のカスタム パネルを作成することを考えている場合、またその目的は何かについてもコメントでお知らせください。

Idfte
Contributing writer at Idfte. Passionate about sharing knowledge and keeping readers informed.