Editing ForceRotation
Warning: You are not logged in.
Your IP address will be recorded in this page's edit history.
The edit can be undone.
Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
- | + | 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]] |
Learn more about Contributing to the wiki.