ForceRotation

From Maemo Wiki
Revision as of 07:56, 4 May 2011 by imported>amigadave (wikify, use <source>)
Jump to navigationJump to search

If you need the way to force some rotation of your N900 screen, this is for you.

<source lang="c"> /* gcc rotate.c -lX11 -lXrandr

  • /
  1. include <X11/Xlib.h>
  2. 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>