web-dev-qa-db-fra.com

Faites défiler les mouvements de la souris lorsque le bouton du milieu est maintenu enfoncé

Sous Windows, je suis habitué à cliquer sur le bouton central et à proposer une option de "défilement rapide" vers le haut ou vers le bas. Comment puis-je obtenir ce comportement sous Linux? Il semble actuellement utiliser à la place le bouton de retour lors d'un clic central.

J'utilise Gnome sous CentOS.

33
some1

Cette fonctionnalité Windows n'a jamais vraiment fait son chemin dans le monde Unix. Dans le monde Unix, l'objectif principal du bouton central de la souris est de coller le contenu du presse-papiers (ou plus précisément, le texte sélectionné avec la souris, qui est automatiquement copié). Quelques applications multiplates-formes telles que Firefox et Chrome qui prennent en charge le bouton central de la souris de style Linux sous Windows et vice versa, mais à part cela, la plupart des applications ne prennent pas en charge ce type de fine- défilement granuleux.

Néanmoins, vous pouvez vous rapprocher assez au niveau du système. Il est possible de configurer un bouton de la souris de sorte que lorsqu'il est enfoncé, les mouvements de la souris se transforment en événements de roue. Il s'agit de la même fonctionnalité que celle à laquelle vous êtes habitué, mais vous trouverez probablement le mouvement saccadé, car les applications reçoivent des événements de roue, qui sont généralement interprétés comme faisant défiler une ligne ou une colonne entière.

Pour jouer avec cette configuration, utilisez le programme xinput (je ne sais pas s'il y a une interface graphique pour cela). Tout d'abord, exécutez la commande suivante pour voir le nom de votre périphérique de pointage:

$ xinput --list       
⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Generic USB Mouse                         id=8    [slave  pointer  (2)]
⎜   ↳ Macintosh mouse button emulation          id=12   [slave  pointer  (2)]
⎣ Virtual core keyboard                         id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=7    [slave  keyboard (3)]
    ↳   USB Keyboard                            id=9    [slave  keyboard (3)]

Par exemple, dans la sortie ci-dessus, le périphérique de pointeur est Generic USB mouse. Vous pouvez exécuter la commande suivante pour répertorier les propriétés pouvant être optimisées:

xinput --list-props 'Generic USB Mouse'

L'ensemble des propriétés que vous recherchez sont celles de "l'Emulation de roue Evdev". Avec les paramètres suivants, lorsque vous appuyez sur le bouton central de la souris (bouton 2), le déplacement de la souris envoie des événements de molette (4 = haut, 5 = bas, 6 = gauche, 7 = droite).

xinput --set-prop 'Generic USB Mouse' 'Evdev Wheel Emulation' 1
xinput --set-prop 'Generic USB Mouse' 'Evdev Wheel Emulation Button' 2
xinput --set-prop 'Generic USB Mouse' 'Evdev Wheel Emulation Axes' 6 7 4 5

Vous voudrez peut-être modifier d'autres paramètres (inertie, timeout).

Vous pouvez mettre ces commandes dans un script. Ajouter #!/bin/sh comme toute première ligne et rendre le fichier de script exécutable (par exemple chmod +x ~/bin/activate-wheel-emulation.sh). Ajoutez ensuite ce script à la liste des commandes à exécuter au démarrage de votre session (gnome-session-properties vous permet de configurer cela).

Si vous avez un accès root et que vous souhaitez effectuer la modification pour tous les utilisateurs (acceptable sur une machine domestique), il est plus simple de le faire via le fichier de configuration du serveur X.org . En tant que root, créez un fichier appelé /etc/X11/xorg.conf.d/wheel-emulation.conf contenant les paramètres du pilote de la souris . Les paramètres sont les mêmes mais ils sont organisés un peu différemment.

Section "InputClass"
    Identifier "Wheel Emulation"
    MatchProduct "Generic USB Mouse"
    Option "EmulateWheel" "on"
    Option "EmulateWheelButton" "2"
    Option "XAxisMapping" "6 7"
    Option "YAxisMapping" "4 5"
EndSection

Il s'avère que cela peut être fait via les préférences de Firefox.

  1. Dans le menu déroulant: Edition -> Préférences
  2. Sélectionnez ensuite les onglets: Avancé -> général
  3. Cochez ensuite "Utiliser le défilement automatique"

Capture d'écran

ss

26
some1

pour chrome vous pouvez utiliser cette extension pour le défilement automatique

défilement automatique

n'oubliez pas de redémarrer chrome après avoir installé l'extension

1
codegames