N900: lo script per averlo in portrait

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.

A una persona piace questo articolo

Resta aggiornato abbonandoti al feed RSS 2.0. Puoi lasciare un commento oppure inviare un trackback dal tuo sito.

Per la comune convivenza fra blog e utenti vi chiedo di citare sempre la fonte se desiderate pubblicare questa notizia sul vostro sito. E' una questione di rispetto. Grazie.

NokiaSpace non si ritiene responsabile per nessun tipo di danno al proprio dispositivo a seguito di una guida o di qualsivoglia contenuto presente sul suddetto blog e forum.

Sponsor:


8 Commenti »

 
 

Lascia un Commento

XHTML: Puoi fare uso di questi tag: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

:alien: :angel: :angry: :blink: :blush: :cheerful: :cool: :cwy: :devil: :dizzy: :ermm: :face: :getlost: :biggrin: :happy: :heart: :kissing: :lol: :ninja: :pinch: :pouty: :sad: :shocked: :sick: :sideways: :silly: :sleeping: :smile: :tongue: :unsure: :w00t: :wassat: :whistle: :wink: :wub:

 
Too Cool for Internet Explorer

- NokiaSpace - NokiaSpace Forum - powered by

DjMarvel - Murder - Shanthous - The_Ray