モニターをソフト的に切り替える方法

モニターをソフト的に切り替える方法 環境構築
モニターをソフト的に切り替える方法

複数台PCを使っていてモニターを共有して使っていると、 「モニターの入力切替を物理ボタンで押すのが面倒」 という瞬間がわりとあります。

実は環境によっては、 ソフトウェアからモニター入力を切り替える ことも可能です。今回は、その方法と注意点をまとめます。

まず前提として知っておきたいこと

結論から言うと、 できるかどうかはモニター次第 です。

ポイントはこの2つです。

  • モニターが DDC/CI に対応しているか
  • OS側に対応ツールがあるか

これを満たしていれば、 物理ボタンを触らずに切り替えられます。


DDC/CIって何?

DDC/CIは、

  • PCから
  • モニター設定を
  • ソフト的に操作する

ための仕組みです。

明るさ調整や入力切替も、 これ経由で操作できます。モニターの設定メニューでDDC/CIが有効 になっている必要があります。

ControlMyMonitor

Windows環境ならかなり定番のツールのようです。

  • DDC/CI対応モニターを検出
  • 入力ソースを数値指定で切替
  • コマンドライン操作も可能

Windows環境で入力切替をソフトウェア側でやるならおそらくこれが一番安定します。

まず、公式サイトからControlMyMonitorをダウンロードしてください。

View and modify the settings of your monitor (VCP Features)
View and modify the settings of your monitor (Also known as VCP Features), like brightness, contrast, sharpness, red/gre...

※ダウンロードリンクはページのずっと下にあります。

解凍して起動するとモニターの設定を取得して表示してくれます。自分の場合、3つのモニターがあるので、モニターごとに表示される値が異なります。

あとは表示された値を参考に、「入力切替」に相当する項目を探します。おそらく大抵は「Input Select」と言う名前の項目で、項目番号は60(16進数)になってるのではないかと思います。

自分の環境でも3枚のモニターいずれも60 Input Selectが入力切替に相当する項目でした。

実際に入力切替を試してみましょう。CurrentValueの値をダブルクリックすると、値を変更できます。この時、モードに割り振られている番号がモニターによって異なるはずです。

例に挙げたモニターでは1,3,17の値がPossibleValueになっているので、それぞれどれかのモードと結びついていると思います。

実際に値を入力しながら切り替えをしたところ、このモニターでは

  • VGA:1
  • D-DVI:3
  • HDMI:17

であることがわかりました。

切り替え用のショートカットを作りましょう。メモ帳などで構いませんので以下のような感じでコマンドを書きます。

ControlMyMonitor.exe /SetValue "\\.\DISPLAY2\Monitor0" 60 17

“\\.\DISPLAY2\Monitor0″の部分がモニター指定、60 17が値の指定です。

切り替えたいモニターのパスは上部のドロップダウンリストから確認できます。

上記のコマンドは「モニター2の入力切替をHDIMに変更する」という意味になります(あくまでも筆者の環境での話です)

これとは別に、以下も用意しました。「モニター2の入力切替をD-DVIに変更する」というコマンドになります。

ControlMyMonitor.exe /SetValue "\\.\DISPLAY2\Monitor0" 60 3

つまりHDIMとD-DVIを行ったり来たりできるようにするわけですね。それぞれBatファイル化します。

batファイルにすることで、batファイルをクリックすると、モニター切り替えが行われます。ソフトウェア側からの切り替えですが、切り替えは物理的に行われるので、いつも通り切り替えにすこしラグがあります。あまりbatファイルをクリックしすぎると不具合になりかねないので注意です。

batファイルはショートカットにしてもタスクバーにピン止めできないので、ショートカットのリンクを以下のように変更して、「ターミナルが起動されるショートカット」にし、そこからbatファイルが実行されるようにすると、タスクバーにピン止めできます。

C:\Windows\System32\cmd.exe /c "D:\controlmymonitor\monitor2_hdmi.bat"

自分はこのようにして、ショートカットに適当なアイコンを設定して、タスクバーにピン止めして、そこから入力切替ができるようにしています。

モニターに手を伸ばさなくても手元でモニターが切り替えられるのはかなり便利です。

惜しむらくは、モニターごと、モードごとにBatファイルを作らないといけない点です。

おそらくBatファイルで設定値を読み込むなどして現在状況を取得すれば条件分岐もできて、1つのbatファイルでトグルも実現できるかもですが、自分はやっていません。やれるかたは挑戦してみても面白いと思います。

どうしても無理な場合

残念ながら、

  • DDC/CI非対応
  • メーカー独自制御
  • 古いモニター

だと、 ソフト切替はできません。

その場合は、

  • KVMスイッチ(パソコン切替機)
  • HDMI切替器
  • PBP / PIP機能

を使う方が現実的です。

正直な感想

ソフトウェアでのモニター入力切替は、

  • できるとめちゃくちゃ便利
  • 環境依存が強い

DDC/CI対応していれば、入力切替以外にもソフトウェア側でモニター設定を変えられるので、たとえば、照度を一気に暗くしたいなどを手元で操作することが可能です。

この手の要望はちょっとニッチですが、DDC/CI対応していて頻繁に入力切替などの設定変更をおこなっているなら一度ソフト切替を試す価値は大きい です。

煩わらしさをかなり軽減できると思いますよ。

コメント

タイトルとURLをコピーしました