08
Feb
RotateScreen para Nokia N900
Categoría: Aplicaciones N900, Trucos N900
Tags : Aplicaciones N900, 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
Hola me parecio de mucha ayuda tu tema, a mi ya me funciono pero solo quiero saber si al correr el script le dejo que siga apareciendo la numeración hata que llegue a un final o le puedo cerrar el xterminal y ya estaría instalado..Gracias por el aporte y Saludos…
Hola, yo ya lo consegui instalar deje correr todos los numeros del script hasta que se reinicio el terminal solo, cuando se reinicio pense que se ya estaria, pero giro el movil y la ami no me gira nada, me falta algo por hacer o no esta bien el script
hola como estan acabo de lograrlo la manera mas facil es guardar l archivo en la toda la memoria en n900
una vez q el archivo se ecuentre ahi hacen lo siguient
- abrir xterminal
- escribir ls y le damos enter
nos aparec el listado de las carpetas que tenemos escribimos acontinuacion
- cd MyDocs
- nos aparecera todas las carpetas en ese fichero y podemos ver q se encuentra el archivo rotate.py
escribimos python rotate.py y esperamos q se complete la descarga espero les sirva saludos
Amigos, considero un grana avance que se pueda usar el terminal en forma vertical, pero me gustaría mas que lo colocaran como algo adicional, porq me ocurria con mi N82, que a veces cuando escribia un SMS, se me giraba la pantalla en algun momento y me borraba la pabra, o parte del texto, y era molesto… me gustaría que uno pudiera activarlo cuando quisiera que rotara, dentro de la misma aplicacion… sino de resto que no lo haga…
Para los q necesiten un minitutorial para instalar rotate.
1 Tener instalado rooths(mirar en repositorios)
2 Poner el archivo rotate.py en la raiz
3 Abrir el x-terminal
4 Escribir sudo gainroot
5 Escribir cd MyDocs (es importante las mayusculas y minusculas)
6 Escribir python rotate.py
En este momento apareceran 3 columnas de numeros q van cambiando, ahora habria que dejar en segundo plano el x-terminal abierto para q podamos utilizar el modo vertical. Si cerramos el exterminal se anula el modo vertical.
Nota: Yo lo active, pero al abrir una pagina se me reinicio.
Espero Haber ayudado.
Yo tambien e tenido problemas con la instalacion del screen rotate, cuando lo intento instalar me pone syntaxError,y hago los pasos corectos me pregunto si la vercion de python tiene algo que ver