侧边栏壁纸
博主头像
luoxx博主等级

只要思想不滑坡,办法总比困难多

  • 累计撰写 53 篇文章
  • 累计创建 58 个标签
  • 累计收到 981 条评论

目 录CONTENT

文章目录

mac键盘快捷切换显示器输入源教程

luoxx
2022-10-14 / 13 评论 / 7 点赞 / 6,464 阅读 / 2,162 字
温馨提示:
本文最后更新于 2022-11-24,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

如果你有多台主机,但是只有一个显示器,显示器有多个视频输入接口(hdmi、dp、typec),这些接口可以连接到多台主机,想要在显示器上来回切换不同主机画面,但是又不想用显示器上操蛋的按钮来操作,那么这篇博客会对你有所帮助。

前言

本教程为博主原创,转载请注明出处

  • windows系统下有一个很好用的显示器ddc控制软件,名字叫做 ControlMyMonitor ,直接用这款软件切换也很方便。
  • mac就比较操蛋了,mac下有免费开源的显示器亮度和音量调节软件 MonitorControl , 然而这款软件却不支持切换输入源。
  • 然后我又找到了 lunar 这款软件,支持切换显示器输入源,但是这是一款收费软件,价格很贵(¥139),而且全英文界面看着不直观。最关键的是,你使用这款软件切换输入源让显示器连接到另外一台主机,但是想要切回来就不得行了,还是得手撸显示器按钮,除非你在每台主机上都安装上这个软件(139元是单机器的价格,所以两台你就要花278大洋),或者另外的其他主机是windows系统,用ControlMyMonitor 切换回来也行。
  • 后面我想着这些破软件还不就是通过显示器提供的ddc通道来控制显示器的么,我自己直接调用不行么,非得假手这些软件?所以我摸索出来了一套切实可行的方案,直接键盘上敲个快捷键,就能切换到相应的输入源,下面请看教程。

ps:首先,你的显示器要支持ddc/ci ,不支持的话,就不用往下看了。(一般不是特别老的显示器都是支持的)
image-1665722684493

第一步:先安装ddc控制的命令行工具(不同芯片架构按不同的教程走)
intel芯片
  1. 安装homebrew(已安装则忽略)
#若安装慢或者网络不通下载不下来就得挂梯子,或者百度找其他办法
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  1. 安装ddcctl
brew install ddcctl
arm芯片(m1、m2、m1 pro、m1 max、m1 ultra)
  • github能正常访问的情况下依次执行以下命令安装
cd ~
git clone https://github.com/waydabber/m1ddc.git
cd m1ddc
make
  • github访问不了的话下载博主提供的包,按以下操作安装

    下载后解压到某个目录,比如用户目录 ~
    终端内,cd进入解压后的目录,比如 cd ~/m1ddc
    执行 make 命令安装
第二步:创建切换显示器输入源的自动化流程

完成了上面的第一步之后,其实我们已经可以在终端内执行命令来切换输入源了,但是每次都执行命令还是不太方便,而且如果输入源切换到了非当前机器的其他主机,就没法在终端执行命令了,毕竟看不到屏幕也不好盲操。所以需要创建个自动化工作流程,然后用快捷键来触发即可。

显示器输入源代码如下,后面会要用到

输入源 对应代码
VGA-1 1
VGA-2 2
DVI-1 3
DVI-2 4
Composite video 1 5
Composite video 2 6
S-Video-1 7
S-Video-2 8
Tuner-1 9
Tuner-2 10
Tuner-3 11
Component video (YPrPb/YCrCb) 1 12
Component video (YPrPb/YCrCb) 2 13
Component video (YPrPb/YCrCb) 3 14
DisplayPort-1 15
DisplayPort-2 16
HDMI-1 17
HDMI-2 18
USB-C 27

image-1665726508344

  • 打开如上图的app,mac自带的,类似于ios上的快捷指令
  • 点击之后会弹出一个访达窗口,点击底部靠左边的 新建文稿 按钮
  • 在弹出的 选区文稿类型 弹窗中,点击选择快速操作,然后点击右下角选取按钮
  • 按照如图的四步走(切换的命令怎么填请看后面的具体讲解)
    image-1665727567389

intel芯片的的机器切换输入源命令格式如下

#此命令为使环境变量生效的命令,博主使用的zsh的shell,所以是如下命令,如果你未切换过shell种类,那么命令应该是 source ~/.bash_profile
source ~/.zshrc
#1为显示器的代号,如果只有一台显示器那就填1就行,17为需要切换到的输入源,此处的17代表第一个HDMI端口 ,更多代码请看上面的表格
ddcctl -d 1 -i 17

arm芯片的机器切换输入源的命令格式如下

# ~/m1ddc/m1ddc 为ddc命令行工具的执行文件路径,如果安装时,你是直接解压到用户目录下的,那就照着我这个填就行,如果不是就按你自己的目录来
#1为显示器的代号,如果只有一台显示器那就填1就行,15为需要切换到的输入源,此处的15代表第一个DP端口 ,更多代码请看上面的表格
~/m1ddc/m1ddc display 1 set input 15
  • ok,填写完毕之后点击状态栏左上角菜单栏的文件菜单,再点击存储菜单,然后自己设定一个工作流的名称,比如切换输入源到hdmi,然后保存
    image-1665728224499
  • 多个输入源,只需要重复以上的步骤,创建多个自动化流程即可。
第三步:给工作流绑定快捷键

完成以上两步之后,执行工作流就可以切换输入源了,可以自己试一下,在编辑工作流完成后,右上角有一个运行按钮,点击之后你就会发现输入源切换了。但是这样操作太麻烦,所以我们接着绑定快捷键。

  • 打开系统偏好设置-键盘-快捷键,在左侧菜单中选择 服务
  • 通用大类中找到我们创建的工作流
    image-1665728803093
  • 点击添加快捷键,设置自己需要设置的快捷键,输入自己需要的快捷键之后还是会显示添加快捷键,不过其实已经设置好了,鼠标点击一下其他地方,它就会刷新了,不知道为什么搞这么傻逼的设计,而不是设置完马上显示。
    image-1665728985436

后记

可能设置好之后你会发现有时候点击快捷键毛效果都没有,根本没切换输入源,可以做如下尝试

  1. 换一个快捷键,你设置的快捷键可能跟其他快捷键冲突了
  2. 重启大法
  3. 打开访达窗口,然后再按一遍快捷键,这时候你可能会发现,快捷键很神奇的生效了,之后不在访达窗口按也能生效了,我也不知道是为什么,可能又是傻逼苹果的bug吧。

更多玩法

  1. 以上全文说的操作,都是在同一台电脑上执行的,你只需要在你的mac主力机上安装ddc工具并创建工作流,就可以通过该mac机器的键盘切换到任意输入源。
  2. 现在已经实现了多机器共用显示器,其实你还可以更进一步,实现多机器共用鼠标键盘,只需要用博主分享的软件 synergy 就可以实现,链接:https://luoxx.top/archives/synergy-free-share (如果你的键鼠本来就支持多设备共享,那当我没说,比如罗技的优联)
  3. 如果你听我的建议安装了synergy,那么你要注意,在切换输入源的时候,先要把键鼠切换连接到主力mac机器上再按快捷键,不然按烂了都没用。

目前网上还真没有一个靠谱的切换显示器输入源的方案,至少我自己在百度谷歌没搜到,全靠自己研究出来的,如果对你有帮助的话,点赞评论支持一下吧。

7

评论区