去年末に買ったKTCのM27P6というディスプレイがかなりコスパがよくて気に入っているのだが、今のところ唯一といっていい不満が入力切替のめんどくささだ。
ディスプレイが対応している入力はUSB Type-CとDisplayPortが1つずつと、HDMIが2つ。これにMacとWindowsとSwitch2を繋いでいるので、けっこう頻繁に入力切替を行う。しかしM27P6にはリモコンがなく、入力切替を行うのは背面にあるジョイスティックしかない。上方向に押してモードに入ったあと選択するので、最低でも3アクション必要になる。だいぶめんどくさい。
最近のディスプレイはDDC/CI (Display Data Channel Command Interface)サポートがあり、ディスプレイと繋がっているPCのほうからいろいろと制御できるようになっているものが多い。仕様上はM27P6もDDC/CIサポートがあるので、これを使って解決できないかと試してみた。
ControlMyMonitor
DDC/CIのサポート状況を確認するためにControlMyMonitorを使ってみた。今使っているファームウェア (JPN 1.0.5)だ。
入力切替はVCPコード 60なのだが、M27P6は入力切替の自動モードがオフになっていると、60番が隠されてスキャンに出ない。自動モードがオンになると60番のInput Selectが見えるようになった。
しかし60番のCurrent Valueはどう切り替えても0のままで、入力モードごとの値を取得できなかった。これはファームウェアのバグなのか意図的に固定しているのかわからない。
お手上げかと思いつつGeminiに聞いたところ、たいてい16あたりの値を使っているから無理やりSetValueしてみたらどうか?という返答だったので試してみたら大当たりだった。
- 15 - Type-C
- 16 - DisplayPort
- 17 - HDMI2
- 18 - HDMI1
という対応になっており、ControlMyMonitorから無理やり値を書き込めば反応して入力切替ができた。自動モードはオフでも問題なかった。
信号なしが残るバグ
入力信号がないときにそのモードに切り替えると当然何も表示されないが、そのあと信号がある別のモードに切り替えても「信号なし」の判定がリセットされず、”Power saving”で消えてしまう。この状態になったら手でジョイスティック操作して入力切替するしかなさそうだ。先にPCやゲーム機を起動して信号を送っている状態であれば問題なく動作する。
この情報がインターネットのどこにもなかったので今後もしM27P6の入力切替をDDC/CI経由でやりたい人の役に立つことを祈る。
とりあえずWindowsから切り替えるのはバッチファイルを書いてワンクリックになった。しかしPCに依存せず卓上で簡単に切り替えられるようにしたいので、余ってるHDMI2にRaspberryPiをつないでスイッチャーを作ってみようと思っている。