Come risolvere il rifiuto del palmare su Ubuntu 16.04 LTS?


14

Di recente ho scaricato Ubuntu sul mio laptop Dell Inspiron 7559 e ho notato che il rifiuto del palmo si è rivelato attivo. Il software funziona parzialmente; il cursore non si sposta quando provo a utilizzare il trackpad con il palmo della mano, quindi riconosce chiaramente il palmo della mano, ma quando posiziono il palmo della mano sul track pad, non necessariamente toccando, semplicemente posizionandolo lì, si verificherà automaticamente un clic. Questo fa sparire le finestre, quindi devo cercarle per riaverle.

Questo è un problema particolarmente strano che non sono stato in grado di trovare nessun altro. Doppio avvio di Windows e Ubuntu e non ho questo problema quando avvio Windows 10. Quindi c'è un'impostazione che posso cambiare o un driver che posso aggiornare? Qualsiasi aiuto sarebbe apprezzato.

Modificare:

Ho controllato i miei dispositivi utilizzando l'elenco xinput e ho notato che apparentemente avevo 2 ingressi touchpad:

↳ ELAN1010: 00 04F3: 3012 Id touchpad = 12 [puntatore slave (2)]

↳ ETPS / 2 Elantech Touchpad id = 14 [puntatore slave (2)]

Quindi il sistema operativo ascolta il driver sbagliato? E se è così, come posso farlo usare quello corretto?

Risposte:


12

Innanzitutto, vuoi trovare il driver del tuo touch pad. Puoi farlo digitando sotto il terminale:

xinput

Lì riceverai un elenco di driver. Sotto elenco Puntatore core virtuale, cerca la parola chiave TouchPad. Quella variabile sarà il {id} ad es. Il mio è "SynPS / 2 Synaptics TouchPad".

Quindi vai su Preferenze applicazioni di avvio, seleziona "Aggiungi", puoi mettere qualunque cosa per il nome, ho usato "Palm Detection" e per il cmd che vuoi mettere:

xinput set-prop "{id}" "Synaptics Palm Detection" 1

Inoltre, aggiungine un altro per impostare le dimensioni. Chiamalo "Palm Dimensions" (puoi sostituire il valore come desideri, potresti voler giocare con il valore per ottenere la migliore esperienza):

xinput set-prop "{id}" "Synaptics Palm Dimensions" 3, 3

Ora puoi riavviare il tuo laptop e buona fortuna :)

PS Penso che l'id corretto del touchpad da usare sia quello che inizia con ETPS / 2. Altrimenti puoi semplicemente provare entrambi e speriamo che funzionerà.


1
Quindi ha funzionato anche se l'OP ha un touchpad Elantech? Lo sto chiedendo perché ho un Cypress / 2 Cypress Trackpad e sono frustrato dal terribile rilevamento del palmo in Ubuntu Gnome.
Dan

Funziona perfettamente per me con un touchpad Elantech. L'unica modifica richiesta da parte mia è che imposto la dimensione del palmo su 7x7; con 3x3 viene rifiutato anche un solo dito.
martedì

2
Per chiarire la situazione di @ Dan, è possibile eseguire xinput list-props {id}e visualizzare le proprietà disponibili. Il mio touchpad Elantech elenca infatti molte proprietà Synaptics.
Gertlex,

3

Per il mio XPS 13 2017 con Ubuntu 16.04 la soluzione è installare dconf-editore andare su

org > gnome > desktop > peripherals > touchpad

e impostare click-methodsu fingerso se la chiave disable-while-typingè disponibile, basta impostarla su true.


Un'altra soluzione è aggiungere nuove scorciatoie andando a Keyboard > Shortcuts > Custom Shortcuts. Le mie scorciatoie sono

Ctrl + Shift + M -> gsettings set org.gnome.desktop.peripherals.touchpad tap-to-click true

Ctrl + Shift + N -> gsettings set org.gnome.desktop.peripherals.touchpad tap-to-click false

Quindi ogni volta che si desidera abilitare toccare per fare clic, basta premere Ctrl+ Shift+ Me Ctrl+ Shift+ Nper disabilitarlo.


2

Se si dispone di un laptop Dell moderno, queste istruzioni potrebbero essere utili. Sono direttamente da Dell, Precision / XPS: Ubuntu Touchpad generale / Risoluzione dei problemi relativi al mouse

La prima parte ha fatto miracoli per me. Ecco lo script che suggeriscono di aggiungere sudo gedit /usr/share/X11/xorg.conf.d/51-synaptics-quirks.conf. Non consiglio di seguire le soluzioni della risposta accettata in quanto tale percorso sembra creare altri problemi.

# Disable generic Synaptics device, as we're using
# "DLL0704:01 06CB:76AE Touchpad"
# Having multiple touchpad devices running confuses syndaemon
Section "InputClass"
    Identifier "SynPS/2 Synaptics TouchPad"
    MatchProduct "SynPS/2 Synaptics TouchPad"
    MatchIsTouchpad "on"
    MatchOS "Linux"
    MatchDevicePath "/dev/input/event*"
    Option "Ignore" "on"
EndSection

Per un confronto di compatibilità, ho un Dell Inspiron 13 serie 7000 con xinput list

jonathan@Dell:~$ xinput list
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Logitech USB Receiver                     id=10   [slave  pointer  (2)]
⎜   ↳ Logitech USB Receiver                     id=11   [slave  pointer  (2)]
⎜   ↳ ELAN Touchscreen                          id=13   [slave  pointer  (2)]
⎜   ↳ DELL0741:00 06CB:7E7E Touchpad            id=14   [slave  pointer  (2)]
...

Synaptics non è in quell'elenco perché è stato disabilitato dallo script precedente. Prima di aggiungere questo script, suggerisco di eseguire xinput --test <id>"(per me 14). Se si ottiene un output su un terminale, significa che il dispositivo funziona (il dispositivo è "acceso").


Sembra funzionare bene. Non ho avuto il problema del "driver doppio trackpad", quindi sono passato alla sezione successiva.
Raffi Khatchadourian,

2

Per me, tutte le soluzioni sopra non hanno funzionato. Quindi, se qualcuno si trova in una situazione simile, ciò potrebbe aiutare a ridurre l'area di attivazione del touchpad ai bordi. Ciò non ha creato effetti collaterali negativi poiché raramente si inizia facendo clic sui bordi e quando si tocca il touchpad, è comunque possibile utilizzare l'area ai bordi. Si può fare così:

Innanzitutto, utilizza questo ( xinput list-props "ETPS/2 Elantech Touchpad"|grep Edges) per ottenere le dimensioni del bordo del touchpad. Restituisce 4 valori (sinistra, destra, alto, basso) ad esSynaptics Edges (274): 100, 2408, 71, 1249

In secondo luogo, questi valori possono essere utilizzati in questo modo:

synclient AreaTopEdge=71
synclient AreaLeftEdge=100
synclient AreaRightEdge=2408

Ha funzionato per me come un incantesimo su Ubuntu 18.04. Grazie! Per altre persone come me, i comandi sopra (con i tuoi valori di posizione) devono essere eseguiti all'avvio. Per fare ciò, crea uno script di shell con i comandi sopra e aggiungilo all'avvio automatico (usando qualsiasi metodo che puoi trovare se vai su Google).
diadochos,
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.