Mencari cara untuk meningkatkan deteksi telapak tangan synaptic / touchpad

17

Saya menemukan bahwa deteksi telapak touchpad saya sangat buruk. Saya telah mengaturnya agar sensitivitas minimum tidak merusak penggunaan touchpad saya (PalmMinWidth = 5, PalmMinZ = 1), dan saya masih mendapatkan tonjolan acak setiap kali saya mengetik di keyboard.

Saya lebih suka menggunakan deteksi telapak tangan daripada menonaktifkan keyboard saat mengetik karena saya menemukan bahwa keyboard dinonaktifkan terlalu lama (yaitu, saya selesai mengetik dan saya harus menunggu 2 detik sebelum menggunakan keyboard lagi, yang menjengkelkan) . Strategi yang mungkin dilakukan adalah mengurangi penundaan ini, walaupun saya tidak yakin apakah touchpad akan tetap dapat digunakan (jika Anda tahu cara melakukan ini, posting itu, lebih baik daripada tidak sama sekali :).

Setiap kali saya menggunakan windows, saya menemukan saya tidak memiliki banyak masalah dengan touchpad, jadi harus ada cara untuk meningkatkan deteksi telapak tangan?

Terakhir, saya menjalankan pengujian Debian 64 bit di linux kernel 3.2.0-rc7.

levesque
sumber
Pertanyaan ini adalah duplikat dari pertanyaan yang saya jawab di SuperUser pada tahun 2011. Saya tidak memiliki reputasi di Unix & Linux Stack Exchange untuk ditandai sebagai penipu. superuser.com/questions/277427/…
suram

Jawaban:

17

Saya memiliki masalah yang serupa dan menemukan jawabannya di blog ini cukup lengkap dan telah disalin dengan rincian yang relevan:

Siapkan deteksi telapak tangan:

Aktifkan deteksi telapak tangan, dalam jenis terminal:

$ synclient PalmDetect=1

Atur lebar maksimum yang harus ditafsirkan sebagai jari, bukan telapak tangan. Saya memilih 4, kebanyakan cara menggunakan 10, ada baiknya melakukan sedikit tebakan dan uji di sini:

$ synclient PalmMinWidth=4

Kemudian, atur tinggi minimum telapak tangan vs jari:

$ synclient PalmMinZ=50 

Terakhir, di bawah Ubuntu, klik tengah 3 jari tidak diaktifkan secara default, jadi jika Anda ingin mengaktifkannya gunakan:

$ synclient TapButton2=3 TapButton3=2

Secara teori, ini harus mengaktifkan 2 ketukan jari untuk klik tengah, dan 3 ketukan jari untuk klik kanan, tetapi di Ubuntu 13.04 perilaku yang dihasilkan justru sebaliknya. Karena itu, jika Anda lebih suka mengetuk 2 jari untuk klik tengah gunakan:

$ synclient TapButton2=2 TapButton3=3 

Untuk menjadikan ini permanen begitu Anda telah menemukan pengaturan yang benar, simpan pengaturan 50-synaptics.confyang terletak di /usr/share/X11/xorg.conf.d/50-synaptics.confdalam Debian / Ubuntu (Semplice) dan di /etc/X11/xorg.conf.d/50-synaptics.confdalam distro berbasis Linux Arch, (bagian "InputClass" pertama adalah untuk memperbaiki klik tengah multi-touch multi-touch , yang sudah diaktifkan di Arch sehingga Anda tidak perlu menambahkannya):

Section "InputClass"
    Identifier "touchpad catchall"
    Driver "synaptics"
    MatchIsTouchpad "on"
    MatchDevicePath "/dev/input/event*"
    Option "TapButton1" "1"
    Option "TapButton2" "2"
    Option "TapButton3" "3"
    Option "HorizTwoFingerScroll" "on"
    Option "VertTwoFingerScroll" "on"
EndSection


#synclient PalmDetect=1
Option "PalmDetect" "1"
#synclient PalmMinWidth=4
Option "PalmMinWidth" "4"
#synclient PalmMinZ=50
Option "PalmMinZ" "50"

Mematikan touch-pad sementara saat mengetik:

Alih-alih menggunakan perintah sinkronisasi, gunakan syndaemon:

$ syndaemon -K -i 0.5 -R -d 

The wiki lengkungan klaim bahwa jika Anda menyimpan perintah ini untuk Anda ~/.xinitrcberkas untuk memilikinya dijalankan secara otomatis pada log-in berikutnya. Namun, ketika saya melakukan ini, saya tidak menyadari bahwa perintah itu harus terjadi sebelum peluncuran desktop ( exec DESKTOP.sessionperintah). Setelah bermain-main dengan satu ton file konfigurasi lainnya dan belajar banyak tentang manajer tampilan SLiM, saya akhirnya menyadari bahwa perintah hanya perlu dipindahkan lebih jauh ke atas file, karena perintah setelah peluncuran desktop tidak akan berjalan sampai desktop berhenti.

virtualxtc
sumber
5

Saya menemukan cara untuk memodifikasi lama waktu di mana touchpad dinonaktifkan saat mengetik. Untuk orang lain di luar sana mencarinya di sini:

Catatan: pencarian google menghasilkan jawaban dengan cukup cepat

Jalankan saja program syndaemon -ddan tambahkan sebagai opsi di -i wait_timemana wait_time adalah lamanya waktu untuk menunggu sebelum mengaktifkan kembali touchpad. Parameter berguna lainnya untuk memberikan syndaemon termasuk -Kuntuk tidak pernah menonaktifkan touchpad ketika penekanan tombol adalah tombol pengubah format + dan -tuntuk hanya menonaktifkan klik dan bukan gerakan mouse.

Jadi, dalam kasus saya, saya menambahkan yang berikut ini ke skrip yang saya jalankan saat login:

#Get rid of previous syndaemon
killall syndaemon
#More aggressive behavior, allow for mod+key combos, enable mouse movements
syndaemon -i 0.2 -K -t -d

Dengan semua modifikasi ini, terutama -tbendera, saya dapat hidup dengan touchpad seperti sekarang!

levesque
sumber
Saya menemukan bahwa saya perlu -t setidaknya (-t Hanya menonaktifkan penyadapan dan pengguliran, bukan gerakan mouse, sebagai respons terhadap aktivitas keyboard) atau saya sudah gila. Saya di Fedora 16. Bagaimana Anda membuat perubahan Anda permanen?
Philip Durbin
@ PhilipDurbin saya menempatkan mereka dalam skrip yang dipanggil saat boot (menggunakan gnome-session-properties), tetapi saya harus melakukannya untuk setiap pengguna. Cara yang lebih tradisional adalah dengan meletakkannya di file xorg.conf, tetapi saya tidak dapat menemukan cara untuk mengatur syndaemonopsi di dalamnya, hanya synclientopsi.
levesque
3

Saya memiliki laptop modern dengan Touchpad besar dan separuh waktu, telapak tangan kanan saya duduk di tepi dan membuat klik salah saat saya mengetik. Metode PalmDetect = 1 yang sinkron tidak berfungsi untuk saya (apa pun yang saya atur PalmMinWidth dan PalmMinZ). Mungkin itu adalah fakta bahwa telapak tanganku menyentuh bantalan dari kanan dan telapak tangan mendeteksi mungkin memeriksanya dari atas. Saya tidak tahu pasti.

Saya memecahkan masalah dengan membuat zona mati di tepi kanan. Inilah cara Anda melakukannya:

synclient 

akan memberi Anda pengaturan touch pad saat ini. yang menarik adalah hasil ini di sini:

LeftEdge                = 1572
RightEdge               = 5370
TopEdge                 = 1376
BottomEdge              = 4480

Jelas, angkanya akan bervariasi tergantung pada perangkat keras. Cari tepi yang Anda inginkan. Dalam kasus saya itu adalah tepi kanan. Saya memilih jumlah yang ingin saya cukur. Anda ingin mencukur jumlah terkecil yang bisa Anda dapatkan dengan tetap memblokir klik palsu dari telapak tangan Anda. Tes yang sangat mudah, adalah menemukan gambar yang dapat diklik di web, arahkan mouse ke tengahnya dan sandarkan telapak tangan Anda di tempat Anda biasanya mengetik. Untuk mensimulasikan pengetikan, tepuk (ringan!) Tepi touch pad dengan bagian telapak tangan yang biasanya menonjol di atasnya saat Anda mengetik. Jika Anda mendapat klik, Anda akan langsung tahu. Ini akan menjadi trial and error, terus bermain sampai Anda mencapai sweet spot. Dalam kasus saya, mencukur 30 berhasil:

synclient AreaRightEdge=5340

Untuk memodifikasi tepi lainnya, ubah AreaBottomEdge, AreaLeftEdge, atau AreaTopEdge. Mengatur nilai-nilai ini kembali ke 0 akan menonaktifkannya.

aturan kebun
sumber
Halaman manual menyebutkan bahwa fitur deteksi telapak tangan memerlukan dukungan perangkat keras. Saya menemukan diskusi di mana orang mendiskusikan touchpad yang secara teori memiliki dukungan perangkat keras untuk itu, tetapi dalam praktiknya tidak berhasil. Jadi saya mencoba PalmDetect=1tetapi tidak berhasil. Saya mengatur parameter sehingga semua input seharusnya diperlakukan sebagai hit telapak yang tidak disengaja tetapi semua input masih melewati. Jadi touchpad saya tidak mendukungnya, atau bermasalah. Pada akhirnya, saya menggunakan Area...Edgeparameter untuk memotong area touchpad saya. Dan itu berhasil.
Louis