2013-06-25 36 views
5

Belirli bir ekranın dönüşünü ayarlayan küçük bir Objective-C komut satırı aracı yazmaya çalışıyorum.Xcode kullanarak Mac OS'de Ekran Dönüşünü Programla Değiştir

Ne yazık ki, Apple'ın belgelerinde döndürmenin nasıl değiştirileceğini (nasıl alınacağını) söyleyen herhangi bir başvuru bulamıyorum. Bence CGDisplayModeRef kullanarak yapılması gerekiyor ama nasıl olduğunu anlayamıyorum. Herhangi bir yardım takdir edilecektir!

cevap

4

https://github.com/CdLbB/fb-rotate'dan çıkarılan - davranışı bana biraz garip gelse de IOKit işini yapabilir gibi görünüyor. Özetle:

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 karşı bağlamak için unutmayın.

+0

OS X 10.10'da, dahili ekranı döndürmek ve ana ekranı diğer monitöre ayarlamak için bu programı kullanabildim, ancak ana monitöre ayarlanmış olsa bile diğer monitörü döndüremedim. –

+0

0, 90, 180, 270'den başka açılara dönmek mümkün mü? – Harry

+1

@Harry Bir tuvale bakarsanız (çizim için) serbestçe döndürebilirsiniz, ancak ekranın kendisi bu dört tanımlı açı ile sınırlıdır. Sabitler kIOScaleRotate0, kIOScaleRotate90, kIOScaleRotate180 ve kIOScaleRotate270'dir. – Andreas