ForceRotation: Difference between revisions
From Maemo Wiki
Jump to navigationJump to search
imported>aapo force rotate screen orientaion of N900 |
imported>amigadave wikify, use <source> |
||
| Line 1: | Line 1: | ||
If you need the way to force some rotation of your N900 screen, this is for you. | If you need the way to force some rotation of your [[Nokia N900|N900]] screen, this is for you. | ||
<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]] | |||
Revision as of 07:56, 4 May 2011
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
- /
- 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>