gestes multitouch sur le pavé tactile

11

Je voulais savoir comment je pourrais configurer des gestes multi-touch dans Ubuntu. Dans les fenêtres, je peux le faire en utilisant le logiciel pilote Synaptics.

Je l' ai déjà utilisé synclientpour configurer les robinets, palmdetect, défilement, etc. Mais je tiens également geste de soutien. Est -ce est même possible?

Système Info: Ubuntu 12.10, Synaptics ClickPad

kapad
la source
voulu préciser quelques détails: Ce que je voulais faire est d'être en mesure de configurer un geste pour le dos navigateur / nautilus / boutons avant. Dans Windows, je peux le faire avec un balayage à 3 doigts. De même pour minimiser / ouvrir toutes les fenêtres. En Win7 cela peut être fait avec un simple glissement quatre doigts vers le haut ou vers le bas. Je veux des choses semblables à Mac. Est-ce possible?
kapad

Réponses:

11

La mise à jour 15/09/2016 Multitouch fonctionne dès la sortie de la boîte, et toutes les solutions répertoriées ci-dessous (mtrack, synclient, ginn, ...) gâcheront les choses, donc si vous mettez à jour à partir d'un noyau plus ancien qui en a besoin, supprimez tout les applications d'assistance et essayez le comportement du noyau prêt à l'emploi avec l'interface utilisateur du pavé tactile pour votre gestionnaire de bureau. Il devrait faire ce dont vous avez besoin, et si vous voulez plus de gestes et d'autres choses, ajoutez easystroke qui fonctionne bien. Il est maintenant trié dans les pilotes d'entrée du noyau et fonctionne sans problème depuis au moins le noyau 4.1.32, bien que certains des premiers noyaux 4.0 ne fonctionnent pas. Le noyau LTS actuel, 4.4 fonctionne très bien, tout comme 4.7.

mise à jour 9/2015 ... les noyaux supérieurs à 3.14 ou plus ont la plupart des multitouch intégrés maintenant, essayez donc de désinstaller mtrack si vous avez des problèmes. juste le pilote multitouch intégré et easystroke fonctionnent bien pour moi depuis le noyau 3.14, bien que les versions 4.0 et supérieures semblent avoir une régression qui casse le trackpad d'Apple. Le noyau 3.18 fonctionne très bien cependant.

Il existe de nombreuses solutions, dont la plupart sont encore un peu à moitié cuites. Beaucoup de documents sont obsolètes, alors assurez-vous de regarder la date de tout ce que vous google.

Ubuntu a intégré la prise en charge des gestes rudimentaires (2 doigts) dans l'applet des paramètres de la souris / du pavé tactile.
Je l'ai trouvé encombré au hasard et le défilement à deux doigts serait alors mystérieusement grisé, me déclenchant sur une longue chaîne de recherche pour peut-être le récupérer.
Ensuite, j'ai essayé la touchegg, qui fonctionnait parfois.
Il est le plus facile à configurer et il existe de bonnes instructions, mais il est basé sur une ancienne solution démon du problème.
Le howto multitouch ubuntu (vous devrez le rechercher sur Google car je ne peux inclure que deux liens) était très obsolète mais est en train de travailler lentement. Il offre en quelque sorte un autre ensemble de solutions inégales, mais est en train d'être mis à jour.

La solution que j'utilise actuellement est mtrack (dans les dépôts) combiné avec easystroke (à compiler depuis la source).
Mtrack prend en charge la version du noyau de multitouch plutôt qu'une solution ad hoc comme touchegg et ginn si je comprends bien, mais easystroke est une autre solution démon qui semble bien fonctionner pour l'instant au-dessus de mtrack.

L'approche de Mtrack semble être la direction prise par le développement.

désinstallez les autres éléments (ginn, touchegg) si vous l'utilisez, puis installez mtrack à partir du nom complet du référentiel xserver-xorg-input-mtrack .

C'est pénible à configurer et je n'ai pas réussi à faire glisser trois doigts. Voir le lien à la fin du fil pour les différents fichiers de configuration des gens. J'utilise un trackpad magique d'Apple et il est assez bon pour cela, bien qu'il ait un problème gênant dans ce double-toucher et faire glisser par exemple pour déplacer une fenêtre est erratique. solution de contournement consiste à utiliser un clic réel sur le bouton pour déplacer les fenêtres, ou à hésiter une fraction de seconde après le double appui et maintenez la pression avant de déplacer la fenêtre.

Je viens de trouver easystroke , et jusqu'à ce que mtrack obtienne un GUI, vous voudrez peut-être essayer cela si vous êtes assez aventureux pour essayer de compiler un programme.

une fois compilé en exécutant make -j2et installé par sudo make install, démarrez-le avec easystroke -gpour obtenir l'interface graphique et accédez à la page wiki pour obtenir des instructions.

Un autre problème que vous devrez peut-être régler est celui des pilotes.

Si vous utilisez mtrack , vous devrez peut-être renuméroter les fichiers afin que votre pilote mtrack soit lu en dernier ou les paramètres de synaptics récupèrent tout.

Ces pilotes sont stockés dans /usr/share/X11/xorg.conf.d .

copiez le pilote mtrack dans /etc/X11/xorg.conf.d , modifiez les paramètres dans ce dossier (voir le thread lié et le fichier README pour savoir comment) pour obtenir la qualité de vos trois doigts si vous le pouvez (ou utilisez easystroke ) et renommez le fichier à un nombre plus élevé, donc 50-mtrack.conf devient 60-mtrack.conf , sinon j'ai trouvé que le pilote synaptique saisira votre pavé tactile la moitié du temps.

Placer le fichier dans / etc signifie qu'il ne sera pas écrasé sur les mises à jour comme les fichiers / usr , et qu'il est lu en dernier et a donc priorité sur les pilotes par défaut dans / usr .

J'espère que cela t'aides. C'est un domaine de développement assez actif, donc tout ce que j'écrirai sera probablement obsolète d'ici un an, j'espère pour le mieux.

Richard Rath
la source
Hé merci pour cette excellente réponse. Désolé, il a fallu un certain temps pour le vérifier :)
kapad
Des nouvelles d'une solution appropriée à ce sujet? Je n'arrive toujours pas à le faire fonctionner.
Tomyo
Il semble y avoir un package easystroke de nos jours, et l'option -g ne lui est pas connue. Sans l'argument, il démarre cependant une interface graphique. :) PS: je lance Mint 16.
Herbert
2

Je voulais juste vous suggérons d' utiliser ma poursuite de mtrack disponible sur GitHub: https://github.com/p2rkw/xf86-input-mtrack , car il supporte 3 glisser des doigts (instructions en bas de readme).

Je suis également l'utiliser avec conjonction avec easystroke, mais je devais modifier easystroke pour supprimer certaines restrictions sur les périphériques absolus, avec ce changement simple (je ne me rappelle pas la raison exacte pour ce faire, désolé):

diff --git a/handler.cc b/handler.cc
index 8830ea2..c9e3f91 100644
--- a/handler.cc
+++ b/handler.cc
@@ -563,7 +563,7 @@ protected:
        }
 protected:
        void move_back() {
-               if (!prefs.move_back.get() || (xstate->current_dev && xstate->current_dev->absolute))
+               if (!prefs.move_back.get())
                        return;
                XTestFakeMotionEvent(dpy, DefaultScreen(dpy), orig_x, orig_y, 0);
        }

J'ai aussi réduit la marge d'erreur pour les gestes:

diff --git a/gesture.cc b/gesture.cc
index 8531c08..0df990e 100644
--- a/gesture.cc
+++ b/gesture.cc
@@ -104,9 +104,9 @@ int Stroke::compare(RStroke a, RStroke b, double &score) {
                return -1;
        score = MAX(1.0 - 2.5*cost, 0.0);
        if (a->timeout)
-               return score > 0.85;
+               return score > 0.95;
        else
-               return score > 0.7;
+               return score > 0.92;
 }

... et il fonctionne très bien.

Note côté sur la configuration douloureuse: vous pouvez utiliser xinput pour le configurer à la volée, puis modifier en conséquence xorg.conf, ou créer script de démarrage avec des invocations XInput.

p2rkw
la source