我正试图编写一款简单的Cocoa应用程序,目的很简单:将我的Dell显示器输入切换到另一个(这样我就可以在PC和MAC之间切换)。我已经找到了一个Windows应用程序(entechtaiwan的mControl),他们在里面解释了他们做了什么:
“要通过软件切换输入,您使用VESA MCCS命令60h。要向显示器发送该命令,您需要读取和写入连接到显示器的GPU I/O垫。Mac上同理。”
有人知道如何从Cocoa应用程序发送这样的命令吗?也许有一个库可以做到这一点…难道不应该很简单吗?
在这里,似乎有一个Linux的实现:http://ddccontrol.sourceforge.net
它使用了<sys/msg.h> api。看起来,没有这个api的man-pages,但它在mac上可用。我还没有尝试编译ddccontrol工具,但它看起来是最接近你可以得到的,并且应该是一个很好的起点。
/System/Library/Extensions/AppleMCCSControl.kext
,但它是闭源的,我不知道它做什么或者它是否提供了一个有趣的接口。您可以尝试查看nm -U /System/Library/Extensions/AppleMCCSControl.kext/Contents/MacOS/AppleMCCSControl | c++filt | less
的输出。 - pmdj