Est-il possible de configurer le défilement inertiel synaptique de manière à ce qu'il soit interrompu lorsqu'une touche est enfoncée sur le clavier?
Pour expliquer cette question: j'utilise souvent des raccourcis. Maintenant, lorsque je navigue par exemple sur le Web et que je fais défiler vers le haut d'un site Web en utilisant le défilement inertiel, je fais un zoom fou sur le site si j'essaie d'ouvrir un nouvel onglet avec Ctrl+ Tcar le navigateur ne détecte que Ctrl+ scrolling.
Cela se produit dans de nombreuses applications et est vraiment ennuyeux. J'aimais le défilement inertiel, mais tant que ce problème persiste, je dois le désactiver.
Strg
la même chose queCtrl
?Réponses:
Je crains que cela n'ait déjà été discuté sur Xorg et qu'il soit marqué comme "Résolu résolu" mais ne sera pas corrigé car Xorg ne se rendra pas compte lorsque vous appuyez Ctrlet que le défilement inertiel est toujours en place. (Voir le commentaire de Peter Hutterer et son analogie avec Ctrl).
Donc, au moins jusqu'à ce que nous ayons Unity 8 (lorsque Xorg est remplacé par Mir et, espérons-le, nous voyons cela comme vraiment résolu), nous ne pouvons avoir qu'une solution de contournement plutôt qu'une solution parfaite ou désactiver complètement le défilement inertiel.
L'un des correctifs que je recommanderais est de désactiver la fonctionnalité Ctrl+ scrollingdans l'application elle-même. C'est certainement une solution impure car le problème est toujours en place mais seul l'effet est supprimé et vous devrez le faire pour n'importe quelle application que vous utilisez le plus souvent le défilement inertiel.
Pour désactiver la fonctionnalité Ctrl+ scrollingdans Firefox, tapez
about:config
dans la barre d'adresse puis cliquez sur "Je ferai attention, je le promets!" Maintenant, dans la barre de recherche, tapezmousewheel.with_control.action
et double-cliquez sur le premier résultat et définissez sa valeur sur1
, qui ne ferait que faire défiler le contenu au lieu de zoomer. Vous pouvez définir sa valeur sur les valeurs suivantes avec les effets correspondants:Je mettrai à jour la réponse si je peux trouver une solution plus propre et meilleure.
la source
Alt
+scrolling
« folie de commutation de bureau », ce qui est un autre symptôme du même problème sous - jacent.Le cabotage en coin aide! Bien que ce ne soit pas un vrai correctif, j'ai trouvé que l'utilisation du
CornerCoasting
mode du pilote Synaptics au lieu du mode de défilement inertiel normal (sans doigt) aide. Raison: le mode roue libre en coin est actif tout en gardant le doigt dans le coin et s'arrête immédiatement lors du relâchement. Tout en appuyant sur Ctrlpendant le virage en coin crée toujours le problème de "folie du zoom de Firefox" que vous décrivez, j'ai trouvé que je suis très peu susceptible de le faire pendant que je suis activement impliqué dans une action (c'est-à-dire avec le doigt sur le pavé tactile plutôt que le cabotage sans doigt).Essayer le cabotage de coin. La commande suivante configure le mode de roue libre en coin:
VertEdgeScroll=1
est parce que le cabrage en coin ne fonctionne qu'avec le défilement des bords, pas avec le défilement à deux doigts. Si vous aimez les virages en coin sur les bords droit et inférieur, ajoutezHorizEdgeScroll=1
à la ligne ci-dessus.CornerCoasting=1
active le mode roue libre en virage.CoastingSpeed
est la vitesse minimale de défilement pendant le cabotage, mais cela semble également être la vitesse minimale du curseur pour le déclencher. Je l'ai donc réglé au minimum pour faciliter le déclenchement du mode, ce qui peut être difficile (et impossible avec quelque chose comme çaCoastingSpeed=100
).CoastingFriction
est une valeur permettant au défilement inertiel de disparaître. Nous le désactivons ici pour le maintenir en place jusqu'à ce que vous leviez le doigt, différent de ce qui est généralement souhaité dans les cabotages conventionnels. Pour plus de détails sur ces options, consultez la page de manuel Synaptics .Quelque chose qui n'est pas mentionné dans la page de manuel: le cabotage dans les coins est apparemment activé en glissant d'une zone de bord non-coin dans une zone de coin, puis en maintenant le doigt dessus . Ainsi, le mouvement de cabrage en coin s'arrête si vous soulevez accidentellement le doigt, pendant très peu de temps même, en vous cognant contre / sur le bord du pavé tactile. Le mode de déclenchement «se déplacer dans une zone de coin» signifie également que le cabotage en coin ne fonctionnera pas ou sera difficile à déclencher si votre
TopEdge
etBottomEdge
les paramètres laissent peu ou pas de zone non coin au bord. Celles-ci sont pertinentes ici car les zones d'angle sont définies par les intersections des zones de bord. De plus, sans zone de bord droit de taille accessible, le déclenchement d'un cabrage en coin sera également difficile, voire impossible. Pour mon matériel (ThinkPad X201), j'ai trouvé que ces valeurs fonctionnaient bien (les vôtres peuvent être différentes, cela prend un peu d'expérimentation):Faire un bâton de roue libre. Bien qu'il
synclient
soit idéal pour tester les paramètres avec effet immédiat, ils sont perdus lors du redémarrage de X. Pour les faire coller, créez un/etc/X11/xorg.conf.d/51-synaptics-cornercoasting.conf
fichier de configuration ou un nom similaire comme décrit ici (il fonctionne également dans Ubuntu!). Dans le cas ci-dessus, le contenu serait:Et puis redémarrez X pour voir l'effet, bien sûr.
la source
Substituts possibles. Si vous souhaitez désactiver complètement le défilement inertiel parce que le bogue est tout simplement trop ennuyeux, il existe des substituts possibles (pas exactement le défilement inertiel, mais des modes de défilement sans effort similaires qui peuvent être utilisés à la place):
À l'échelle du système:
Défilement sensible du bouton Trackpoint. Celui-ci utilise un trackpoint ThinkPad (mais il peut être modifié pour d'autres trackpoints) pour le défilement pendant que le bouton middlemouse est enfoncé. Cela s'appelle le " défilement sur bouton " dans le
libinput
pilote et "l'émulation de la molette" dans l'ancienevdev
pilote.L'idée est ici que vous le définissiez si sensible qu'un petit peu de pression constante défilera rapidement à travers de longues pages. Pour configurer cela, veuillez vous référer à cette question , en particulier. la réponse de @htorque qui fonctionne le mieux avec le
libinput
pilote (la valeur par défaut d'Ubuntu 17.10).Spécifiquement pour Firefox:
Extension Grab and Drag . Cela fournit une sorte de mode de projection inertielle / traînée inertielle, assez similaire au défilement inertiel à deux doigts. Configurez-le pour utiliser le bouton gauche de la souris, qui est le mode le plus similaire au défilement inerte à deux doigts sur un pavé tactile. Utilisez simplement un doigt en appuyant et maintenez, puis "lancez la page Web". Cela interfère bien sûr avec la sélection du texte, mais ils ont un bouton pour désactiver temporairement l'extension.
L'interférence de sélection de texte est ennuyeuse, mais sa configuration pour tout autre bouton de la souris sur un pavé tactile rend l'utilisation très délicate. (Par exemple, avec un clic du milieu, qui peut être configuré comme un clic à deux doigts sur le pavé tactile, ce serait: appuyez avec deux doigts, appuyez et maintenez avec deux doigts, soulevez un doigt, puis lancez le mouvement comme ci-dessus: D ).
Défilement automatique. Voir cette réponse pour savoir comment le configurer. En outre, configurez le tapotement à deux doigts pour créer un clic du milieu - en effet juste
synclient TapButton2=2
. Maintenant, un clic avec deux doigts fera apparaître l'élément de défilement automatique dans Firefox, et en éloignant le pointeur de la souris, il défilera en permanence dans cette direction jusqu'à ce qu'un clic se produise. Malheureusement, le déplacement du pointeur doit être fait avec un seul doigt. (Cela ne fonctionne tout simplement pas avec deux doigts, même lorsque le défilement à deux doigts est désactivé.) Et je n'ai pas pu trouver comment inverser le sens de défilement de cette fonction pour qu'elle soit "naturelle".la source