web-dev-qa-db-fra.com

Le défilement naturel ne fonctionne pas avec le défilement horizontal, comment résoudre ce problème?

J'ai activé le défilement naturel via les options diverses de buntu Tweak , mais cela ne semble pas prendre effet pour le défilement horizontal - ni dans les navigateurs Web, ni dans Nautilus ou d'autres applications natives.

Existe-t-il un moyen d'imposer ce comportement également au défilement horizontal?

J'utilise Ubuntu 12.04.

8
Eliran Malka

Il existe également un moyen "plus agréable" basé sur xorg.conf pour rendre les réglages <V_DISTANCE> et <H_DISTANCE> inversés (déterminés en fonction de réponse de Eliran ):

Créez un répertoire /etc/X11/xorg.conf.d/ et un fichier tel que 51-synaptics-tweaks.conf contenant:

Section "InputClass"
    Identifier "touchpad"
    Driver "synaptics"
    MatchIsTouchpad "on"
        Option "VertTwoFingerScroll" "on"
        Option "HorizTwoFingerScroll" "on"
        # In the following lines, use your own negative V_DISTANCE / H_DISTANCE values.
        Option "VertScrollDelta" "-113"
        Option "HorizScrollDelta" "-113"
EndSection

Ceci suit les recommandations d'Ubuntu dans les exemples de fichiers /usr/share/xorg.conf.d/* et aussi instructions Archlinux . Pour voir l'effet, redémarrez X bien sûr :)

4
tanius

Au lieu d'utiliser une application désignée pour configurer le défilement naturel, un script peut être créé pour inverser les directions de défilement - à la fois sur l'axe vertical et sur l'axe horizontal.

  1. Tout d’abord, obtenez la propriété xinput relative à la distance de défilement (notez les variables encadrées par des crochets):

    $ xinput list
    ⎡ Virtual core pointer id=2 [master pointer (3)]
    ⎜   ↳ Virtual core XTEST pointer id=4   [slave pointer (2)]
    ⎜   ↳ SynPS/2 Synaptics TouchPad id=<TOUCHPAD_ID>   [slave pointer (2)]
    ⎣ Virtual core keyboard id=3    [master keyboard (2)]
        (...)
    
  2. Récupérez les valeurs appropriées pour cet accessoire:

    $ xinput list-props <TOUCHPAD_ID> | grep "Scrolling Distance"
        Synaptics Scrolling Distance (<DISTANCE_KEY>):  <V_DISTANCE>, <H_DISTANCE>
        Synaptics Circular Scrolling Distance (301):    0.100000
    
  3. Ensuite, créez le fichier de script pour appliquer les directions inversées, en inversant les valeurs de distance verticale/horizontale. Nourrir les variables retournées plus tôt:

    #!/bin/sh
    xinput set-prop <TOUCHPAD_ID> <DISTANCE_KEY> -<V_DISTANCE> -<H_DISTANCE>
    nautilus -q
    nautilus -n &
    
  4. Accordez au fichier des autorisations d'exécution, configurez-le pour qu'il s'exécute au démarrage, et voilà.

Source:

Cette méthode a été transférée de l'ancien blog Web d'Andy C. , pour créer une réponse autonome. Merci, Andy, pour cette solution élégante et globale.

Remarques

  • Apparemment, appeler Nautilus enfreint le script le 13 avril. Omettre les deux appels à Nautilus résout le problème.
  • Le défilement naturel (verticalement et horizontalement) fonctionne correctement avec 14.x, vous n'avez donc pas besoin de script, il vous suffit d'activer le "Défilement naturel" dans les options Souris et pavé tactile.
9
Eliran Malka

Au lieu d'utiliser des fichiers de script ou Ubuntu Tweak, vous pouvez également utiliser l'application appelée "Natural Scrolling", créée par Zedtux. Cela viendra comme indicateur.

Pour l'installer, le plus simple est d'utiliser un terminal:

Sudo apt-add-repository ppa:zedtux/naturalscrolling
Sudo apt-get update
Sudo apt-get install naturalscrolling
3
Agmenor

Dans xfce4 (Xubuntu, Ubuntu Studio, ...), vous pouvez ajouter ceci sur la console:

echo 'pointer = 1 2 3 4 5 7 6 8 9 10 11 12' >> .Xmodmap
xmodmap .Xmodmap
1
rubo77