董卓 发表于 2025-6-26 15:47

同一套外设谁看得出在摸鱼!纯软件KVM的实现——鼠标侧键触发+ddc切显+HID api切键鼠

本帖最后由 董卓 于 2025-6-26 19:41 编辑

前文:
【键鼠解决】https://stage1st.com/2b/thread-2160511-1-1.html
【显示器ddc在macos上的未解决】https://stage1st.com/2b/thread-2169981-1-1.html

本文:【俺从macos换windows啦!所以都可以解决,试试效果】

【思路】
简单说就是 ——
用ControlMyMonitor.exe实现DDC切换显示器输入,用hidapitester.exe控制切换logi鼠标键盘输入;用logi Options,设定鼠标按键触发切换。
https://www.nirsoft.net/utils/control_my_monitor.html
https://github.com/marcelhoffs/input-switcher

【效果】挺不错,大约5~6秒,实现双机之间的显示器和输入设备互切

用的垃圾Lenovo办公显示器——理论上支持DDC的显示器,都能支持切换
鼠标键盘用的MX Anywhere 3和MX Keys——理论上支持连接多台设备的鼠标键盘、且支持HID api的,都能够支持。

在鼠标侧键上设置切换、比设置键盘功能切换,鼠标侧键感觉更好用

【最终需求实现】实现了同一个办公显示器、同一套键鼠,可以在内网办公机、和外网摸鱼机之间的快速切换。


脚本类似:

switch_to_1.bat
.\ControlMyMonitor.exe /SetValue "\\.\DISPLAY2\Monitor0" 60 15
.\ControlMyMonitor.exe /SetValue "\\.\DISPLAY1\Monitor0" 60 15

rem Switch MX Keys to other Device
.\hidapitester.exe --vidpid 046D:C52B --usage 0x0001 --usagePage 0xFF00 --open --length 7 --send-output 0x10,0x04,0x09,0x1e,0x00,0x00,0x00

rem Switch MX Anywhere to other Device
.\hidapitester.exe --vidpid 046D:C52B --usage 0x0001 --usagePage 0xFF00 --open --length 7 --send-output 0x10,0x03,0x0a,0x1b,0x00,0x00,0x00


为了不弹框,还需要一个vbs(注意logi Options默认不支持vbs执行类型,但是可以通过选择所有文件类型后支持vbs执行)
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run Chr(34) & "switch_to_1.bat" & Chr(34), 0
Set WshShell = Nothing
页: [1]
查看完整版本: 同一套外设谁看得出在摸鱼!纯软件KVM的实现——鼠标侧键触发+ddc切显+HID api切键鼠