ForceRotation: Difference between revisions

From Maemo Wiki
Jump to navigationJump to search
imported>amigadave
wikify, use <source>
imported>amigadave
 
Line 1: Line 1:
If you need the way to force some rotation of your [[Nokia N900|N900]] screen, this is for you.
#REDIRECT [[Using Fremantle widgets#Forcing screen rotation]]
 
<source lang="c">
/*
gcc rotate.c -lX11 -lXrandr
*/
#include <X11/Xlib.h>
#include <X11/extensions/Xrandr.h>
 
static void set_rotation (Rotation r_to) {
  Rotation r;
  int screen = -1;
  XRRScreenConfiguration* config;
  int current_size=0;
 
  Display* display;
  Window rootWindow;
 
      display = XOpenDisplay(":0");
      if (display == NULL) {
        return;
      }
 
      screen = DefaultScreen(display);
      rootWindow = RootWindow(display, screen);
      XRRRotations(display, screen, &r);
      config = XRRGetScreenInfo(display, rootWindow);
      current_size = XRRConfigCurrentConfiguration (config, &r);
      XRRSetScreenConfig(display, config, rootWindow, current_size, r_to, CurrentTime);
}
 
int main (int argc, char *argv[]) {
set_rotation(RR_Rotate_90);
//set_rotation(RR_Rotate_270);
//set_rotation(RR_Rotate_180);
//set_rotation(RR_Rotate_0);
}
</source>
 
[[Category:Development]]
[[Category:N900]]

Latest revision as of 08:52, 4 May 2011