我是如何为我的两台4k显示器构建键盘/视频/鼠标开关的

2020-09-03 09:22:27

我喜欢我的两台大高清显示器。我爱我的键盘和鼠标。我把它们连接到我固定的“主”电脑上,或者连接到其他几台Windows和Mac笔记本电脑上。我想轻松地切换这些外围设备所连接的位置,这是KVM交换机的传统角色。

不幸的是,对我来说,支持4K/60 hz分辨率的KVM切换器售价数百美元,没有支持USB-C的KVM切换器,也找不到支持多个高分辨率显示器的KVM切换器。

因此,我决定实施硬件/软件混合解决方案:我的显示器(实际上是现在的所有显示器)都有多个输入,这样我就可以同时连接我所有的计算机。这个想法是:

为了切换USB设备,我从亚马逊订购了这台USB 3.0双电脑交换机,售价38加元,不到30美元。

连接配置的设备时,使用DDC/CI向所有连接的监视器发送命令以切换输入。

如果电源管理关闭了视频输出,请再次打开(否则监视器将自动切换回实际提供视频输出的输入)。

我需要在Windows和Mac上实现这一点,而对USB低级控制、热插拔、DDC/CI和显示器电源管理的成熟跨平台支持是不存在的。我最终实现了这两次:一次是在Swift中,针对MacOS,第二次是在Rust中,针对Windows。

令人惊奇的是,这真的很好用:当我按下usb开关上的按钮时,显示器输入瞬间就会改变,感觉就像一个“真正的”kvm开关!🎉