Inicio > Software > Script para activar el modo portrait

Script para activar el modo portrait

Lunes, 8 de febrero de 2010 Dejar un comentario Ir a comentarios

En nokiaspace.net han publicado un script en python para que mientras se está ejecutando cambien la forma de ver las aplicaciones en función de la posición del terminal, es decir, si está ejecutándose el script y estamos viendo la agenda, la aplicación cambiará de modo horizontal a vertical en función de la posición del teléfono.
Para crear el script podéis copiar el código que hay más abajo o descargar el fichero con el programa: rotate.py

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)

Para ejecutarlo sólo tenéis que abrir el xterminal y desde el directorio donde lo habéis guardado teclear: python rotate.py


Únete a nuestra página en Facebook.


Entradas relacionadas

Tags:
  1. Joan
    Lunes, 8 de febrero de 2010 a las 09:37 | #1

    Hola,
    Estoy introduciéndome al mundo n900. Por favor, me perdí en el paso “desde el directorio donde lo habéis guardado teclear: python rotate.py”. Podrías indicarme como realizarlo? Muchas gracias

  2. Manuel Angel Fdez
    Lunes, 8 de febrero de 2010 a las 14:03 | #2

    @Joan Para ejecutar el programa tienes que:
    - abrir el xterminal.
    - Si el programa lo has guardado en MyDocs tienes que teclear cd MyDocs + enter
    - Teclear python rotate.py

    Saludos.

  3. joan
    Martes, 9 de febrero de 2010 a las 00:07 | #3

    @Manuel Angel Fdez
    buenas noches. Tengo problemas sobre el asunto. haciendo lo que me dices me da “python: can’t open file “rotate.py”: [Errno 2] No such file r directory
    Posibles soluciones?
    Muchas gracias

  4. Manuel Angel Fdez
    Martes, 9 de febrero de 2010 a las 06:27 | #4

    Hola Joan.
    Si te dice eso es por que el fichero rotate.py no está en el directorio donde lo estás intentando ejecutar. Primero deberías localizar el directorio donde está guardado ese fichero y después situarte en el.
    Como consejo te diría que antes de ponerte a revolver por el sistema en línea de comandos aprendieras algunas órdenes básicas de linux ya que si no sabes lo que haces podrías cargarte el teléfono.

    Saludos.

  5. Joan
    Martes, 9 de febrero de 2010 a las 09:35 | #5

    @Manuel Angel Fdez
    Buenos días,
    Muchas gracias por tu amabilidad. Estoy un poco pesado con el tema porquè necesito la visión horizontal para algunas cosas. Al pulsar detalles sobre el fichero nombrado como rotate, me sale:
    Tipo script en Python; Ubicación Documentos; Almacenamiento Nokia N900; Fecha, hora y tamaño 1Kb.

    Por lo que ser refiere a tu consejo, alguna web o tutorial que pienses la mejor para empezar? Yo soy mac de siempre, linux és nuevo para mi pero el n900 és mucho mejor que el iPhone, segun mi opinión y respetando a todo el mundo, és por eso que estoy introduciéndome en Maemo.

    Muchas gracias una vez más.

  6. Manuel Angel Fdez
Get Adobe Flash playerPlugin by wpburn.com wordpress themes
Performance Optimization WordPress Plugins by W3 EDGE