1台のディスプレイに複数台のPCを接続していると、入力切り替えが意外と面倒です。
私はBenQのモニターに
- Mac mini
- Windows PC
- ノートPC
の3台を接続しています。
これまではディスプレイ本体のボタンを押して、
「メニュー → 入力切替 → HDMI1」
のように切り替えていました。
そこで、Macから直接入力切り替えを実行できるようにしてみました。
結果として、デスクトップ上のボタンをクリックするだけで入力切替ができるようになり、かなり快適になりました。
私のデスク環境

上段のBenQディスプレイを3台のPCで共有しています。
- DP : Mac mini
- HDMI1 : ノートPC
- HDMI2 : Windows PC
普段はMac miniをメインで使っており、下段のモバイルディスプレイをメインで、上段のディスプレイをサブで使っています。ただ、仕事中はノートPCへ切り替えることも多く、入力切替操作がそこそこ頻繁に発生していました。ボタン操作が煩わしいのと、ボタンがそのうち壊れるんじゃないかという心配で、夜しか眠れない状態でした。
dispselで入力切替を実行する
BenQのモニターはDDC/CIに対応していました。
DDC/CIとは?
PCからディスプレイを制御するための規格です。 DDC/CIに対応しているモニターなら、明るさ調整や入力切り替えをソフトウェアから実行できます。
メーカー純正ツールがないか探したものの見つからず、調べているうちに以下の記事を見つけました。
dayflowerさんのブログ:
https://dayflower.hatenablog.com/entry/2025/12/30/221141
dispselを使うと、コマンドラインからディスプレイの入力切替ができます。
dispselのインストール
dispselはHomebrewでインストールできます。
brew install dayflower/tap/dispsel
Homebrewが未インストールの場合は、先にHomebrew公式サイトからインストールしてください。
インストール後、以下のコマンドでバージョンが表示されれば成功です。
dispsel --version
なお、動作にはmacOS 13.0以降が必要です。
コマンドで入力切り替え
例えばDPへ切り替える場合は以下のようになります。
- まず
dispsel listで接続しているディスプレイの情報を取得 今回はDisplay #2の入力切り替えをします。
% dispsel list
[Display #1]
uuid: XXXXXXXX-XXXX-XXXX-XXXX-111111111111
manufacturer id: HSJ
product name: U13NA
serial number:
connection: DP -> DP
current input: unknown (0x00)
[Display #2]
uuid: XXXXXXXX-XXXX-XXXX-XXXX-222222222222
manufacturer id: BNQ
product name: BenQ EL2870U
serial number: XXXXXXXXXXX
connection: DP -> DP
current input: displayport1 (0x0f)
- コマンドで切り替え DPに切り替える場合
dispsel switch dp -d 'uuid=XXXXXXXX-XXXX-XXXX-XXXX-222222222222'
HDMI1やHDMI2の場合は、dpの部分をhdmi1もしくはhdmi2のようにします。
Automatorでボタン化する
毎回ターミナルから実行するのは面倒なので、Automatorでアプリ化しました。
デスクトップには以下の3つのボタンを配置しています。

- DP
- HDMI1
- HDMI2
クリックするだけで切り替えられます。
DP
export PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
dispsel switch dp -d 'uuid=XXXXXXXX-XXXX-XXXX-XXXX-222222222222'
HDMI1
export PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
dispsel switch hdmi1 -d 'uuid=XXXXXXXX-XXXX-XXXX-XXXX-222222222222'
HDMI2
export PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
dispsel switch hdmi2 -d 'uuid=XXXXXXXX-XXXX-XXXX-XXXX-222222222222'
Automatorの作り方
- アプリから
Automatorを開きます。 - 新規書類を選択します
- ワークフローを選択します。

シェルスクリプトを実行を右ウィンドウにドラッグ&ドロップして、先ほどのコマンドを記述します。
- 念の為に右上の
実行ボタンをクリックして、正常に実行できるか確認して保存です。
あとは、作成されたアイコンをダブルクリックすればいつでも入力切り替えが可能!
問題発生。DP切替後に画面が映らない
便利になったと思ったのですが、ここで問題が発生しました。
DPに切り替えた際、Mac miniの画面が正常に表示されないことがありました。
色々試した結果、
「リフレッシュレートを変更すると正常表示される」
ことが判明しました。
displayplacerで自動復旧する
そこで displayplacer を利用しました。
displayplacer のGitHubリポジトリ:
https://github.com/jakehilborn/displayplacer
DPへ切り替えた後、
50Hz → 60Hz
と変更することで、正常表示されるようになりました。
DP切り替えの最終的なスクリプトは以下です。
export PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/homebrew/bin
dispsel switch dp -d 'uuid=XXXXXXXX-XXXX-XXXX-XXXX-222222222222'
displayplacer "id:XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX res:2304x1440 hz:60 color_depth:8 enabled:true scaling:on origin:(0,0) degree:0" "id:XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX res:2560x1440 hz:50 color_depth:8 enabled:true scaling:on origin:(-124,-1440) degree:0"
sleep 1
displayplacer "id:XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX res:2304x1440 hz:60 color_depth:8 enabled:true scaling:on origin:(0,0) degree:0" "id:XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX res:2560x1440 hz:60 color_depth:8 enabled:true scaling:on origin:(-124,-1440) degree:0"
まとめ
dispselとAutomatorを使うことで、ディスプレイの入力切替をワンクリック化できました。
私の場合はdisplayplacerも併用していますが、入力切替のストレスは大きく減りました。
ディスプレイの物理ボタンを頻繁に押す必要もなくなり、普段の作業がかなり快適になっています。
なお、本記事の内容を試したことによる機器トラブル等については責任を負えません。自己責任で実施してください。


