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
# sympa de partager
Posté par matthieu bollot (site web personnel, Mastodon) . Évalué à 4.
Je n'en ai aucune utilité sur mon laptop, j'ai testé pour voir et ça marche pas mal, la sélection d'un texte en entier peut faire pageUp / pageDown mais à part ça c'est marrant
[^] # Re: sympa de partager
Posté par Wrap . Évalué à 1.
J'avais remarquer ça. Tous ce que j'ai trouver pour limiter le problème c'est d'ajuster le variable TMIN ,TMAX et DIST. Une autre chose qui pourrait encore limiter le problème serai d'ajouter un contrôle sur l'axe Y, puisqu'on suppose que le mouvement doit ce faire sur l'axe X seulement. Je vais voir à ajouter ces quelques lignes, ça pourra rendre le script plus utilisable.
Après je ne vois pas trop comment je pourrais supprimer totalement le problème.
[^] # Re: sympa de partager
Posté par PapsOu . Évalué à 1.
En prenant en compte la vitesse de déplacement par exemple ?
[^] # Re: sympa de partager
Posté par matthieu bollot (site web personnel, Mastodon) . Évalué à 2.
Je pense pas, pour avoir testé 2min je vais à peu près à la même vitesse pour l'un ou pour l'autre.
Après j'ai du mal à voir sur une tablette ce que ça donne, si c'est vraiment pareil que sur pc ou pas.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.