モニタの入力ソースを切り替える macOS のアプリを書いた

Dell U4025QW で入力ソースを Mac のキーボードで切り替えたい (KVM) - daily dayflower の続きの話。

現時点で BetterDisplay で "次の入力ソース" を実現することは困難だが、 DDC を直接さわることで、現在の VCP 0x60 (Input Source) の状態を取得し、それとは異なる Input Source を指定することで実現できそうである。時間ができたらそのようなツールをつくってみようと思う。

と書いたが、年末ということで時間もあるので CLI コマンドをつくってみた。

github.com

入力ソースを指定して切り替えるだけであれば、前回記事でも紹介した m1ddcAppleSiliconDDC (こちらは自分でバイナリをビルドする必要がある) を利用すればいい。

ただ、個人的に、入力ソースを順次切り替える機能がほしかった (これによりすべての PC で同じ設定をすればよくなる) ので、AppleSiliconDDC を利用して自分で書いた (実際にコードを書いたのは Claude Code だが)。

Homebrew でインストールすることができる。

brew install dayflower/tap/dispsel

Thunderbolt と DisiplayPort の間で順次切り替えたい場合は

dispsel switch next dp,thunderbolt

のように実行すればよい。

その他インストール方法や使い方についてくわしくは上記の GitHub ページを参照のこと。

キーボードで切り替えたかったのでは?

もともとの希望としてはキーボードで入力ソースを切り替えたかったはずなのに、ただの CLI コマンドではないかと思う人もいると思う。

最近はこういう "キーボードショートカットでなにかをしたい" 場合は、ショートカットキーを自分でハンドリングするのではなく、機能自体を実装した (CLI) コマンドを作成し、 Raycast から実行するようにするようにしている。

なので dispsel には Raycast 用のサンプルスクリプトも添付している。

github.com

注意

DDC/CI を経由して直接モニターを操作しているため、最悪の場合、モニターの故障の原因となりうる。自己責任で利用されたい。