08
Feb
RotateScreen para Nokia N900
Categoría: Aplicaciones, Trucos
Tags : Aplicaciones, girar pantalla, N900, Nokia, Nokia N900, RotateScreen
Rotate es un programa en Python capaz de activar la rotación automática de la pantalla de nuestro Nokia N900, para pasarla a modo vertical u horizontal automáticamente.

Los pasos para crear e instalar rotate.py son:
- Crear el archivo en python (o descargarlo, al final de post, entonces pasar al paso 4 directamente). Para esto podemos utilizar, por ejemplo, el programa ConTEXT.
- Copiamos y pegamos las siguientes líneas:
from ctypes import * import os import sys import time from math import atan2 from pprint import pprint xlib = cdll.LoadLibrary("libX11.so.6") rr = cdll.LoadLibrary("libXrandr.so.2") def get_rotation(): f = open("/sys/class/i2c-adapter/i2c-3/3-001d/coord", 'r' ) coords = [int(w) for w in f.readline().split()] f.close() return coords print get_rotation() def rotate(angle): rr.XRRSetScreenConfigAndRate(display,config,root,size,angle,rate,timestamp) display = xlib.XOpenDisplay(os.getenv("DISPLAY")) screen = xlib.XDefaultScreen(display) root = xlib.XDefaultRootWindow(display, screen) class XRRScreenConfiguration(Structure): pass gsi = rr.XRRGetScreenInfo gsi.restype = POINTER(XRRScreenConfiguration) config = gsi(display, root) current_time = c_ulong() rr.XRRTimes.restpye = c_ulong timestamp = rr.XRRTimes(display, screen, byref(current_time)) xccr = rr.XRRConfigCurrentRate xccr.restype = c_int rate = xccr(config) rotation = c_ushort() size = rr.XRRConfigCurrentConfiguration(config, byref(rotation)) while True: [x,y,z] = get_rotation() print x,y,z if y < -500: rotate(1) elif y > 500: rotate(4) elif x < -500: rotate(2) elif x > 500: rotate(8) time.sleep(1) - Guarde el documento con el nombre de rotate.py (PY es la extensión de archivos Python)
- Copiar en una carpeta del N900 el archivo rotate.py.
- Iniciamos xterm en N900 y escribimos:
python rotate.py
Vía HDBlog.it



PUes lo guardo en la carpeta documents y pongo eso x terminal y me dice python: not found
Supuestamente las librerías Python ya vienen instaladas. Reinicia tu N900 y vuelve a intentar arrancar el programa.
El programa falla porque hay una linea que no esta bien escrita.
Es esta:
rr.XRRSetScreenCon****ndRate(display,config,root,size,angle,rate,timestamp)
Y el fallo esta en los asteriscos.
En su lugar tenemos que poner:
rr.XRRSetScreenConfigAndRate(display,config,root,size,angle,rate,timestamp)
Esta bien, pero aun le falta que no se salgan de la pantalla los widgets.
Saludos.
Buenas. yo tambien lo guardo en “documentos” y ejecuto XTerminal y me dice esto:
” python: can´t open file ´rotate.py´: [Errno 2] No such file or directory ” que puedes ser lo que ocurre???
xuaku, tienes razón. El archivo para descargar estaba bien. Ya está solucionado.
Para los que os da este error ” python: can´t open file ´rotate.py´: [Errno 2] No such file or directory ” es por que previamente teneis que ir con el xterminal hasta la ruta donde habeis guardado el rotate.py, me explico para ejecutar ese comando debeis estar en el directorio donde esta ese fichero, espero os ayude
carlos, podrias explicar como hago lo que comentas?
gracias
Se pasa lo mismo ke a algunos de ustedes, introduzco python rotate.py y me sale python not found, lo he reiniciado y continuo igual. ¿a que puede ser debido?
como llego desde el xterminal hasta la ruta gracias
administrador, podrias ayudarnos?
nos puedes decir si en tu foro hay alguien que lo explique y nos de solucion?
gracias
A mi tanbien me da el error errno 2. como llego con el xterminal a la ruta donde lo e guardado para que me funcione.que alguen lo explique con detalle.
gracias
Comandos básicos:
ls : listado del contenido del directorio donde estamos.
cd .. : salir del directorio.
cd nombre_directorio : acceder al directorio.
A ver si hago una guía de comandos básicos…
madre mia, hoy soy un inepto, o no me entero.
creo que voy a necesitar ese manual….
Que comandro tendria que meter si el rotate esta en el destino: nokia n900/documentos.
e probado con esos comandos pero no doi entrado en el directorio donde tengo el rotate seguro que pongo algo mal.
lo que intento hacer es entrar poniendo:
cd nokia n900/documentos pero nada.
gracias
seguimos a la espera de respuesta por parte de alguien……
A ver…
Si lo guardáis en home/documentos, tendrías que meter:
cd documentos
python rotate.py
Si fuese en home/documentos/rotate/ sería:
cd documentos
cd rotate
python rotate.py
home es el directorio raíz, es como si fuera la unidad C: en windows, es decir, que al entrar ya estáis ahí.
ya lo he conseguido gracias por la explicacion detallada. Aunque tiene que mejorar bastante para conseguir su funcionamiento total en n900, lla que la pantalla esta descuadrada y en cuanto cierras el xterminal ya non funciona.
Aver si consiguen hacerlo funcionar igual que el n97 que es una marabilla lla que se puede usar en modo vertical completamente.
un saludo y gracias
debo ser muy negado…
y lo tengo guardado en la memoria interna (N900), dentro de la carpeta documentos.
Y para los que nos pone: python: not found que hacemos?
A ver, la raiz de nuestro N900 es MyDocs
Entonces:
sudo gainroot
cd MyDocs ( cuidado con las mayusculas )
Si quieres un dir, ls
y luego, python rotate.py