我有一台Dell 21.5“显示器,该显示器以前是通过其DVI端口连接到Windows PC的,而DDC / CI没问题,这使我可以通过Windows控制所连接显示器的亮度和对比度。
我的问题是:通过Apple的适配器,我可以在“系统偏好设置”中控制非Apple的显示器吗?
我有一台Dell 21.5“显示器,该显示器以前是通过其DVI端口连接到Windows PC的,而DDC / CI没问题,这使我可以通过Windows控制所连接显示器的亮度和对比度。
我的问题是:通过Apple的适配器,我可以在“系统偏好设置”中控制非Apple的显示器吗?
Answers:
我希望也有可能,但是简短的答案是不,您不能使用系统偏好设置通过DDC / CI控制外部显示器的亮度。
编写一个可以调节外部显示器亮度的程序可能是可行的,但这绝不是确定的事情。如果您需要血腥细节,请继续阅读...
经过大量研究后,我很确定苹果不会使用DDC / CI来控制内部或外部显示器的亮度。
仅当插入USB接口时,才能调节 Apple Cinema Display的亮度。使用DDC / CI则没有必要。
Apple通过其IOKit库(尤其是在ioGraphicsLib中)提供了(尽管显然没有文档说明)显示亮度的接口:
…但是此接口对于外部显示器似乎无法可靠地工作:
(我几年前阅读了这篇文章,虽然现在找不到支持链接,但我似乎还记得,显示器的亮度(至少对于内部显示器而言)可能是委派给苹果的系统管理控制器(SMC),该控制器具有负责所有与电源有关的功能:风扇速度,监视电池电量等。如果Apple在SMC和内部显示器之间实现自己的I²C控制接口,我不会感到惊讶-但这纯粹是我的猜测。
可以使用DDC / CI和自定义软件与外部显示器进行通信/控制它们,但是在OS X时代,对此的支持已经不止一次了。对DDC / CI的支持还取决于所使用的图形芯片组和驱动程序。
从http://update.necdisplay.com/spectraview/readmemac_v1_1_12_1.html:
从Mac OS 10.8.0开始,在某些Mac(包括具有DVI视频输出的系统)以及使用miniDisplayPort转DVI电缆或适配器的Mac上,无法通过DDC / CI支持监视器通信。NEC正在与Apple合作,以在将来的Mac OS更新中解决此问题。
DDC / CI在I²C上工作。Apple的IOKit库包含一个I²C接口,应该可以编写一个显示控制程序,但是有一些报告认为该程序不能可靠地工作(特别是,值可以写入监视器但不能读取,因此您不能告诉当前亮度是什么):
据我所知,这大约是它的大小。
如果您是(或您知道)Objective-C开发人员,那么我确实在GitHub上找到了一个项目,可以进行修改–但是,如上所述,即使假设代码确定,它也可能不适用于您的组合显示器,Mac和显示驱动程序。
免责声明:我自己编译了这个应用程序(尽管我不是作者)。它可能会冻结您的计算机。
您也可以尝试以下应用程序:https : //github.com/superduper/BrightnessMenulet,尽管它仅允许在主显示屏(显示菜单栏的一个)上调整亮度。
我已经在MacBook Pro + Dell U2412M上对其进行了测试,效果很好。
Apple 软件除了使PC显示器处于休眠状态外,不支持任何其他方法来控制它们。
如果您可以通过其他方式发送,则硬件适配器将传递DDC命令。
我在ddcctl程序中使用了许多DisplayPort / Thunderbolt转DVI适配器以及USB转VGA 。
尝试运行ddcctl -d 1 -b ?
以测试是否可以轮询第一台显示器的亮度。
然后,将第一台显示器的亮度增加5个“刻度”(比例因显示器制造商/型号而异):
$ ddcctl -d 1 -b ? -b 5+
2015-06-19 11:46:14.081 ddcctl[39871:4302046] I: found 2 displays
2015-06-19 11:46:14.081 ddcctl[39871:4302046] I: polling display 1's EDID
2015-06-19 11:46:14.102 ddcctl[39871:4302046] I: got edid.name: LG ULTRAWIDE
2015-06-19 11:46:14.103 ddcctl[39871:4302046] D: command arg-pair: d: 1
2015-06-19 11:46:14.103 ddcctl[39871:4302046] D: command arg-pair: b: 5+
2015-06-19 11:46:15.108 ddcctl[39871:4302046] D: querying VCP control: #16 =?
2015-06-19 11:46:15.212 ddcctl[39871:4302046] I: VCP control #16 = current: 42, max: 100
2015-06-19 11:46:15.213 ddcctl[39871:4302046] D: relative setting: 42 + 5 = 47
2015-06-19 11:46:15.213 ddcctl[39871:4302046] D: setting VCP control #16 => 47
MaximumBrightness.app
(也是最少的一个)。
make install
后在该文件夹中进行了压缩,但它引发了许多错误:pastebin.com/aLpjLhdH
这是一个古老的话题,但是为了以防万一,我仍将其张贴在这里。
我不确定TB-to-DVI适配器的具体细节,但总的来说,您可以控制某些显示器。有一个称为一个伟大的小免费程序MonitorControl通过the0neyouseek,它给你选项来控制亮度,对比度,以及外部显示器,即使音量。我用三星P2450进行了亲自测试,它完全没有问题。