RotateScreen para Nokia N900

Categoría: Aplicaciones, Trucos
Tags : , , , , ,

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.

 

rotatescreen N900 RotateScreen para Nokia N900

 


Los pasos para crear e instalar rotate.py son:

 

  1. 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.
  2. 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)
    
  3. Guarde el documento con el nombre de rotate.py (PY es la extensión de archivos Python)
  4. Copiar en una carpeta del N900 el archivo rotate.py.
  5. Iniciamos  xterm en N900 y escribimos:
    python rotate.py

 

Descargar rotate.py

Vía HDBlog.it

Compártelo:
  • Digg
  • del.icio.us
  • Facebook
  • Meneame
  • Twitter
  • Technorati
  • Netvibes
  • Google Bookmarks
  • Live
  • Yahoo! Bookmarks
  • MySpace
Posts Relacionados:

 

  • No related posts
  •  

    Comentarios:

    19 Comentarios en “RotateScreen para Nokia N900”


    1. PUes lo guardo en la carpeta documents y pongo eso x terminal y me dice python: not found


    2. Supuestamente las librerías Python ya vienen instaladas. Reinicia tu N900 y vuelve a intentar arrancar el programa.


    3. 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.


    4. 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???


    5. xuaku, tienes razón. El archivo para descargar estaba bien. Ya está solucionado.


    6. 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


    7. carlos, podrias explicar como hago lo que comentas?
      gracias


    8. 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?


    9. como llego desde el xterminal hasta la ruta gracias


    10. administrador, podrias ayudarnos?
      nos puedes decir si en tu foro hay alguien que lo explique y nos de solucion?

      gracias


    11. 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


    12. 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…


    13. madre mia, hoy soy un inepto, o no me entero.
      creo que voy a necesitar ese manual….


    14. 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


    15. seguimos a la espera de respuesta por parte de alguien……


    16. 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í.


    17. 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


    18. :( pues yo no lo consigo…
      debo ser muy negado…
      y lo tengo guardado en la memoria interna (N900), dentro de la carpeta documentos.


    19. Y para los que nos pone: python: not found que hacemos?

    Deja un comentario

     

    Síguenos en Twitter
    Subscríbete al RSS