HDblog - Forum




Avvisi

Rispondi
 
Strumenti della discussione Modalità di visualizzazione
Vecchio 31-01-2010, 21:57   #1
garsim
 
Status: Super Moderator
Registrato dal: Dec 2008
Messaggi: 1,058
garsim buona.. reputazione.. ha cominciato ad acquistare fiducia
predefinito Python: rotate screen! (attivare la modalità portrait)



Siamo riusciti ad attivare la rotazione automatica su N900.
Tutto quello di cui avete bisogno è python e uno script da avviare da terminale!

Ecco come fare:
1. Create lo script (o lo trovate già fatto a fine post)
2. Avviate dal PC l'applicazione blocco note e incollate le seguenti righe:

codice:
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.XRRSetScreenCon****ndRate(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:

codice:
python rotate.py
7. Dovete tener avviato il terminale, altrimenti lo script si arresta!

Se volete evitarvi di creare lo script, lo trovate già fatto in allegato ;)

[Solo gli utenti registrati al Forum possono vedere i link. ]
File allegati
Tipo di file: zip rotate.zip‎ (725 Bytes, 66 visite)

Ultima modifica di garsim; 26-03-2010 a 13:39.
garsim non è in linea   Rispondi quotando
Vecchio 01-02-2010, 16:52   #2
tiger81
 
Status: Junior Member
Registrato dal: Feb 2010
Messaggi: 1
tiger81 Reputazione da appena iscitto
predefinito

però:
1) rimane il prolema che si visualizza il menù a metà,e tutte le schermate
2) xterminal continua a lavorare...spara numeri a raffica.... penso sia normale ma non consuma?????

grazie mille comunque per lo script
un saluto
by tig3r81
tiger81 non è in linea   Rispondi quotando
Vecchio 01-02-2010, 17:34   #3
garsim
 
Status: Super Moderator
Registrato dal: Dec 2008
Messaggi: 1,058
garsim buona.. reputazione.. ha cominciato ad acquistare fiducia
predefinito

Quote:
Originariamente inviata da tiger81 Visualizza il messaggio
però:
1) rimane il prolema che si visualizza il menù a metà,e tutte le schermate
2) xterminal continua a lavorare...spara numeri a raffica.... penso sia normale ma non consuma?????

grazie mille comunque per lo script
un saluto
by tig3r81
si tutto normale,abbiamo approfondito nell'articolo di stamattina:
[Solo gli utenti registrati al Forum possono vedere i link. ]
il terminale deve restare avviato pervhè esegue il "demone" e i numeri servono per calcore l'asse dell'accelerometro..
garsim non è in linea   Rispondi quotando
Vecchio 02-02-2010, 01:58   #4
gaetano.gagliardi
 
Status: Junior Member
Registrato dal: Nov 2009
Messaggi: 1
gaetano.gagliardi Reputazione da appena iscitto
predefinito

volevo installare python ma nei cataloghi ci sonon diversi file, quale devo installare??
gaetano.gagliardi non è in linea   Rispondi quotando
Vecchio 02-02-2010, 07:53   #5
garsim
 
Status: Super Moderator
Registrato dal: Dec 2008
Messaggi: 1,058
garsim buona.. reputazione.. ha cominciato ad acquistare fiducia
predefinito

le librerie python dovrebbero essere già installate..prova ad avviare lo script e vedi se funziona..
garsim non è in linea   Rispondi quotando
Rispondi


Strumenti della discussione
Modalità di visualizzazione

Regole d'invio
Non puoi inserire discussioni
Non puoi inserire repliche
Non puoi inserire allegati
Non puoi modificare i tuoi messaggi

BB code è attivo
Le smilie sono attive
Il codice IMG è attivo
il codice HTML è disattivato

Salto del forum


Tutti gli orari sono GMT +2. Attualmente sono le 20:29.


A vBSkinworks Design
Powered by vBulletin Copyright © 2000-2010 Jelsoft Enterprises Limited.