N900: lo script per averlo in portrait
Guarda anche l'articolo precedente e successivo a questo...
« N900: si riesce a far girare anche Mac OS X | N900, il programma che allunga la vita della batteria »
« N900: si riesce a far girare anche Mac OS X | N900, il programma che allunga la vita della batteria »
I ragazzi di HDblog sono riusciti ad attivare la rotazione automatica su N900, e quindi rendere il telefono utilizzabile anche in portrait, il tutto tramite uno script in python (per cui è necessario avere installato python).

Ecco come fare:
1. Create lo script
2. Avviate dal PC l’applicazione blocco note e incollate le seguenti righe:
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. Salvate il documento con il nome rotate.py (py è l’estensione del file!)
4. Copiate rotate.py in una cartella dell’n900
5. Avviate Xterm su N900 e dirigetevi dove avete copiato lo script
6. A questo punto date:
python rotate.py
7. Dovete tener avviato il terminale, altrimenti lo script si arresta!
Purtroppo la compatibilità non è totale, alcune applicazioni potrebbero non comportarsi bene.
Leggi anche...
- Video guida:installazione di MeeGo su Nokia N900
- Qt-feratu, video scherzoso by Qt-Studios
- Nokia ha iniziato a consegnare l'N900 ai negozi
- I Don't
- Video promozionale di Maemo
- N900 videoprova di telefonino.net
- N900 le prime consegne - TecnoPhone
- N900: una lockscreen per gli amanti dei retrogames
- N900: la radio FM ha ora il tuner automatico
- Nokia RX-51 approvato dalla FCC
Resta aggiornato abbonandoti al feed RSS 2.0. Puoi lasciare un commento oppure inviare un trackback dal tuo sito.
844 views



Loading ...











Da errore alla riga 20….
[Rispondi]
Murder Risposta:
febbraio 1st, 2010 alle 16:44
@KERT,
hai copiato lo script fino a ” time.sleep(1)”, giusto?
[Rispondi]
Ho fatto lo stesso e l’ho copiato fino a “time.sleep(1)”.
Da Xterminal scrivo:
/home/user/MyDocs/.documents/rotate.py
e non sono sicuro di dove sia l’erroe ma mi dice error e un po piu su c’è scritto LINE 20!
[Rispondi]
si infatti è strano, perchè se scarico lo script già creato da HDblog funziona..
Forse creo male il file.py
[Rispondi]
Mi dispiace ragazzi ma purtroppo è Niko ad avere l’N900 nello staff, io non ho modo di provare..
[Rispondi]
Ho provato con lo script riportato nell’articolo ed anche ha me ha dato errore. Probabilmente c’è qualche virgola in + o in meno, o qualche altra caxxxta di queste.
[Rispondi]
La linea 20 corretta è:
rr.XRRSetScreenConfigAndRate(display,config,root,size,angle,rate,timestamp)
Correggo l’articolo.
[Rispondi]
[...] nokiaspace.net han publicado un script en python para que mientras se está ejecutando cambien la forma de ver las [...]