Script para activar el modo portrait

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 pprintxlib = 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 coordsprint 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):
passgsi = 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.>
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
@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.
@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
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.
@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.
@Joan
Pues la verdad es que no sabría decirte un sitio donde empezar con linux. He revuelto un poco por ahí y esto es lo que he encontrado:
http://es.tldp.org/Tutoriales/ < - Varios tutoriales y cursos generales de linux
http://tuxpepino.wordpress.com/2007/05/08/comandos-indispensables-en-gnulinux/ <- Listado de comandos básicos bastante bien explicado.
De todas formas aunque maemo es linux tiene peculiaridades propias por ser un terminal tan chiquitín y un entorno gráfico propio que comparte pocas cosas con los habituales de escritorio.
Saludos.