2013-06-25 15 views
5

私は、指定されたディスプレイの回転を調整する小さなObjective-Cコマンドラインツールを作成しようとしています。Xcodeを使ってMac OSでプログラムの表示回転を変更する

悲しいことに、Appleのマニュアルでは回転を変更する方法を教えてもらえません。私はそれがCGDisplayModeRefを使用して行う必要があると思うが、私はどのように見つけることができません。どんな助けもありがとう!

答えて

4

https://github.com/CdLbB/fb-rotateから抽出されました.-その動作は少し奇妙に見えますが、IOKitは仕事をすることができます。要するに:

io_service_t service = CGDisplayIOServicePort(myDisplayID); //IOKit Handle (get myDisplayID yourself) 
IOOptionBits options = (0x00000400 | (kIOScaleRotate90) << 16) //Some undocumented hex'ing 
IOServiceRequestProbe(service, options); //Set rotation to display 

IOKitとリンクすることを忘れないでください。

+0

OS X 10.10では、プログラムを使用して内部ディスプレイを回転し、メインディスプレイを別のモニタに設定できましたが、メインに設定されていても他のモニタを回転することはできませんでした。 –

+0

0,90,180,270以外の角度に回転することはできますか? – Harry

+1

@ハリーキャンバス(描画用)を見ると自由に回転させることができますが、ディスプレイ自体は4つの定義された角度に制限されています。定数は、kIOScaleRotate0、kIOScaleRotate90、kIOScaleRotate180、およびkIOScaleRotate270です。 – Andreas

関連する問題