Deteksi ibu jari & telapak touchpad yang tepat dengan libinput

23

Jadi libinput mendekati rilis stabil pertamanya dengan kandidat rilis

Yang menambahkan dukungan yang tepat untuk deteksi ibu jari / telapak tangan pada bantalan sentuh bersama dengan dukungan gerakan gesek & jepit sesuatu yang sangat dirindukan di Linux untuk laptop dengan kemampuan multi sentuh.

Adakah yang bisa memberikan instruksi yang baik tentang cara menginstalnya di Ubuntu 15.04

Karena saya percaya kita tidak akan melihatnya sebagai default di instalasi Ubuntu untuk sementara waktu.

tomodachi
sumber
Tidak banyak perhatian untuk pertanyaan ini. Jujur tidak tahu kenapa.
VRR
Deteksi palm tergantung pada driver touchpad kernel dan dapat diatur di xorg-synaptics juga. Touchpad apa yang Anda miliki?
Pilot6
@ Pilot6 paket ini tersedia untuk diunduh, tetapi file readme tidak memberikan instruksi spesifik tentang cara kompilasi ke kernel.
RCF
@ RCF-U15.04 libinputadalah aplikasi ruang pengguna. Tidak ada hubungannya dengan kernel. Itu hanya menggunakan peristiwa yang dilaporkan oleh kernel.
Pilot6
@tomodachi Jika Anda ingin mengatur deteksi telapak tangan dengan baik di Ubuntu, Anda dapat mengajukan pertanyaan lain dan saya akan membantu Anda.
Pilot6

Jawaban:

14

Ini adalah cara menginstal libinput ke Ubuntu.

  1. Instal beberapa paket yang dibutuhkan

    sudo apt-get install git build-essential autoconf automake pkg-config libtool
    sudo apt-get install libmtdev1 libmtdev-dev libudev-dev libevdev-dev xutils-dev libwacom-dev
    
  2. Instal xserver-xorg-dev. Untuk 14.04.3 mungkin xserver-xorg-dev-lts-vivid. Hati-hati. Anda perlu memeriksa xserver-xorgpaket apa yang diinstal.

    sudo apt-get install xserver-xorg-dev
    
  3. Klon libinputdan xf86-input-libinput.

    git clone git://anongit.freedesktop.org/git/wayland/libinput
    git clone git://anongit.freedesktop.org/xorg/driver/xf86-input-libinput
    
  4. Bangun dan pasang.

    cd libinput
    ./autogen.sh --prefix=/usr
    make && sudo make install
    
    cd ../xf86-input-libinput
    ./autogen.sh --prefix=/usr
    make && sudo make install
    
  5. Tambahkan ke conf/90-libinput.confstring file Option "Tapping" "True"sebelum EndSectionke bagian touchpad.

  6. Salin file konfigurasi untuk mengaktifkan libinput.

    sudo cp conf/90-libinput.conf /usr/share/X11/xorg.conf.d/
    

Logoff dan logon.

Anda akan melihat bahwa libinputdigunakan dengan menjalankan xinput list-props <your_touchpad_id>.

Jika Anda tidak suka menggunakan libinput, Anda selalu dapat menonaktifkannya dengan

sudo rm /usr/share/X11/xorg.conf.d/90-libinput.conf

Saya baru saja menginstalnya, sekarang saya mencari tahu cara mengatur deteksi telapak tangan. Sepertinya diaktifkan secara default, tapi saya belum mengerti bagaimana cara menggunakan kernel melaporkan lebar dan tekanan.

Sepertinya saat ini tidak ada keuntungan utama menggunakan libinputdi Ubuntu.

xf86-input-libinputhanya membungkusnya dengan Xorg dan tidak ada yang lain. Jadi gerakan ekstra tidak didukung. Setidaknya saya tidak tahu apakah mereka tahu. Saya kira Wayland atau Mir akan lebih cakap.

Setelah beberapa pengujian saya menemukan keuntungan. Ada masalah dengan xorg-synapticsitu ketika Anda meletakkan jari pada area tombol, Anda tidak dapat menggunakan jari lain untuk memindahkan kursor. Itu tidak nyaman bagi orang yang suka menggunakan tombol perangkat keras untuk mengklik. Masalah itu telah dilaporkan berkali-kali sebagai bug.

Tidak libinputada masalah sama sekali.

Itu menyenangkan untuk diuji. Terima kasih untuk pertanyaannya.

Pilot6
sumber
@ Pilot6 Apa gunanya "gerakan ekstra tidak didukung" ?
VRR
@VRR Intinya adalah bahwa Ubuntu DE default tidak mendukung banyak gerakan. Hanya memiliki libinputtidak mengubahnya. 1,2,3 ketukan jari berhasil di luar kotak. Deteksi telapak tangan berpotensi lebih pintar, tetapi tampaknya itu tidak mendukung lebar touchpad yang hanya melaporkan. Model-model baru melakukan tekanan non-dukungan, karena berfungsi sebagai layar sentuh, dll.
Pilot6
Saya pikir saya telah mengacaukan hal-hal sedikit ... selama proses .. sekarang saya mendapatkan layar hitam setelah bootup ... tetapi tidak ada layar login lightdm .. mungkin karena xorg .. Saya tahu nomor versi yang lebih lama .. dapat ada yang bilang padaku proses apa yang harus dilakukan sekarang .. aku bisa sampai tty
firasat
Jika Anda memiliki masalah, hapus saja /usr/share/X11/xorg.conf.d/99-libinput.conf. sudo rm /usr/share/X11/xorg.conf.d/99-libinput.conf
Pilot6
Itu tidak menyelesaikan masalah. Bisakah Anda menyebutkan sesuatu tentang xserver-xorg-dev .... di mana Anda juga telah menyebutkan .. berhati-hatilah .. Cara mengembalikan kembali ke versi yang lebih lama ..
firasat
25

Untuk Ubuntu 15.10+ Anda dapat menginstal libinput( wily , xenial , yakkety ) melalui apt:

sudo apt install xserver-xorg-input-libinput

Saya masih harus mengedit file konfigurasi untuk mengaktifkan penyadapan, saya berasumsi karena Unity menyerap libinput, ini akan mengekspos ini melalui pengaturan panel kontrol (saya menggunakan vi di sini, Anda dapat menggunakan gedit atau apa pun yang Anda suka):

Edit file berikut (diuji pada 16.04 2016-4-14 dan 16.10 2016-10-14):

sudo vi /usr/share/X11/xorg.conf.d/90-libinput.conf 

Sesuaikan bagian 'touchpad' untuk ditambahkan Option "tapping" "True"dan Option "DisableWhileTyping" "True"jika Anda lebih suka perilaku ini:

Section "InputClass"
    Identifier "libinput touchpad catchall"
    MatchIsTouchpad "on"
    MatchDevicePath "/dev/input/event*"
    Driver "libinput"
    Option "Tapping" "True"
    Option "DisableWhileTyping" "True"
EndSection

Logout, Log in .. Selamat menikmati! :)

JimB
sumber
Tidak ada opsi "PalmDetection" di libinput, DisableWhileTyping diaktifkan secara default. Jadi tidak perlu menambahkan semua ini.
Pilot6
Menyesuaikan dan menghapus kedua opsi. Saya membiarkan 'Tapping' aktif karena tidak aktif secara default.
JimB
Dan juga saya tidak merekomendasikan untuk menggunakan libinput untuk semua perangkat. Keyboard tertinggal dalam kasus saya, jadi saya memilih acara touchpad, dalam kasus saya event5dan menulisnya ke file itu.
Pilot6
@ Pilot6 - dapatkah Anda memberikan beberapa detail lebih lanjut tentang cara menggunakan libinput untuk touchpad saja?
BeeOnRope
4
Tampaknya Anda juga dapat menambahkan Option "AccelSpeed" "-0.5", di mana nilainya dapat berupa float dari -1 (kursor lebih lambat) ke +1 (kursor lebih cepat). Anda juga dapat bereksperimen dengan ini dan nilai lainnya menggunakan xinput. pertama menemukan id dengan menjalankan xinput, maka jika id Anda adalah 12, Anda dapat melakukannya xinput list-props 12untuk mendaftar semua alat peraga. jika Anda ingin mengubahnya, dapatkan int untuk penyangga (mis. libinput Accel Speed ​​(281): -0.500000), maka Anda dapat melakukan xinput set-prop 12 281 -0.4untuk mengubah accel ke -0.4.
David784
1

Saya memiliki masalah yang sama pada Lubuntu 17. Saya mencoba menginstal libinput dan mengedit file .conf tetapi tidak berhasil.

Tapi kemudian saya melihat posting @ Pilot6 di atas tentang menggunakan xinput untuk memverifikasi bahwa libinput aktif (juga akan menyenangkan untuk mengetahui apa kriteria untuk memverifikasi, tetapi saya ngelantur).

Saya memeriksa xinput saya dengan xinput list-props 14(bisa jadi nomor yang berbeda dalam kasus Anda).

yang memberi saya synapticstouchpad.

Dalam daftar ada opsi untuk deteksi telapak tangan dengan nomor yang terkait dengannya (316).

Jadi saya biasa xinput set-prop 14 316 1mengaktifkan deteksi telapak tangan. Dan akhirnya berhasil.

CodeMonkey
sumber