Los_tintinos Posted May 13, 2014 Share Posted May 13, 2014 (edited) bonjour, je cherche desesperement à faire fonctionner le slide à plusieur doigts sur mon trackpad (sur l'ecran tactile aussi mais là c'est de l'utopie pure...) J'ai bien easystroke d'installé mais celui-ci ne fonctionne pas avec le multitouch et oblige a faire des gestes plus complexe qu'un simple slide. J'ai aussi tenter touchegg mais j'arrive a rien avec ce truc, rien ne se passe que je le lance. C'est comme si il ne voyait pas mon pad. Aprés je n'ai rien trouvé d'autre. J'aimerais avec des gestes type Slide 3 doigts Dt/Gch pour naviger entre les bureau (trés macOS mais tellement pratique....) Slide 4 doigts Dt/Gch pour switcher entre les fenetres (ALT+TAB) Slide 3 doigts vers le bas (mimise la fenetre) Slide 4 doigts vers le bas (ferme la fenetre) enfin des trucs comme ça quoi. Je cherche toujours de mon coté mais si certains ont deja la solution, je prend ;-)) Kén@vo Edited May 13, 2014 by Los_tintinos Link to comment Share on other sites More sharing options...
Los_tintinos Posted May 16, 2014 Author Share Posted May 16, 2014 (edited) re a tous, aprés moult recherche j'ai enfin réussi à faire un truc qui ressemble à ce que je voulais Dans un premier temps vérifions si votre pad supporte le multidoigt synclient _m 100 Amusez vous a swiper comme un fou avec vos petits 2, 3 voir 4 doigts. Dans la colonne f (comme finger) doit apparaître des 2, 3 ou 4 en fonction du nombre de doigts reconnus. Pour ma part ce sera 3 doigts (mais vous ne voulez pas un whisky d'abord... pour les connaisseurs :-)). Donc nous sommes parti. Tout d'abord une petite préparation de Xconf sudo cp /usr/share/X11/xorg.conf.d/50-synaptics.conf /etc/X11/xorg.conf Puis on ajoute les deux lignes "Option" a la fin Section "InputClass" Identifier "touchpad catchall" MatchIsTouchpad "on" MatchDevicePath "/dev/input/event*" Driver "synaptics" Option "SHMConfig" "on" Option "Protocol" "event" EndSection On redemarre le bouzin pour que tout se mette en place. Ensuite sudo apt-get install xdotool Il sera nécessaire pour notre script et il n’était pas installé chez moi. Pensez à vérifier aussi que les scripts python soient présent (cela je les avais déjà) Ensuite copier coller ceci dans un fichier texte que vous nommerez : mtouch.py , à placer dans le répertoire de votre choix import os import re import subprocess import time class threeFingers: def __init__(self, x, y): self.start_x = x self.start_y = y def endGesture(self, x, y, f): if not f==3: diff_x = x-self.start_x print diff_x diff_y = y-self.start_y print diff_y if diff_x > 1100: os.system("xdotool key a") elif diff_x < -1000: os.system("xdotool key b") if diff_y > 1700: os.system("xdotool key c") elif diff_y < -1500: os.system("xdotool key d") return True else: return False class fourFingers: def __init__(self, x, y): self.start_x = x self.start_y = y def endGesture(self, x, y, f): if not f==4: diff_x = x-self.start_x diff_y = y-self.start_y if diff_x > 500: os.system("xdotool key c") elif diff_x < -500: os.system("xdotool key d") return True else: return False if __name__ == "__main__": cmd = 'synclient -m 100' p = subprocess.Popen(cmd, stdout = subprocess.PIPE, stderr = subprocess.STDOUT, shell = True) skip = False first = True start = False start_x = 0 start_y = 0 diff_x = 0 diff_y = 0 timeStart = 0 timeEnd = 0 threeF = None fourF = None finger3 = False finger4 = False try: while True: line = p.stdout.readline() if not line: break try: tokens = [x for x in re.split('([^0-9\.])+', line.strip()) if x.strip()] x, y, fingers = int(tokens[1]), int(tokens[2]), int(tokens[4]) if not start: if fingers==3: threeF = threeFingers(x, y) start = True finger3 = True timeStart = time.time() elif fingers==4: fourF = fourFingers(x, y) start = True finger4 = True timeStart = time.time() if start: #Gestures have a timeout if time.time()-timeStart>1.5: start = False threeF = None fourF = None finger3 = False finger4 = False else: if finger3: if threeF.endGesture(x, y, fingers): threeF = None finger3 = False start = False elif finger4: if fourF.endGesture(x, y, fingers): fourF = None finger4 = False start = False except (IndexError, ValueError): pass except KeyboardInterrupt: pass Dans tout ce truc, il est possible de modifer la sensibilité du pas diff_y < -300: en changant ce paramètre pour chaque axe. Chez moi c'est 1500 par exemple. Enfin dans un terminal on lance le bazar python /home/user/dossierdufichier/mtouch.py dans la fenêtre vous verrez s'afficher les résultats de vos swipes avec les changements de coordonnée (X puis Y) Ainsi vous pouvez peaufiner vos réglages de sensibilité. Pour le moment le scripts est conçu pour afficher swipe 3 doigts gauche =b swipe 3 doigts droite = a swpe 3 doigts bas = c swipe 3 doigts haut = d Je ne me suit pas amuser à changer la config 4 doigts vu qu'elle ne me concerne pas. On assigne les fonction au slides avec cette partie du scripts if diff_x > 500: os.system("xdotool key c") elif diff_x < -500: os.system("xdotool key d") qui pourrait devenir if diff_x > 500: os.system("xdotool key Super+right") elif diff_x < -500: os.system("xdotool key Super+left") Pour un changement de bureau par des slide droite/gauche à 3 doigts. Il ne reste plus qu'a mettre ça au demarrage du pc et c'est tout bon. Pour finir, je n'ai absolument rien invinté mais n'ai fait que retranscrire ce que j'ai fait à partir de cette page : Source de cette methode et des scripts Bon courage. Kén@vo Edited May 16, 2014 by Los_tintinos Link to comment Share on other sites More sharing options...
pioupiou41 Posted May 17, 2014 Share Posted May 17, 2014 J'interviens sur ton topic, il me semble que le slide avec 2 doigts est déjà pris en compte dans eOS. Regarde dans parametre onglet souris/tactile (je crois que c'est ce nom) ensuite tu dois avoir un onglet avec cette option, j'ai dus le désactivé sur mon portable, je préfère le slide a l'ancienne sur le coté droit du pavé tactile. Ensuite pour ton écran tactile, ça marche comme une souris branché en usb, enfin pour les models que j'ai eu en main, si eOS le prends en charge tu devrait avoir rien a faire, sinon il faudra chercher la solution suivant le model d'écran que tu as. Link to comment Share on other sites More sharing options...
Los_tintinos Posted May 17, 2014 Author Share Posted May 17, 2014 (edited) salut, vi vi mais ce tuto est pour le slide à 3 ou 4 doigts. ce sont des gestes qui ne sont pas nativement pris en charge ni par gnome, ni par Eos. Sur unity je crois qu'il y a quelque trucs en mutlitouch mais comme je ne me fait absolument pas à cette interface je n'ai jamais vraiment eu le temps de tester. D'ailleurs si Eos venait à intégrer des gestes multitouch nativement ce serait un gros plus pour cette distrib (à bon entendeur ;-)) J'ai du mal à concevoir qu'une distrib moderne ne supporte pas, ou pas complètement, le multitouch sur les touchpad. Sachant que la quasi totalité des laptops en sont pourvu, et qu'ils supportent quasiment tous au moins 3 doigts. Ce devrait être un minimum que de permettre un fonctionnement à plus de deux doigts. Les pc tactiles se généralisant, et personnellement je ne pourrait plus m'en passer, ce devrait être un passage obligé pour une distribution comme Eos qui se veut légère et donc orientée laptop (enfin pour moi elle est d'enfer sur un portable) que de supporter un usage tactile evolué Le slide deux doigts (pour scroller) est désactivé aussi chez moi. Je préfère, comme toi, le scroll sur les bordure du pad (horizontal et vertical). Au sujet de mon écran tactile, celui-ci est bien reconnu en tant que dalle 2 points. Je peut donc faire du clic droit et du scroll avec mes deux petits doigts. Je n'ai pas chercher plus loin, easystroke me permet de faire des gestes "évolué" pour le gestion en mode tablette. Mais easytroke ne fonctionne qu'en mono-point, je n'ai jamais réussi a le faire fonctionner en multipoint malgrés les patch dispo sur la toile. Ce tuto n'a donc pour but que de permettre une utilisation du pad à la mode MacOS qui est pour le moins pratique. Et puis j'en ai marre des mac-user qui se la pète en changeant de bureau en slidant comme si c’était normal ;-p Maintenant moi aussi je peut faire le fanfaron en arguant que mon OS fait pareil pour gratuit, non mais !! Kén@vo Edited May 17, 2014 by Los_tintinos Link to comment Share on other sites More sharing options...
pioupiou41 Posted May 18, 2014 Share Posted May 18, 2014 Haaaaa ok j'avais pas vraiment tout compris Donc si je suis ton truc maintenant tu peux règler la fonction multipoint de ton slide écran ? Il est possible de faire des paramètrages sur la correspondance Nb doigts => fonction ? genre 2 doigts horizontal ou vertical = slide page en cours 3 doigts = slide appli en cours ( alt+TAB) 5 doigts = slide bureau en cours ( super+ flèches directionnelles ) Link to comment Share on other sites More sharing options...
Los_tintinos Posted May 18, 2014 Author Share Posted May 18, 2014 re, en fait pour mon ecran, le pc ayant 4 ans il ne supporte que le double touche. Avec, nativement, est supporté le click droit ( 2 doigts), le slide à deux doigts, le pinch (zoom + et -) et bien sur le mode souris à un doigts. Je n'ai jamais chercher plus loin que ça cela me suffit et comme je l'ai deja dit avec l’écran tactile easystroke est suffisant. Je souhaitais configurer le multitouch pour le trackpad (la pad noir qui remplace la souris) de mon portable. Au moins à 3 doigts car le 4 doigts ne semble pas supporté. Avec touchegg ou ginn normalement cela est pas trop compliqué à paramétrer mais sur la 12.04 il ne fonctionne pas bien. J'ai donc trouvé ce script qui permet d'associer une action à un geste avec un nombre de doigts défini. Cela ne fait pas mieux que touchegg mais au moins là ça marche. Ké@vo Par exemple maintenant si je slide vers la D ou la G à 3 doigts, il change de bureau. on peut ainsi configurer le trackpad pour une utilisation aux petits oignons.... Link to comment Share on other sites More sharing options...
OomegaA Posted November 6, 2014 Share Posted November 6, 2014 Merci, ce tuto est vraiment super, j'ai décelé une petite coquille synclient _m 100 devrait être synclient -m 100 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now