N900: lo script per averlo in portrait

Guarda anche l'articolo precedente e successivo a questo...

« | »

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

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

844 views
Per la comune convivenza fra blog e utenti vi chiedo di citare sempre la fonte tramite un link di ritorno 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: È possibile utilizzare questi marcatori: <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:

 

- NokiaSpace - NokiaSpace Forum - powered by

DjMarvel - Murder - Shanthous - The_Ray
________

Links Utili:
ModaCellulare - Offerte ADSL - SEO Guru - Telefonia fissa - Notizie Informatiche - -->