Pengguliran alami tidak berfungsi untuk gulir horizontal, bagaimana cara memperbaikinya?

8

Saya telah mengaktifkan pengguliran alami melalui opsi lain-lain Ubuntu Tweak , tetapi itu tampaknya tidak berpengaruh pada gulir horizontal - baik di peramban web, maupun di nautilus atau aplikasi asli lainnya.

Apakah ada cara untuk menegakkan perilaku ini pada pengguliran horizontal juga?

Saya menggunakan Ubuntu 12.04.

Eliran Malka
sumber

Jawaban:

4

Ada juga xorg.confcara berbasis "lebih bagus" untuk membuat pengaturan terbalik <V_DISTANCE>dan <H_DISTANCE>(ditentukan berdasarkan jawaban @ Eliran ) permanen:

Buat direktori /etc/X11/xorg.conf.d/, dan di dalamnya file seperti 51-synaptics-tweaks.conf, berisi:

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

Ini mengikuti rekomendasi Ubuntu dalam /usr/share/xorg.conf.d/*file contoh dan juga instruksi Archlinux . Untuk melihat efeknya, restart X tentu saja :)

tanius
sumber
bagus dan bersih, +1!
Eliran Malka
sebenarnya, ini luar biasa. menerima :)
Eliran Malka
9

Alih-alih menggunakan aplikasi yang ditunjuk untuk mengkonfigurasi pengguliran alami, skrip dapat dibuat untuk membalikkan arah pengguliran - baik pada sumbu vertikal maupun horizontal.

  1. Pertama, dapatkan xinputpenyangga terkait dengan jarak gulir (perhatikan variabel yang dibungkus kurung sudut):

    $ 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. Ambil nilai yang sesuai untuk properti itu:

    $ 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. Kemudian, buat file skrip untuk menerapkan arah yang dibalik, dengan meniadakan nilai untuk jarak vertikal / horizontal. Beri makan variabel yang dikembalikan sebelumnya:

    #!/bin/sh
    xinput set-prop <TOUCHPAD_ID> <DISTANCE_KEY> -<V_DISTANCE> -<H_DISTANCE>
    nautilus -q
    nautilus -n &
    
  4. Berikan file dengan izin eksekusi, atur agar dijalankan saat startup, dan di sanalah Anda memilikinya.

Sumber:

Metode ini porting dari blog web lama Andy C. , untuk membuat jawaban yang lengkap. Terima kasih, Andy, untuk memberikan solusi yang luas dan elegan untuk seluruh sistem.

Catatan

  • Tampaknya memanggil nautilus melanggar skrip pada 13.04. Mengabaikan dua panggilan untuk nautilus menyelesaikannya.
  • Pengguliran alami (baik secara vertikal dan horizontal) berfungsi dengan baik di luar kotak di 14.x, jadi tidak perlu untuk skrip di sana, cukup ganti "Pengguliran Alam" di opsi Mouse & Panel Sentuh.
Eliran Malka
sumber
3

Sebagai alternatif untuk menggunakan file skrip atau Ubuntu Tweak, Anda juga dapat mencoba aplikasi yang disebut "Natural Scrolling", yang dibuat oleh Zedtux. Itu akan datang sebagai indikator.

Untuk menginstalnya, cara termudah adalah menggunakan terminal:

sudo apt-add-repository ppa:zedtux/naturalscrolling
sudo apt-get update
sudo apt-get install naturalscrolling
Agmenor
sumber
Saya sadar akan hal itu. Namun, tampaknya gagal tugas untuk beberapa aplikasi asli. ditambah, tampaknya berlebihan untuk menginstal aplikasi (dan mengacaukan panel dengan indikator lain) hanya untuk tujuan itu, sementara skrip empat-liner dapat menyelesaikan ini, mungkin lebih baik. terima kasih atas alternatifnya.
Eliran Malka
1
Menarik bahwa skrip Anda berfungsi untuk semua jendela! Saya memang memiliki bug dengan ini. Saya akan coba dengan solusi Anda.
Agmenor
1

Di xfce4 (Xubuntu, Ubuntu Studio, ...) Anda dapat menambahkan ini di konsol:

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