Come posso lavorare con lo scorrimento a due dita sul mio trackpad?

Ho un nuovo laptop convertibile Lenovo Yoga 2 11 “e ha, da quello che posso dire, un touchpad Elantech: lo scorrimento a due dita e il touch a due dita funzionano alla grande in Windows e Fedora, ma non funzionano su Ubuntu. Come posso farlo funzionare?

Ho notato che in Fedora (dove tutto funziona), il mio touchpad veniva segnalato come un ‘ETPS / 2 Elantech Touchpad’, mentre in Ubuntu veniva segnalato come un generico `mouse PS / 2 ‘, che sicuramente non lo è. Ho la sensazione che questo abbia a che fare con i driver, la configurazione o qualcosa del genere, ma non sono sicuro di come configurarlo correttamente.

Ecco l’output di cat /proc/bus/input/devices :

 I: Bus=0019 Vendor=0000 Product=0005 Version=0000 N: Name="Lid Switch" P: Phys=PNP0C0D/button/input0 S: Sysfs=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0D:00/input/input0 U: Uniq= H: Handlers=event0 B: PROP=0 B: EV=21 B: SW=1 I: Bus=0019 Vendor=0000 Product=0001 Version=0000 N: Name="Power Button" P: Phys=PNP0C0C/button/input0 S: Sysfs=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input1 U: Uniq= H: Handlers=kbd event1 B: PROP=0 B: EV=3 B: KEY=10000000000000 0 I: Bus=0019 Vendor=0000 Product=0001 Version=0000 N: Name="Power Button" P: Phys=LNXPWRBN/button/input0 S: Sysfs=/devices/LNXSYSTM:00/LNXPWRBN:00/input/input2 U: Uniq= H: Handlers=kbd event2 B: PROP=0 B: EV=3 B: KEY=10000000000000 0 I: Bus=0011 Vendor=0001 Product=0001 Version=ab83 N: Name="AT Translated Set 2 keyboard" P: Phys=isa0060/serio0/input0 S: Sysfs=/devices/platform/i8042/serio0/input/input3 U: Uniq= H: Handlers=sysrq kbd event3 B: PROP=0 B: EV=120013 B: KEY=402000000 3803078f800d001 feffffdfffefffff fffffffffffffffe B: MSC=10 B: LED=7 I: Bus=0019 Vendor=0000 Product=0006 Version=0000 N: Name="Video Bus" P: Phys=LNXVIDEO/video/input0 S: Sysfs=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:00/input/input6 U: Uniq= H: Handlers=kbd event5 B: PROP=0 B: EV=3 B: KEY=3e000b00000000 0 0 0 I: Bus=0003 Vendor=03eb Product=8c1d Version=0111 N: Name="Atmel Atmel maXTouch Digitizer" P: Phys=usb-0000:00:14.0-7/input0 S: Sysfs=/devices/pci0000:00/0000:00:14.0/usb2/2-7/2-7:1.0/0003:03EB:8C1D.0002/input/input7 U: Uniq= H: Handlers=mouse1 event6 B: PROP=2 B: EV=b B: KEY=400 0 0 0 0 0 B: ABS=260800000000003 I: Bus=0000 Vendor=0000 Product=0000 Version=0000 N: Name="HDA Intel HDMI HDMI/DP,pcm=3" P: Phys=ALSA S: Sysfs=/devices/pci0000:00/0000:00:03.0/sound/card0/input8 U: Uniq= H: Handlers=event7 B: PROP=0 B: EV=21 B: SW=140 I: Bus=0000 Vendor=0000 Product=0000 Version=0000 N: Name="HDA Intel HDMI HDMI/DP,pcm=7" P: Phys=ALSA S: Sysfs=/devices/pci0000:00/0000:00:03.0/sound/card0/input9 U: Uniq= H: Handlers=event8 B: PROP=0 B: EV=21 B: SW=140 I: Bus=0000 Vendor=0000 Product=0000 Version=0000 N: Name="HDA Intel HDMI HDMI/DP,pcm=8" P: Phys=ALSA S: Sysfs=/devices/pci0000:00/0000:00:03.0/sound/card0/input10 U: Uniq= H: Handlers=event9 B: PROP=0 B: EV=21 B: SW=140 I: Bus=0000 Vendor=0000 Product=0000 Version=0000 N: Name="HDA Intel PCH Mic" P: Phys=ALSA S: Sysfs=/devices/pci0000:00/0000:00:1b.0/sound/card1/input11 U: Uniq= H: Handlers=event10 B: PROP=0 B: EV=21 B: SW=10 I: Bus=0000 Vendor=0000 Product=0000 Version=0000 N: Name="HDA Intel PCH Headphone" P: Phys=ALSA S: Sysfs=/devices/pci0000:00/0000:00:1b.0/sound/card1/input12 U: Uniq= H: Handlers=event11 B: PROP=0 B: EV=21 B: SW=4 I: Bus=0003 Vendor=1bcf Product=2c66 Version=0003 N: Name="Lenovo EasyCamera" P: Phys=usb-0000:00:14.0-1/button S: Sysfs=/devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/input/input13 U: Uniq= H: Handlers=kbd event12 B: PROP=0 B: EV=3 B: KEY=100000 0 0 0 I: Bus=0011 Vendor=0002 Product=0001 Version=0000 N: Name="PS/2 Generic Mouse" P: Phys=isa0060/serio1/input0 S: Sysfs=/devices/platform/i8042/serio1/input/input15 U: Uniq= H: Handlers=mouse0 event4 B: PROP=0 B: EV=7 B: KEY=70000 0 0 0 0 B: REL=3 

Recentemente ho iniziato a lavorare per Yoga 2 di un amico, correggendo il modulo del kernel di psmouse per riconoscere il trackpad. Ecco come l’ho fatto (dalla memoria e dalla cronologia del browser):

 wget 'https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1166442/+attachment/3941591/+files/psmouse-elantech-x551c.tar.gz' sudo dkms ldtarball --force psmouse-elantech-x551c.tar.gz sudo dkms install -m psmouse -v elantech-x551c sudo rmmod psmouse && sudo modprobe psmouse 

È necessario riavviare X (o riavviare) in seguito.

fonti:

  • Segnalazione di bug di Ubuntu in particolare nei commenti # 137 e # 161
  • Evilcodingmonkey

Nel caso in cui non funzioni fornisci l’output di:

 cat /proc/bus/input/devices 

Jon se l’output per xinput -list – >>>> ↳ ETPS / 2 Elantech Touchpad vede i collegamenti:

http://www.yourownlinux.com/2014/10/how-to-install-linux-kernel-3-18-rc1-in-linux.html o http://linuxg.net/how-to-install- kernel-3-18-RC2-on-ubuntu-14-10-ubuntu-14-04-e-derivati /

riavvia il tuo ubuntu:

1 – Fai clic su “Impostazioni opzioni Sistema” (l’icona a forma di ingranaggio sulla barra di avvio di Ubuntu). Puoi anche accedere alla stessa opzione facendo clic sull’icona situata accanto all’orologio nella barra in alto di Ubuntu.

2 – All’interno di “Impostazioni di sistema”, fare clic su “opzione Mouse e Touchpad”.

3 – Nella finestra che si apre, cerca l’opzione “Touchpad”. Se non è attivo (“On”), fare clic sul pulsante “Off”, situato sul lato destro per triggersrlo.

4 – Ora seleziona “opzione Scorrimento con due dita” facendo clic sulla casella accanto all’opzione.

Pronto! Ora puoi usare due dita per fare lo scrolling in Ubuntu ogni volta che ne hai bisogno.

Prova quanto segue come menzionato in questa discussione :

Apri il tuo /etc/X11/xorg.conf.d/10-evdev.conf e commenta questo paragrafo con #s:

 #Section "InputClass" # Identifier "evdev touchpad catchall" # MatchIsTouchpad "on" # MatchDevicePath "/dev/input/event*" # Driver "evdev" #EndSection 

Ora crea un file chiamato /etc/X11/xorg.conf.d/10-synaptics.conf con il seguente contenuto in esso:

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

Ora scollegati e accedi di nuovo. Riavvia se non ti dispiace. Quindi puoi provare a eseguire questi comandi:

 synclient VertTwoFingerScroll=1 synclient HorizTwoFingerScroll=0 #or 1 if you need it synclient EmulateTwoFingerMinY=5 synclient EmulateTwoFingerMinZ=48 

E controlla se funziona con due dita.

Se lo fa, devi trovare un modo di eseguire le linee precedenti ogni volta che accedi alla GUI.

Installazione

Basta installare il pacchetto sinaptico di apt-get

 sudo apt-get update sudo apt-get install synaptic 

Configurazione : (Puoi configurare tramite GUI in Impostazioni >> Touch-pad ma per ulteriori configurazioni:

/etc/X11/xorg.conf.d/50-synaptics.conf

 Section "InputClass" Identifier "touchpad" Driver "synaptics" MatchIsTouchpad "on" Option "TapButton1" "1" Option "TapButton2" "2" Option "TapButton3" "3" Option "VertEdgeScroll" "on" Option "VertTwoFingerScroll" "on" Option "HorizEdgeScroll" "on" Option "HorizTwoFingerScroll" "on" Option "CircularScrolling" "on" Option "CircScrollTrigger" "2" Option "EmulateTwoFingerMinZ" "40" Option "EmulateTwoFingerMinW" "8" Option "CoastingSpeed" "0" Option "FingerLow" "35" Option "FingerHigh" "40" ... 

Aiuto:

 TapButton1 (integer) configures which mouse-button is reported on a non-corner, one finger tap. TapButton2 (integer) configures which mouse-button is reported on a non-corner, two finger tap TapButton3 (integer) configures which mouse-button is reported on a non-corner, three finger tap ... VertEdgeScroll (boolean) enables vertical scrolling while dragging across the right edge of the touch pad. HorizEdgeScroll (boolean) enables horizontal scrolling while dragging across the bottom edge of the touch pad. VertTwoFingerScroll (boolean) enables vertical scrolling using two fingers. HorizTwoFingerScroll (boolean) enables horizontal scrolling using two fingers. ... 

fonte: https://wiki.archlinux.org/index.php/Touchpad_Synaptics#Installation

Ho uno Yoga 2 Pro ma ha un touchpad sinaptico. La mia esperienza su Elantech è limitata. Sono abbastanza sicuro che questa è una regressione del kernel. C’erano anche altri problemi del kernel con lo Yoga 2 Pro (in particolare il WiFi), ma sono stati risolti con la distribuzione 14.10.

elantech touchpad – il multi-touch non funziona per il kernel 3.13.0-35-generico

Questo thread ti indirizza alla segnalazione di bug che probabilmente è il tuo problema.

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1166442/+index?comments=all

Per prima cosa, prova ad accedere al tuo terminale e digita synclient e verifica se restituisce la configurazione del trackpad. In tal caso, cosa mostra VertTwoFingerScroll? Se mostra VertTwoFingerScroll = 0, allora esegui:

synclient VertTwoFingerScroll = 1

Vedi se inizia a funzionare. Ho capito che xinput è obsoleto.

Se funziona, è necessario studiare 50-synaptics.conf perché questo è il file di configurazione che rende le impostazioni synclient all’avvio. Questo lo capisco piuttosto bene perché avevo bisogno di fare molte modifiche sinaptiche su Yoga Pro 2 per renderlo utilizzabile. Il problema del kernel del trackpad in 14.10 per Yoga 2 Pro è che PalmDetect non funziona. Può essere riparato da una patch del kernel. Dovrei essere in grado di aiutarti a far funzionare il file di configurazione. È piuttosto criptico.

Hai bisogno di sapere come lavorare con synclient e 50-synaptics.conf se vuoi ottenere il massimo dal tuo trackpad e ottimizzare le impostazioni.

Se non funziona, credo che sia un problema di kernel scuro profondo con l’hardware Elantech e non lo riconosce. Da come alluso il link sopra, prova a installare una versione precedente di Ubuntu e controlla se il trackpad funziona. Penso che questo proverebbe la teoria della regressione del kernel.

Potresti provare la patch del kernel nel link sopra in 14.10. Hai avuto problemi con la configurazione, quindi se hai intenzione di affrontare il problema di una patch del kernel, farei una nuova installazione di 14.10. Studia la segnalazione di bug in dettaglio perché penso che la patch del kernel provenga originariamente dal bug report. Ci sono post molto recenti nella segnalazione di bug e implementazioni di patch di successo.