Comment faire défiler l'écran en utilisant le clic du milieu?

31

Sous Windows, la plupart des programmes dotés de grands conteneurs de texte pouvant défiler (par exemple tous les navigateurs, la plupart des traitements de texte et des IDE) vous permettent d'appuyer sur le bouton central de la souris, puis de déplacer la souris pour faire défiler. Ce défilement est fluide et vous permet de faire défiler très rapidement en utilisant juste la souris.

Lorsque j'ai utilisé Linux sur des ordinateurs portables , le défilement à deux doigts remplit à peu près la même fonction; il est facile de faire défiler une page rapidement (beaucoup plus rapidement que l'on ne peut en faisant défiler la molette de la souris) mais le défilement reste suffisamment fluide pour permettre un positionnement précis.

Je ne sais pas comment réaliser la même chose lors de l'exécution de Linux sur un bureau avec une souris. Pour autant que je sache après un tas de recherches sur Google, il n'y a ni paramètres spécifiques à l'application pour passer au comportement du bouton central de la souris de style Windows, ni aucun paramètre à l'échelle du système pour obtenir le même effet.

Juste pour rendre cela concret, disons - si c'est pertinent - que je demande dans le contexte de Firefox, Google Chrome, Gedit et Eclipse sur une version récente de Mint (ce que j'utilise à la maison) ou Ubuntu (ce que j'utilise) au travail). Je soupçonne que c'est une question assez distro-agnostique et indépendante de l'application, cependant.

Pour autant que je sache, mes options de défilement sont les suivantes:

  • Faites défiler avec la molette de la souris - lentement!
  • Utilisez les touches PgUp / PgDn - saute sur une distance énorme à la fois, donc ne peut pas être utilisé pour un positionnement précis et est moins confortable que l'utilisation de la souris
  • Faites glisser la barre de défilement sur le côté droit de l'écran de haut en bas comme je le faisais sur les anciens PC Windows avec des souris à deux boutons. C'est ce que je fais dans la pratique, mais c'est tout simplement moins confortable que le défilement de la souris au milieu de Windows; sur un grand écran large, il me faut plus d'une seconde pour déplacer le curseur du milieu de l'écran vers la barre de défilement, et la plupart d'une seconde pour le reculer, et je dois quitter les yeux du contenu que je suis en train de faire défiler pour le faire.

Rien de tout cela ne me satisfait! Ce problème d'interface utilisateur est la seule chose qui empoisonne mon plaisir de Linux sur les ordinateurs de bureau et me fait presque regretter d'utiliser un pavé tactile d'ordinateur portable au lieu d'une souris. Cela m'irrite assez que j'ai conclu que soit je manque une fonctionnalité de base de l'interface utilisateur Linux qui résout ce problème, soit je suis juste un monstre hypersensible et cela ne dérange même personne - mais je ne suis pas sûr de savoir .

Donc mes questions sont:

  1. Le défilement du bouton central de la souris de style Windows existe-t-il partout dans le monde Linux, ou est-ce vraiment purement Windows? En particulier, les navigateurs Web Linux vous permettent-ils d'utiliser le défilement de style Windows?
  2. Existe-t-il des mécanismes de défilement des pages qui existent sous Linux mais pas sous Windows, en particulier ceux qui remplissent le rôle que j'ai décrit?
  3. Y a-t-il d'autres solutions qui me manquent?
Mark Amery
la source
1
Vous appelez «maintenir la souris du milieu et déplacer la souris» «défilement de style Windows» mais je n'ai jamais été conscient qu'il y avait quelque chose de spécifique à Windows à ce sujet. En fait, je n'avais aucune idée de ce que vous entendiez par "style Windows" avant de lire attentivement votre question. Vous voudrez peut-être modifier votre question pour utiliser un terme plus éclairant car je doute que beaucoup d'autres personnes sur ce site sauront ce que vous voulez dire. Pour autant que je me souvienne, c'était un comportement assez standard même sous Linux - c'est probablement juste une question de configuration de la souris et de maintenir la molette de la souris enregistrée comme bouton central de la souris.
jw013
1
@ jw013 Je n'ai jamais vu d'installation Linux où ce comportement existait; le bouton du milieu de la souris semble toujours être simplement Coller, et Google suggère qu'il n'y a aucun moyen de désactiver le comportement de collage de la souris du milieu (ce qui implique pour moi aucun moyen d'activer le comportement de défilement de la souris du milieu - mais je ne suis pas sûr, ce qui est pourquoi j'ai demandé ici).
Mark Amery
1
@ jw013 BTW, si vous pouvez suggérer un terme plus instructif, je vais l'utiliser, mais pour autant que je sache, ce comportement n'a pas de nom propre / officiel et je ne peux pas penser à un nom succinct et clair à lui donner - qui est pourquoi je l'ai plutôt décrit avec soin dans mon premier paragraphe.
Mark Amery
En fait, je suis passé à une souris trackball sans roulette de défilement il y a quelque temps, donc tout cela est un souvenir. Je l'appellerais probablement "défilement du milieu de la souris". Si je me souviens bien, le collage ne s'est déclenché que sur un simple clic, le défilement s'est produit si vous mainteniez le bouton enfoncé et déplaçiez la souris. J'ai peut-être eu quelques paramètres xorg.confqui m'ont aidé (j'ai tendance à copier mes anciennes xorg.confpersonnalisations vers de nouvelles installations, donc je ne me souviens pas exactement). Si vous utilisez GNOME, essayez de fouiller dans les préférences de votre souris et voyez s'il y a quelque chose.
jw013
@MarkAmery Juste au cas où vous ne l'auriez pas déjà trouvé, voir la réponse de Gilles à une question similaire. La méthode décrite par Gilles permettra l'émulation de la molette de défilement dans toutes les applications X.Org, pas seulement Firefox.
Arkanon

Réponses:

31

La fonctionnalité dont vous parlez s'appelle le défilement automatique . Il vous permet de maintenir enfoncé le bouton central de la souris et de déplacer votre souris pour faire défiler en douceur. Sous Linux, le comportement par défaut de cette action (en appuyant sur le bouton central de la souris) est généralement utilisé pour coller du texte.

Cependant, il existe un paramètre de préférence dans Firefox et une extension disponible pour Chrome / Chromium qui vous permettrait d'utiliser le bouton central de la souris pour faire défiler et activer cette fonctionnalité.

Firefox

  • Ouvrez votre boîte de dialogue Préférences: EditMenu >> Preferences.
  • Accédez à AdvancedTab puis à GeneralTab.
  • Sous Browsing, vous trouverez l'option appelée Use autoscrolling. Cochez cette case pour activer cette fonctionnalité dans Firefox.

    Préférences de Firefox

Chrome / Chrome

Pour Chrome / Chromium, nous pouvons utiliser une extension appelée AutoScroll (de kaescripts.blogspot.com) .

  • Accédez à ce lien sur le Chrome Web Store (en utilisant évidemment Chrome / Chrome).
  • Appuyez sur le bouton étiqueté ADD TO CHROMEpour installer cette extension.

    Extension Chrome

  • Cliquez sur Adddans la boîte de dialogue de confirmation.

Autres applications

En ce qui concerne les autres applications, je n'ai pas encore trouvé de solution pour elles. Quoi qu'il en soit, ce sont les pages Web hautes qui créent la plupart du problème pour lequel Firefox et Chrome / Chromium ont une solution.

Bon défilement!

Aditya
la source
1
Impressionnant. Je vais essayer les extensions au travail demain et ensuite accepter cette réponse. Je suis assez convaincu maintenant que pour la plupart des autres applications, il n'y a tout simplement pas de solution.
Mark Amery
@MarkAmery: Yup ... Pour moi, c'est la chose la plus ennuyeuse sous Linux ... Cela m'agace toujours dans un de mes dossiers qui contient beaucoup, beaucoup de fichiers ... Sinon, comme je l'ai dit, cette fonctionnalité est surtout utile pour les pages Web, pour lesquelles nous avons une solution à portée de main ... :)
Aditya
2
Ça marche! Yay! :)
Mark Amery
Drôle, cela ne fonctionne pas sur certains sites comme https://chrome.google.com/webstore/category/apps?hl=enlui.
dashesy
1
C'est la meilleure réponse et devrait être acceptée: unix.stackexchange.com/a/421672/115227
jtolds
8

Cela fonctionnera avec toutes vos applications sans avoir besoin d'installer quoi que ce soit.

Obtenez votre ID de périphérique d'entrée. Dans mon cas (Logitech M315 / M235) était de 11.

xinput list

Si vous le souhaitez, répertoriez les propriétés disponibles avec xinput list-props <deviceID>. Si vous utilisez libinput (le futur / présent), presque toutes les propriétés commenceront par libinput . Pour evdevvérifier ma réponse ici .

Aveclibinput :

Définir les propriétés de la souris

xinput set-prop 11 "libinput Scroll Method Enabled" 0, 0, 1  # This is button
xinput set-prop 11 "libinput Button Scrolling Button" 2      # This is middle mouse. Already 2 by default

Description de man libinput:

  • libinput Scroll Method Activé 3 valeurs booléennes (8 bits, 0 ou 1), dans l'ordre "deux doigts", "bord", "bouton". Indique la méthode de défilement actuellement activée sur cet appareil.
  • Bouton libinput Bouton de défilement 1 Valeur 32 bits. Définit le numéro du bouton à utiliser pour le défilement des boutons. Ce paramètre est indépendant de la méthode de défilement, pour faire défiler les boutons, la méthode doit être définie sur défilement des boutons et un bouton valide doit être défini.

  • Vous pouvez l'ajouter à un script bash et l'exécuter à la connexion.
  • Comme la roue, avec le même mouvement tout en appuyant sur vous Ctrlzoomerez / dézoomerez la page. Ctrl+0réinitialiser.
  • Ce travail avec X. Avec Wayland peut être une autre histoire.
Pablo A
la source
"Pour evdev[faire une chose]. Avec libinput: [faire une autre chose]." Comment puis-je savoir lequel s'applique à moi? Je n'ai jamais entendu parler non plus avant de lire cette réponse.
Mark Amery
@MarkAmery Je ne connais pas de manière simple, le module du noyau ( modinfo $(lsmod|grep -iE "input" | col1)) ne l'affiche pas . Mais après avoir obtenu votre deviceID et répertorier les propriétés, si vous utilisez libinputpresque toutes les propriétés commenceront par ce mot. Vous aurez xserver-xorg-input-libinputégalement installé le paquet, la libinput-list-devicescommande listera votre appareil (certainement sur /proc/bus/input/devices). Si vous utilisez X, vous trouverez plus d'informations sur diggin /usr/share/X11/xorg.conf.d/.
Pablo A
2
C'est la meilleure réponse et devrait être acceptée.
jtolds
J'ai essayé cela et j'ai constaté que non seulement cela ne fonctionne pas dans toutes les applications, mais aussi, dans celles où cela fonctionne, il se sent très hackish et pas du tout comme Windows.
Marc.2377