Vous cherchez un moyen d'améliorer la détection de la paume synaptique / du pavé tactile

17

Je trouve que la détection de la paume de mon pavé tactile est assez horrible. Je l'ai réglé à la sensibilité minimale ne ruinant pas mon utilisation du pavé tactile (PalmMinWidth = 5, PalmMinZ = 1), et je reçois toujours des bosses aléatoires chaque fois que je tape sur mon clavier.

Je préfère utiliser la détection de la paume que de désactiver le clavier lors de la frappe, car je trouve que le clavier est désactivé pendant une période trop longue (c'est-à-dire que j'ai fini de taper et que je dois attendre 2 secondes avant d'utiliser à nouveau le clavier, ce qui est ennuyeux) . Une stratégie possible serait de réduire ce délai, même si je ne sais pas si le pavé tactile resterait utilisable (si vous savez comment le faire, postez-le, mieux que rien :).

Chaque fois que j'utilise Windows, je trouve que je n'ai pas autant de problèmes avec le pavé tactile, donc il doit y avoir un moyen d'améliorer la détection de la paume?

Enfin, j'exécute Debian testant 64 bits sur le noyau Linux 3.2.0-rc7.

levesque
la source
Cette question est un double d'une question à laquelle j'ai répondu sur SuperUser en 2011. Je n'ai pas la réputation sur Unix et Linux Stack Exchange de signaler comme dupe. superuser.com/questions/277427/…
downbeat

Réponses:

17

J'ai eu des problèmes similaires et j'ai trouvé la réponse sur ce blog assez complète et j'ai copié les détails pertinents:

Configurer la détection des paumes:

Activez la détection des paumes, dans un type de terminal:

$ synclient PalmDetect=1

Définissez la largeur maximale qui doit être interprétée comme un doigt au lieu d'une paume. Je choisis 4, la plupart des tutoriels utilisent 10, c'est bien de faire un peu de devinettes et de tester ici:

$ synclient PalmMinWidth=4

Ensuite, définissez la hauteur minimale d'une paume par rapport à un doigt:

$ synclient PalmMinZ=50 

Enfin, sous Ubuntu, le clic central à 3 doigts n'est pas activé par défaut, donc si vous voulez l'activer, utilisez:

$ synclient TapButton2=3 TapButton3=2

En théorie, cela devrait permettre un tapotement à 2 doigts pour le clic du milieu et un tapotement à 3 doigts pour le clic droit, mais dans Ubuntu 13.04, le comportement résultant est exactement le contraire. Par conséquent, si vous préférez utiliser 2 doigts pour un clic moyen:

$ synclient TapButton2=2 TapButton3=3 

Pour rendre cela permanent une fois que vous avez trouvé les paramètres corrects, enregistrez-les dans ceux 50-synaptics.confqui se trouvent /usr/share/X11/xorg.conf.d/50-synaptics.confdans Debian / Ubuntu (Semplice) et /etc/X11/xorg.conf.d/50-synaptics.confdans les distributions basées sur Arch Linux, (la première partie "InputClass" est pour le correctif du clic central multi-touch , qui est déjà activé dans Arch, vous ne devriez donc pas avoir besoin de l'ajouter):

Section "InputClass"
    Identifier "touchpad catchall"
    Driver "synaptics"
    MatchIsTouchpad "on"
    MatchDevicePath "/dev/input/event*"
    Option "TapButton1" "1"
    Option "TapButton2" "2"
    Option "TapButton3" "3"
    Option "HorizTwoFingerScroll" "on"
    Option "VertTwoFingerScroll" "on"
EndSection


#synclient PalmDetect=1
Option "PalmDetect" "1"
#synclient PalmMinWidth=4
Option "PalmMinWidth" "4"
#synclient PalmMinZ=50
Option "PalmMinZ" "50"

Éteindre temporairement le pavé tactile pendant la frappe:

Au lieu d'utiliser des commandes synclient, utilisez syndaemon:

$ syndaemon -K -i 0.5 -R -d 

Le wiki arch prétend que si vous enregistrez cette commande dans votre ~/.xinitrcfichier pour l'exécuter automatiquement lors de votre prochaine connexion. Cependant, lorsque je l'ai fait, je ne savais pas que la commande devait se produire avant le lancement du bureau ( exec DESKTOP.sessioncommande). Après avoir joué avec une tonne d'autres fichiers de configuration et appris une tonne sur le gestionnaire d'affichage SLiM, j'ai finalement réalisé que la commande devait simplement être déplacée plus haut dans le fichier, car les commandes après le lancement du bureau ne seront exécutées que sur le bureau est quitter.

virtualxtc
la source
5

J'ai trouvé le moyen de modifier la durée pendant laquelle le pavé tactile est désactivé lors de la frappe. Pour tous ceux qui le recherchent ici, c'est:

Remarque: une recherche Google donne la réponse assez rapidement

Il suffit d'exécuter le programme syndaemon -det d'ajouter une option -i wait_timeoù wait_time est la durée d'attente avant de réactiver le pavé tactile. D'autres paramètres utiles à donner à syndaemon incluent-K de ne jamais désactiver le pavé tactile lorsque les frappes sont du modificateur de format + touche et -tde désactiver uniquement les clics et non les mouvements de la souris.

Donc, dans mon cas, j'ai ajouté ce qui suit à un script que j'exécute lors de la connexion:

#Get rid of previous syndaemon
killall syndaemon
#More aggressive behavior, allow for mod+key combos, enable mouse movements
syndaemon -i 0.2 -K -t -d

Avec toutes ces modifications, notamment le -tdrapeau, je peux vivre avec le touchpad tel qu'il est pour l'instant!

levesque
la source
Je trouve que j'ai besoin de -t au moins (-t Désactiver uniquement le tapotement et le défilement, pas les mouvements de la souris, en réponse à l'activité du clavier) ou bien je suis devenu fou. Je suis sur Fedora 16. Comment rendez-vous vos modifications permanentes?
Philip Durbin
@PhilipDurbin Je les ai mis dans un script qui est appelé au démarrage (en utilisant gnome-session-properties), mais je dois le faire pour chaque utilisateur. La manière la plus traditionnelle consiste à les mettre dans un fichier xorg.conf, mais je n'ai pas trouvé de moyen d'y définir les syndaemonoptions, uniquement les synclientoptions.
levesque
3

J'ai un ordinateur portable moderne avec un gros pavé tactile et la moitié du temps, ma paume droite était assise sur le bord et faisait de faux clics en tapant. La méthode synclient PalmDetect = 1 ne fonctionnait pas pour moi (peu importe ce que je définissais PalmMinWidth et PalmMinZ). C'était peut-être le fait que ma paume touchait le coussinet par la droite et que la détection de la paume le vérifiait par le haut. Je n'en suis pas sûr.

J'ai résolu le problème en créant une zone morte sur le bord droit. Voici comment procéder:

synclient 

vous donnera les paramètres actuels du pavé tactile. ces résultats sont intéressants ici:

LeftEdge                = 1572
RightEdge               = 5370
TopEdge                 = 1376
BottomEdge              = 4480

De toute évidence, les chiffres varient en fonction du matériel. Cherchez le bord que vous voulez. Dans mon cas, c'était le bord droit. J'ai choisi un montant que je voulais raser. Vous voulez raser le plus petit nombre avec lequel vous pouvez vous en sortir tout en bloquant les faux clics de votre paume. Un test très simple serait de trouver une image cliquable sur le Web, de passer la souris au-dessus de son centre et de reposer votre paume où vous taperiez habituellement. Pour simuler la frappe, frappez (légèrement!) Le bord du pavé tactile avec la partie de votre paume qui dépasse généralement lorsque vous tapez. Si vous obtenez des clics, vous le saurez immédiatement. Ce sera un essai et une erreur, continuez à jouer avec jusqu'à ce que vous atteigniez le point idéal. Dans mon cas, le rasage de 30 a fait l'affaire:

synclient AreaRightEdge=5340

Pour modifier les autres arêtes, changez AreaBottomEdge, AreaLeftEdge ou AreaTopEdge. La remise à 0 de ces valeurs les désactivera.

thebunnyrules
la source
La page de manuel mentionne que la fonction de détection de la paume nécessite une prise en charge matérielle. J'ai trouvé des discussions où les gens discutaient de pavés tactiles qui, en théorie, ont un support matériel, mais dans la pratique, cela n'a tout simplement pas fonctionné. J'ai donc essayé PalmDetect=1mais je n'ai pas réussi à le faire fonctionner. J'ai défini les paramètres de sorte que toutes les entrées aient dû être traitées comme des coups de palmier accidentels, mais toutes les entrées sont toujours passées. Mon pavé tactile ne le prend donc pas en charge ou est buggé. En fin de compte, j'ai utilisé les Area...Edgeparamètres pour raser la zone de mon pavé tactile. Et ça a marché.
Louis