Mac Windows 共用显示器

DELL S2721QS
ddcctl [v0]
Karabiner-Elements [14.3.0]
barrier [2.4.0-release-3e0d758b]

首先将 HDMI1、HDMI2 与 Mac、Windows 相连

Mac 作为主力机

  1. 安装命令行控制显示器工具 ddcctlbrew install ddcctl ,更多介绍:ddcctl
  2. 安装键盘按键自定义工具 Karabiner-Elements,更多介绍:https://github.com/pqrs-org/Karabiner-Elements
  3. 将下面 JSON 部分 append 到 Karabiner-Elements 配置文件 .profiles.rules 数组中,这样就按 F7、F8 分别可以设置 HDMI1、HDMI2 作为显示器输入源
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    {
    "description": "switch monitor",
    "manipulators": [
    {
    "from": {
    "key_code": "f7"
    },
    "to": [
    {
    "shell_command": "/usr/local/bin/ddcctl -d 1 -i 17"
    }
    ],
    "type": "basic"
    },
    {
    "from": {
    "key_code": "f8"
    },
    "to": [
    {
    "shell_command": "/usr/local/bin/ddcctl -d 1 -i 18"
    }
    ],
    "type": "basic"
    }
    ]
    }
  4. 按 F7、F8 进行测试,先按 F7 显示 Mac 界面,再按 F8 显示 Windows 界面,再按 F7 又显示回 Mac 界面
  5. 安装开源免费鼠标键盘共享工具 barrier,更多介绍:https://github.com/debauchee/barrier
  6. barrier 服务端设置,设置布局:新增屏幕并将屏幕名设置为 Windows 主机名
  7. barrier 服务端设置,新建热键 F6,动作设置为「切换屏幕」
  8. 开启 barrier 服务端
  9. barrier 客户端填写服务端 IP 并开启
  10. 先按 F8 紧接着按 F6 会显示 Windows 界面并且鼠标跟键盘可用,再按 F7 紧接着按 F6 会显示 Mac 界面并且鼠标可用

Windows 作为主力机

步骤与上面类似,区别是使用工具不一样,用来切换显示屏幕的软件换成了 AutoHotKey + DELL Display Manager

AutoHotKey control+F7 control+F8 代码如下

1
2
3
4
5
6
^F7::
Run, "D:\Program Files (x86)\Dell\Dell Display Manager\ddm.exe" /1:SetActiveInput HDMI1
Return
^F8::
Run, "D:\Program Files (x86)\Dell\Dell Display Manager\ddm.exe" /1:SetActiveInput HDMI2
Return

https://twocups.cn/index.php/2019/12/25/08/
https://post.smzdm.com/p/aenv37v3/
https://1vr.cn/?p=2259
https://blog.goatman.me/control_monitor_by_ddc/
https://sspai.com/post/62847
https://zhuanlan.zhihu.com/p/116043921
https://karabiner-elements.pqrs.org/docs/json/complex-modifications-manipulator-definition/from/any/
https://karabiner-elements.pqrs.org/docs/manual/operation/eventviewer/
https://karabiner-elements.pqrs.org/docs/json/complex-modifications-manipulator-definition/to/shell-command/