web-dev-qa-db-fra.com

Le pointeur de la souris passe en bas à gauche juste avant le clic gauche lorsque vous utilisez le pavé tactile

J'ai un Asus Zenbook UX305 avec 16.04 et Unity installé. Lors de l'utilisation du trackpad ("Elan touchpad" identifié par xinput), j'utilise ma main droite pour manœuvrer le pointeur de la souris et ma gauche pour effectuer des clics gauche dans le bas à gauche du pavé tactile. Malheureusement, la souris saute souvent en bas à gauche de l'écran juste avant que mon clic soit terminé. Au début, je pensais que le saut était entièrement en bas à gauche, mais par la suite, j'ai découvert que le saut ne se faisait que dans cette direction (en réglant la vitesse du pointeur de la souris).

J'ai essayé divers paramètres dans les paramètres de la souris et du pavé tactile, ainsi que des réglages dans Synclient (par exemple, FingerHigh), sans succès.

Généralement, je retire ma main droite du pavé tactile avant de cliquer avec la main gauche. Cependant, parfois, l'intervalle entre le relâchement et le clic est trop petit, voire inexistant. Mon sentiment est que d'une certaine manière la pression initiale de ma main gauche est perçue comme une pression exercée par un mouvement très rapide vers le bas à droite de la position de ma main droite alors que je la relâche.

Je voudrais vraiment résoudre ce comportement irritant.

Information additionnelle:

$ xinput --list ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ Elan Touchpad id=10 [slave pointer (2)] ⎣ Virtual core keyboard id=3 [master keyboard (2)] ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)] ↳ Power Button id=6 [slave keyboard (3)] ↳ Video Bus id=7 [slave keyboard (3)] ↳ Sleep Button id=8 [slave keyboard (3)] ↳ USB2.0 UVC HD Webcam id=9 [slave keyboard (3)] ↳ Asus WMI hotkeys id=11 [slave keyboard (3)] ↳ AT Translated Set 2 keyboard id=12 [slave keyboard (3)]

$ xinput --list-props "Elan Touchpad" Device 'Elan Touchpad': Device Enabled (137): 1 Coordinate Transformation Matrix (139): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000 Device Accel Profile (265): 1 Device Accel Constant Deceleration (266): 2.500000 Device Accel Adaptive Deceleration (267): 1.000000 Device Accel Velocity Scaling (268): 12.500000 Synaptics Edges (269): 123, 2974, 114, 2005 Synaptics Finger (270): 25, 30, 0 Synaptics Tap Time (271): 180 Synaptics Tap Move (272): 165 Synaptics Tap Durations (273): 180, 100, 100 Synaptics ClickPad (274): 1 Synaptics Middle Button Timeout (275): 0 Synaptics Two-Finger Pressure (276): 282 Synaptics Two-Finger Width (277): 7 Synaptics Scrolling Distance (278): 75, 75 Synaptics Edge Scrolling (279): 0, 0, 0 Synaptics Two-Finger Scrolling (280): 1, 1 Synaptics Move Speed (281): 1.000000, 1.750000, 0.053305, 0.000000 Synaptics Off (282): 2 Synaptics Locked Drags (283): 0 Synaptics Locked Drags Timeout (284): 5000 Synaptics Tap Action (285): 2, 3, 0, 0, 1, 3, 0 Synaptics Click Action (286): 1, 3, 0 Synaptics Circular Scrolling (287): 0 Synaptics Circular Scrolling Distance (288): 0.100000 Synaptics Circular Scrolling Trigger (289): 0 Synaptics Circular Pad (290): 0 Synaptics Palm Detection (291): 0 Synaptics Palm Dimensions (292): 10, 200 Synaptics Coasting Speed (293): 20.000000, 50.000000 Synaptics Pressure Motion (294): 30, 160 Synaptics Pressure Motion Factor (295): 1.000000, 1.000000 Synaptics Resolution Detect (296): 1 Synaptics Grab Event Device (297): 0 Synaptics Gestures (298): 1 Synaptics Capabilities (299): 1, 0, 0, 1, 1, 1, 1 Synaptics Pad Resolution (300): 33, 32 Synaptics Area (301): 0, 0, 0, 0 Synaptics Soft Button Areas (302): 1548, 0, 1737, 0, 0, 0, 0, 0 Synaptics Noise Cancellation (303): 18, 18 Device Product ID (257): 1267, 5 Device Node (258): "/dev/input/event7"

[Avertissement: ceci est très similaire à Comment puis-je empêcher le curseur de sauter de la position souhaitée à l'extrême gauche de l'écran? , mais nous n'avons pas pu déterminer s'il s'agissait d'un problème identique ou différent, car l’affiche originale a cessé de répondre à la question.]

2
Steve Kroon

La séquence d'événements que vous avez décrite est la suivante:

  • glisser le doigt de la main droite, suivi de
  • levée du doigt de la main droite, suivie de
  • doigt de la main gauche toucher et relâcher (toucher).

Lorsque vous cliquez avec une méthode particulière (avec les doigts de 2 mains sur le pad), assurez-vous de taper avec le doigt de votre main gauche après relâchant le contact du doigt de la main droite. Cela devrait aider le noyau à reconnaître un clic rapide comme un clic gauche et (j'espère) à faire la différence entre une trajectoire perçue comme continue sur le pad, allant de la main droite à la main gauche selon la séquence ci-dessus.

Expérimentez différentes avenues longuement ou changez éventuellement votre façon de travailler avec votre tablette tactile.

1) En roue libre: lisez d'abord le document et assurez-vous que " le cabotage conventionnel " est désactivé. Si vous souhaitez effectuer une descente en roue libre, assurez-vous que cette option est activée en tant que "Empreinte en roue libre" uniquement. Sinon, le type de séquence décrit ci-dessus conduira à ce que j'appelle une "fuite de mouvement de pointeur" ("roue libre"), un comportement qui consiste en ce que le pointeur continue son mouvement rectiligne même après que vous ayez cessé de le conduire sur le pad. Cabotage conventionnel s'arrête avec un robinet. "Edge-coasting" n'est activé que lorsque vous appliquez une pression du doigt sur un pad-Edge. Il s'arrête immédiatement lorsque la pression du doigt passe en dessous d'une valeur donnée.

2) Deuxièmement, ajustez Synaptics Tap Durations (273): 180, 100, 100:

Les 3 valeurs sont:

   Option "MaxTapTime" "integer"
          Single touch timeout or maximum time (in milliseconds) for detecting a tap.

   Option "MaxDoubleTapTime" "integer"
          Maximum time (in milliseconds) for detecting a double  tap.

   Option "ClickTime" "integer"
          Duration  of  the  mouse  click  generated  by tapping.

Essayez de réduire la valeur de MaxTapTime (durée de toucher et relâcher) de 180 à, par exemple, 90. Cela rendra le pad plus sensible aux taps, en aidant le noyau à distinguer entre un tapement rapide et un changement de doigt pendant le pointeur mouvement. Cela aura certainement des effets secondaires, que vous pouvez évaluer en vous référant à this .

Si cela ne vous donne pas de résultats satisfaisants, essayez de:

3) Désactivez Synaptics Pressure Motion (294): 30, 160:

  • Synaptics Pressure Motion: 32 bits, 2 valeurs, min., Max.

Tous les outils et la documentation dont vous avez besoin sont référencés et démontrés dans cette réponse ainsi que dans un précédent déjà cité par vous.

REMARQUE: Je ne suis pas sûr que quiconque puisse vous aider plus que cela, car la solution dépend en grande partie d'essais et d'erreurs et de vos goûts personnels. Pour cette raison, ce type de question ne suscite pas autant d’intérêt. Cela est naturellement important pour vous, mais je crains que ces détails ne tombent en dehors de la portée de l'intérêt général.

2
Cbhihe

J'ai eu ce problème avec un pavé tactile Synaptics et ce qui l'a résolu pour moi a été de changer les valeurs d'annulation du bruit. Après une nouvelle installation, les valeurs d'annulation du bruit étaient les suivantes:

Synaptics Noise Cancellation (353): 8, 8

J'ai donc changé les valeurs d'annulation du bruit en 20, 20 avec la commande

xinput --set-prop 13 "Synaptics Noise Cancellation" 20 20

Comme on dit, votre kilométrage peut varier ...

Prends soin de toi.

1
zakarpatska