Konfigurasi pengguliran inersia lanjutan

9

Apakah mungkin mengkonfigurasi pengguliran inersia sinaptis sedemikian rupa sehingga terganggu ketika ada tombol yang ditekan pada keyboard?

Untuk menjelaskan pertanyaan ini: Saya sering menggunakan pintasan. Sekarang ketika saya misalnya menjelajah Web dan menggulir kembali ke atas situs web menggunakan pengguliran inersia, saya memperbesar situs seperti orang gila jika saya mencoba membuka tab baru dengan Ctrl+ Tkarena browser hanya mendeteksi Ctrl+ scrolling.

Ini terjadi di banyak aplikasi dan sangat menjengkelkan. Saya dulu suka scrolling inersia tetapi selama masalah ini masih ada, saya harus menonaktifkannya.

Mouagip
sumber
Apakah Strgsama dengan Ctrl?
jobin
@Obob ya, itu label Jerman. Maaf, saya lupa mengubahnya.
Mouagip

Jawaban:

5

Saya khawatir ini sudah dibahas di Xorg dan ditandai sebagai "Diperbaiki Tetap" tetapi tidak akan diperbaiki karena Xorg tidak akan menyadari ketika Anda menekan Ctrldan bergulir inersia masih ada. (Lihat komentar Peter Hutterer dan analoginya dengan Ctrl).

Jadi setidaknya sampai kita memiliki Unity 8 (ketika Xorg diganti dengan Mir dan mudah-mudahan kita melihat ini benar-benar terselesaikan), kita hanya dapat memiliki wordaround daripada perbaikan yang sempurna atau sepenuhnya menonaktifkan pengguliran inersia.

Salah satu perbaikan yang saya sarankan adalah untuk menonaktifkan fitur Ctrl+ scrollingdalam aplikasi itu sendiri. Ini jelas merupakan solusi yang tidak bersih karena masalahnya masih ada tetapi hanya efeknya yang dihapus dan Anda harus melakukan ini untuk aplikasi apa pun yang paling sering Anda gunakan pengguliran inersia.

Untuk menonaktifkan fitur Ctrl+ scrollingdi Firefox, ketikkan about:configbilah alamat lalu klik "Saya akan berhati-hati, saya janji!" Sekarang, di bilah pencarian, ketik mousewheel.with_control.actiondan klik dua kali pada hasil pertama dan atur nilainya 1, yang hanya akan menggulir konten alih-alih memperbesar. Anda dapat mengatur nilainya ke nilai berikut dengan efek yang sesuai:

  • 0 (dinonaktifkan)
  • 1 (gulir konten)
  • 2 (maju / mundur dalam riwayat Anda)
  • 3 (default, perbesar / perkecil)

Saya akan memperbarui jawabannya jika saya dapat menemukan solusi yang lebih bersih dan lebih baik.

pekerjaan
sumber
1
untuk pengguna Chrome, ini adalah ekstensi yang (paling sering) menangani masalah ini
MInner
Untuk pengguna LXDE / Openbox, berikut adalah pertanyaan yang menangani Alt+ scrolling"kegilaan beralih desktop", yang merupakan gejala lain dari masalah mendasar yang sama.
tanius
apakah ada berita tentang masalah ini?
glS
2

Pojok meluncur membantu! Meskipun bukan perbaikan nyata, saya menemukan bahwa menggunakan CornerCoastingmode driver Synaptics bukannya mode bergulir inersia normal (jari-off) membantu. Alasan: mode meluncur sudut aktif sambil menjaga jari di sudut dan segera berhenti saat melepaskannya. Sementara menekan Ctrlselama peluncuran pojok masih menciptakan masalah "Firefox zoom madness" yang Anda jelaskan, saya menemukan saya sangat tidak mungkin melakukan itu sementara saya aktif terlibat dalam suatu tindakan (yaitu dengan jari pada touchpad daripada finger-off coasting).

Mencoba meluncur meluncur. Perintah berikut akan mengatur mode meluncur sudut:

synclient VertEdgeScroll=1 CornerCoasting=1 CoastingSpeed=1 CoastingFriction=0

VertEdgeScroll=1karena sudut peluncuran hanya berfungsi dengan pengguliran tepi, bukan dengan pengguliran dua jari. Jika Anda suka meluncur sudut di tepi kanan dan bawah, tambahkan HorizEdgeScroll=1baris di atas. CornerCoasting=1memungkinkan mode sudut meluncur. CoastingSpeedadalah kecepatan minimum pengguliran saat meluncur, tetapi tampaknya itu juga merupakan kecepatan kursor minimum untuk memicunya. Jadi saya set ke minimum untuk membuatnya paling mudah untuk memicu mode, yang lain bisa rumit (dan tidak mungkin dengan sesuatu seperti CoastingSpeed=100). CoastingFrictionadalah nilai untuk membiarkan penggulingan inersia menghilang. Kami menonaktifkannya di sini untuk membuatnya tetap berjalan sampai Anda mengangkat jari, berbeda dari apa yang biasanya diinginkan pada pelepasan jari konvensional. Untuk detail lebih lanjut tentang opsi-opsi ini, lihat halaman manual Synaptics .

Sesuatu yang tidak disebutkan di manual: sudut meluncur tampaknya diaktifkan dengan menggesekkan dari area tepi non-sudut ke area sudut, dan kemudian menjaga jari di sana . Jadi, gerakan meluncur sudut berhenti jika Anda secara tidak sengaja mengangkat jari, bahkan untuk waktu yang sangat singkat, dengan menabrak / melewati tepi touchpad. Mode pemicu "pindah ke sudut" juga berarti, peluncuran sudut tidak akan berfungsi atau akan sulit dipicu jika Anda TopEdgedanBottomEdgeparameter menyisakan sedikit atau tidak ada area non-sudut di tepi. Ini relevan di sini karena area sudut ditentukan oleh persimpangan area tepi. Juga, tanpa area tepi kanan berukuran dapat diakses, memicu meluncur sudut juga akan sulit untuk mustahil. Untuk perangkat keras saya (ThinkPad X201), saya menemukan nilai-nilai ini berfungsi dengan baik (nilai Anda mungkin berbeda, butuh beberapa percobaan):

synclient RightEdge=4800 TopEdge=2000 BottomEdge=4000

Membuat tongkat meluncur sudut. Walaupun synclientbagus untuk menguji pengaturan dengan efek langsung, mereka hilang ketika me-restart X. Untuk membuatnya tetap, buat /etc/X11/xorg.conf.d/51-synaptics-cornercoasting.confatau konfigurasi file dengan nama yang sama seperti yang dijelaskan di sini (ini juga berfungsi di Ubuntu!). Untuk kasus di atas, isinya adalah:

Section "InputClass"
    Identifier "Touchpad tweaks"
    Driver "synaptics"
    MatchIsTouchpad "on"
        Option "VertEdgeScroll" "on"
      # Option "HorizEdgeScroll" "on" # Enable if you want this.
        Option "CornerCoasting" "on"
        Option "CoastingSpeed" "1"
        Option "CoastingFriction" "0"

        Option "RightEdge" "4800"
        Option "TopEdge" "2000"
        Option "BottomEdge" "4000"
EndSection

Dan kemudian restart X untuk melihat efeknya, tentu saja.

tanius
sumber
0

Kemungkinan pengganti. Jika Anda ingin menonaktifkan pengguliran inersia sama sekali karena bug itu terlalu menjengkelkan, ada beberapa pengganti yang mungkin (bukan pengguliran inersia, tetapi mode gulir yang sama-sama mudah digunakan yang dapat digunakan sebagai gantinya):

Seluruh sistem:

  • Scrolling on-button Trackpoint yang sensitif. Ini menggunakan trackpoint ThinkPad (tetapi dapat dimodifikasi untuk trackpoint lain) untuk bergulir ketika tombol middlemouse ditekan. Ini disebut " Pengguliran Tombol " pada libinputdriver, dan "emulasi roda mouse" pada evdevdriver yang lebih lama .

    Idenya di sini adalah Anda mengaturnya sedemikian sensitif sehingga sedikit tekanan konstan akan menggulir halaman-halaman panjang dengan cepat. Untuk mengkonfigurasi ini, silakan merujuk ke pertanyaan ini , esp. yang jawaban dengan @htorque yang bekerja terbaik dengan libinputdriver (default pada Ubuntu 17.10).

Khusus untuk Firefox:

  • Ambil dan seret ekstensi . Ini menyediakan semacam mode pelemparan inersia / inersia, sangat mirip dengan pengguliran inersia dua jari. Konfigurasikan untuk menggunakan tombol kiri mouse, yang merupakan mode paling mirip dengan menggulir inert dua jari pada touchpad. Cukup gunakan satu jari dengan ketuk dan tahan lalu "lempar halaman web". Ini tentu saja mengganggu pemilihan teks, tetapi mereka memiliki tombol untuk menonaktifkan ekstensi sementara.

    Gangguan pemilihan teks mengganggu, tetapi mengonfigurasinya untuk tombol mouse lainnya pada touchpad membuat penggunaan menjadi sangat rumit. (Misalnya, dengan klik tengah, yang dapat dikonfigurasikan sebagai klik dua jari pada panel sentuh, itu akan menjadi: ketuk dengan dua jari, ketuk dan tahan dengan dua jari, angkat satu jari, lalu gerakkan gerakan seperti di atas: D ).

  • Autoscrolling. Lihat jawaban ini untuk cara mengaturnya. Juga, atur ketukan dua jari untuk membuat klik tengah - yang berlaku saja synclient TapButton2=2. Sekarang, klik dua jari akan memunculkan elemen autoscroll di Firefox, dan menempatkan penunjuk tetikus dari mouse akan menggulir ke arah itu secara permanen hingga klik. Sedihnya, menggerakkan pointer harus dilakukan dengan satu jari. (Itu hanya tidak berfungsi dengan dua jari, bahkan ketika pengguliran dua jari dinonaktifkan.) Dan saya tidak dapat menemukan cara membalikkan arah gulir dari fitur ini menjadi "alami".

tanius
sumber