本人有两台设备都接入了同一台显示器,要切换输入源需要手动去按显示器上的按钮,显示器有点大,按钮离得又远,人又比较懒。所以就找了找有没有可行的方案,看看能否实现通过键盘一键切换。本人在尝试方案3的时候遇到了点小问题,所以在此基础上对方案3进行了完善,并采用类似的方法实现了方案1和方案2.
Windows
View and modify the settings of your monitor (VCP Features)
装好以上两个软件,将第一个软件放入一个固定位置。启动第一个软件可以看到如下的界面。我的显示器是有3个接口,但是却显示了4个可能的值,而且当前值也不在可能值的列表里面。这个应该是软件的Bug,但是不影响我们操作。
可以自己尝试修改current value的值为possible values列表里面的值,找到自己另外一个输入源对应的值(记住该值)。
接下来打开第二个软件,键位映射软件。新建一个热键:
进行如下图的设置。
现在是可以通过win+F11进行一键切换了。mac端设置相对繁琐一点。
Mac
首先需要确保你安装了Xcode,且安装了command-line-tools。
madir tmp && git clone https://github.com/kfix/ddcctl.git
cd ddcctl && make
make install
# 然后可以自行删掉tmp文件夹。键位映射我用的karabiner+goku。当然也可以直接用官方的json写法。就是比较麻烦。
方案1
因为goku比较好写,所以我才用了这个方案。直接通过brew安装goku。
brew install yqrashawn/goku/goku
安装完成后需要在karabiner里面新建一个名为Default的配置文件。如下图:
karabiner.edn的路径如下:
~/.config/karabiner.edn
以下是我的配置,其中!Qbackslash代表的是右command+\:
{
:main [{:des "Change monitor input source to HDMI1" :rules [[:!Qbackslash ["/usr/local/bin/ddcctl -d 1 -i 5"]]]}]
}意思就是每次按右command+\ 都会在终端执行后面的命令,-d 1代表的是1号显示器。-i 5代表的是改到windows的
每次修改完成都需要在终端执行goku命令
goku
方案2
官方json写法:
在~/.config/karabiner/assets/complex_modifications/下任意创建一个json文件,键入以下内容也可以实现对应的效果:
{
"title": "Change the monitor input source",
"rules": [{
"description": "Change the monitor input source to hdmi 1",
"manipulators": [{
"type": "basic",
"from": {
"key_code": "backslash",
"modifiers": {
"mandatory": ["command"],
"optional": ["caps_lock", "option"]
}
},
"to": [{
"shell_command": "/usr/local/bin/ddcctl -d 1 -i 5"
}]
}]
}]
}写好之后需要自行去karabiner里面开启。
方案3
huaikitty/NativeDisplayBrightnessPlus
需要用到Xcode编译,作者没有写Makefile。
