2013-03-03 57 views
1

我用C++/Qt和libxrandr庫編寫了一個應用程序來改變顯示器的分辨率和方向。但我必須擴展功能。請幫助我瞭解如何做到以下幾點:libxrandr庫:如何更改連接的顯示器的屬性?

  1. 得到連接的監視器
  2. 改變它們各自的分辨率和方向
  3. 代替它們彼此(例如,在第一監視器上的列表左,右二)

回答

2

問題解決

XRROutputInfo *output_first_info = XRRGetOutputInfo(dpy, sr, sr->outputs[X]); 
XRRSetCrtcConfig(dpy, sr, output_first_info->crtc, CurrentTime, XM, YM, sr->modes[M].id, R, &sr->outputs[X], 1); 

其中X - 麻木顯示器的ER配置 XM,YM - 座標在虛擬屏幕 米 - 的模數

用於連接顯示器模式

獲取列表:

int jj = 0; 
       for (int i = 0; i < sr->noutput; i++) 
       { 
           XRROutputInfo *output_info = XRRGetOutputInfo (dpy, sr, sr->outputs[i]); 
           XRRCrtcInfo *crtc_info = XRRGetCrtcInfo(dpy, sr, output_info->crtc); 

           for (int j = jj; j < output_info->nmode; j++) 
           { 
               qDebug() << output_info->name << sr->modes[j].name << j; 

               jj++; 
           } 
       } 
+0

不錯,但什麼是R'編輯:這是一個定義旋轉的宏,例如RR_Rotate_0。 – ManuelSchneid3r 2013-10-22 22:42:31