URL: https://linuxfr.org/users/wrap/journaux/un-petit-script-pour-les-utilisateurs-de-tablettes Title: Un petit script pour les utilisateurs de tablettes Authors: Wrap Date: 2013年02月17日T14:54:20+01:00 License: CC By-SA Tags: script, tablette, python et debian Score: 10 Bonjour à tous Ayant fait l'acquisition d'une tablette ASUS T101mt il y a maintenant 3 ans, je regrettais de ne pas pouvoir utiliser les gestes habituel utilisés sur les smartphones pour faire défiler les pages (c'est à dire le bouton de souris appuyer et un mouvement sur la gauche ou sur la droite pour faire page suivante/précédente). Comme j'avais rien de mieux à faire aujourd'hui, j'ai fait un petit script python qui fait le boulot. C'est pas parfait, mais ça marche. Vous aurez besoin de python-xlib pour que ça fonctionne. Je ne l'ai testé que sous debian squeeze. Pour ceux qui serai intéressé voilà le script. En espérant que ce sera utile à quelqu'un. xslide_ev.py ``` #!/usr/bin/env python # -*- coding: utf-8 -*- # # Description: Script qui assoscie les gestes mouvements de souris gauche/droite # avec le bouton 1 de la souris appuyer aux touches page suivante/precedente # du clavier #keycode pour page précedente/suivante PGUP=112 PGDOWN=117 #Temps mini et maxi pour le detection du mouvement TMIN=0.25 TMAX=.8 #Distance mini(en pixel) a parcourir pour la detection du mouvement DIST=100 import Xlib from Xlib import X, display import time sroot=display.Display().screen().root state=0 slide=0 x=sroot.query_pointer()._data["root_x"] while True: d = sroot.query_pointer()._data if d['mask']==0: state=0 if d['mask']==0 and slide==1: #page down slide=0 Xlib.ext.xtest.fake_input(d['root'],Xlib.X.KeyPress, PGDOWN) Xlib.ext.xtest.fake_input(d['root'],Xlib.X.KeyRelease, PGDOWN) elif d['mask']==0 and slide==-1: #page up slide=0 Xlib.ext.xtest.fake_input(d['root'],Xlib.X.KeyPress, PGUP) Xlib.ext.xtest.fake_input(d['root'],Xlib.X.KeyRelease, PGUP) if d['mask']==256: if state==0: t=time.time() x=d["root_x"] state=1 if state==1 and time.time()-t>TMIN and d["root_x"]-x>DIST: slide=1 if state==1 and time.time()-t>TMIN and d["root_x"]-x<-dist: slide=-1 if (slide==1 or slide==-1) and time.time()-t>TMAX: slide=0 ```