Rilevamento corretto del pollice e del palmo del touchpad con libinput


23

Quindi Libinput si avvicina alla sua prima versione stabile con un candidato di rilascio

Il che aggiunge un supporto adeguato per il rilevamento del pollice / del palmo sui touch pad insieme al supporto per i gesti di scorrimento e pizzico, qualcosa che è molto mancato in Linux per laptop multi-touch.

Qualcuno può fornire una buona istruzione su come installarlo su Ubuntu 15.04

Come credo non lo vedremo come predefinito in un'installazione Ubuntu per un po '.


Non molta attenzione per questa domanda. Onestamente non so perché.
VRR

Il rilevamento della palma dipende dal driver del touchpad del kernel e può essere configurato anche in xorg-synaptics. Che touchpad hai?
Pilota 6

@ Pilot6 il pacchetto è disponibile per il download, ma il file readme non fornisce istruzioni specifiche su come compilare il kernel.
RCF

@ RCF-U15.04 libinputè un'app spazio utente. Non ha nulla a che fare con il kernel. Usa solo eventi segnalati dal kernel.
Pilota6

@tomodachi Se vuoi impostare bene il rilevamento del palmo in Ubuntu, puoi fare un'altra domanda e ti aiuterò.
Pilota 6

Risposte:


14

Ecco come installare libinput su Ubuntu.

  1. Installa alcuni pacchetti necessari

    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. Installare xserver-xorg-dev . Per 14.04.3 potrebbe essere xserver-xorg-dev-lts-vivid. Stai attento. Devi verificare quale xserver-xorgpacchetto è installato.

    sudo apt-get install xserver-xorg-dev
    
  3. Clone libinput e xf86-input-libinput.

    git clone git://anongit.freedesktop.org/git/wayland/libinput
    git clone git://anongit.freedesktop.org/xorg/driver/xf86-input-libinput
    
  4. Compilare e installare.

    cd libinput
    ./autogen.sh --prefix=/usr
    make && sudo make install
    
    cd ../xf86-input-libinput
    ./autogen.sh --prefix=/usr
    make && sudo make install
    
  5. Aggiungi al file conf/90-libinput.conf stringa diOption "Tapping" "True" prima EndSectionnella sezione touchpad.

  6. Copia il file di configurazione per abilitare libinput .

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

Disconnettersi e accedere.

Vedrai che libinputviene utilizzato eseguendo xinput list-props <your_touchpad_id>.

Se non ti piace usare libinput , puoi sempre disabilitarlo

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

L'ho appena installato, ora sto scoprendo come impostare il rilevamento del palmo. Sembra che sia abilitato di default, ma non ho ancora capito bene come usa la larghezza e la pressione del kernel.

Sembra che attualmente non ci siano grandi vantaggi nell'utilizzo libinput di Ubuntu.

xf86-input-libinputlo avvolge a Xorg e nient'altro. Quindi i gesti extra non sono supportati. Almeno non so se lo fanno. Wayland o Mir saranno più capaci, immagino.

Dopo alcuni test ho trovato un vantaggio. Esiste un problema xorg-synapticsquando si posiziona un dito sull'area del pulsante, non è possibile utilizzare un altro dito per spostare il cursore. Questo è scomodo per le persone a cui piace usare i pulsanti hardware per fare clic. Questo problema è stato segnalato più volte come un bug.

In libinputnon c'è affatto questo problema.

È stato divertente testarlo. Grazie per la domanda


@ Pilot6 Qual è il punto in "gesti extra non sono supportati" ?
VRR

@VRR Il punto è che Ubuntu DE predefinito non supporta molti gesti. Il solo fatto di libinputnon cambiarlo. I rubinetti da 1,2,3 dita escono fuori dalla scatola. Il rilevamento del palmare è potenzialmente più intelligente, ma sembra che non supporti i touchpad che riportano solo la larghezza. I nuovi modelli non supportano la pressione, perché funzionano come touchscreen, ecc.
Pilot6,

Penso di aver rovinato un po 'le cose..durante il processo .. ora sto ottenendo la schermata nera dopo l'avvio..ma nessuna schermata di accesso lightdm .. potrebbe essere dovuta a xorg..Io conosco il numero di versione precedente ..can qualcuno mi dica cosa devo fare adesso. Posso arrivare a tty
hunch

Se hai problemi rimuovi /usr/share/X11/xorg.conf.d/99-libinput.conf. sudo rm /usr/share/X11/xorg.conf.d/99-libinput.conf
Pilota 6

Questo non sta risolvendo il problema. Puoi menzionare qualcosa su xserver-xorg-dev .... dove hai anche menzionato .. stai attento .. Come tornare alla versione precedente ..
hunch

25

Per Ubuntu 15.10+ è possibile installare libinput( scaltro , xenial , yakkety ) attraverso apt:

sudo apt install xserver-xorg-input-libinput

Ho dovuto modificare il file di configurazione per abilitare il tocco, suppongo che Unity assorbe libinput lo esporrà tramite le impostazioni del pannello di controllo (ho usato vi qui, puoi usare gedit o qualunque cosa ti piaccia):

Modifica il seguente file (testato il 16.04 2016-4-14 e 16.10 2016-10-14):

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

Modifica la sezione "touchpad" da aggiungere Option "tapping" "True"e Option "DisableWhileTyping" "True"se preferisci questo comportamento:

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

Esci, accedi .. divertiti! :)


Non esiste alcuna opzione "PalmDetection" in libinput, DisableWhileTyping è attivo per impostazione predefinita. Quindi non è necessario aggiungere tutto questo.
Pilota 6

Modificate e rimosse entrambe le opzioni. Ho lasciato 'Tapping' attivo perché non è attivo per impostazione predefinita.
JimB

Inoltre, non consiglio di utilizzare libinput per tutti i dispositivi. La tastiera è in ritardo nel mio caso, quindi ho scelto l'evento touchpad, nel mio caso event5e l'ho scritto in quel file.
Pilota 6

@ Pilot6: puoi fornire qualche dettaglio in più su come usare libinput solo per touchpad?
BeeOnRope,

4
Sembra che puoi anche aggiungere Option "AccelSpeed" "-0.5", in cui il valore può essere mobile da -1 (cursore più lento) a +1 (cursore più veloce). Puoi anche sperimentare questo e altri valori usando xinput. prima trova l'id eseguendo xinput, quindi se il tuo id è 12, puoi fare xinput list-props 12per elencare tutti i puntelli. se vuoi cambiarne uno, prendi l'int per il prop (es. libinput Accel Speed ​​(281): -0.500000), quindi puoi fare xinput set-prop 12 281 -0.4per cambiare l'accel in -0.4.
David784,


1

Ho avuto un problema simile su Lubuntu 17. Ho provato a installare libinput e a modificare il file .conf senza alcun risultato.

Ma poi ho visto sopra @ Pilot6 post sull'uso di xinput per verificare che libinput sia attivo (sarebbe anche bello sapere qual è il criterio da verificare, ma sto divagando).

Ho controllato il mio xinput con xinput list-props 14(potrebbe essere un numero diverso nel tuo caso).

che mi ha dato un synapticstouchpad.

Nell'elenco c'era un'opzione per il rilevamento del palmo con un numero ad esso associato (316).

Quindi xinput set-prop 14 316 1attivavo il rilevamento del palmo. E finalmente funziona.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.