Alla ricerca di un modo per migliorare il rilevamento del palmo sinaptico / touchpad


17

Trovo che il rilevamento del palmo del mio touchpad sia piuttosto orribile. L'ho impostato sulla sensibilità minima non rovinando il mio utilizzo del touchpad (PalmMinWidth = 5, PalmMinZ = 1) e ricevo comunque dei dossi casuali ogni volta che digito sulla tastiera.

Preferirei usare il rilevamento palmare piuttosto che disabilitare la tastiera durante la digitazione perché trovo che la tastiera sia disabilitata per un periodo troppo lungo (ad esempio, ho finito di digitare e devo aspettare 2 secondi prima di utilizzare di nuovo la tastiera, il che è fastidioso) . Una possibile strategia sarebbe quella di ridurre questo ritardo, anche se non sono sicuro che il touchpad rimanga utilizzabile (se sai come farlo, pubblicalo, meglio di niente :).

Ogni volta che uso Windows, trovo che non ho così tanti problemi con il touchpad, quindi ci deve essere un modo per migliorare il rilevamento del palmo?

Infine, sto eseguendo Debian testando 64 bit sul kernel linux 3.2.0-rc7.


Questa domanda è un duplicato di una domanda a cui ho risposto su SuperUser nel 2011. Non ho la reputazione su Unix & Linux Stack Exchange di contrassegnare come duplicato. superuser.com/questions/277427/…
calo il

Risposte:


17

Ho avuto problemi simili e ho trovato la risposta su questo blog abbastanza completa e ho copiato i dettagli rilevanti:

Configurare il rilevamento palmare:

Attiva il rilevamento del palmo, in un tipo di terminale:

$ synclient PalmDetect=1

Imposta la larghezza massima che deve essere interpretata come un dito anziché un palmo. Ho scelto 4, la maggior parte di come usare 10, è bene fare un po 'di ipotesi e testare qui:

$ synclient PalmMinWidth=4

Quindi, imposta l'altezza minima di un palmo contro un dito:

$ synclient PalmMinZ=50 

Infine, sotto Ubuntu, il clic centrale a 3 dita non è abilitato per impostazione predefinita, quindi se vuoi abilitarlo usa:

$ synclient TapButton2=3 TapButton3=2

In teoria, ciò dovrebbe abilitare il tocco a 2 dita per il clic centrale e 3 dita per il clic destro, ma in Ubuntu 13.04 il comportamento risultante è esattamente l'opposto. Pertanto, se si preferisce toccare con due dita per il clic centrale, utilizzare:

$ synclient TapButton2=2 TapButton3=3 

Per renderlo permanente una volta che hai trovato le impostazioni corrette, salvale nelle 50-synaptics.confquali si trova /usr/share/X11/xorg.conf.d/50-synaptics.confin Debian / Ubuntu (Semplice) e /etc/X11/xorg.conf.d/50-synaptics.confnelle distribuzioni basate su Arch Linux, (la prima parte "InputClass" è per la correzione del clic centrale multi-touch , che è già abilitato in Arch, quindi non dovresti aver bisogno di aggiungerlo):

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"

Spegnimento temporaneo del touchpad durante la digitazione:

Invece di usare i comandi synclient, usa syndaemon:

$ syndaemon -K -i 0.5 -R -d 

L' arch wiki afferma che se si salva questo comando nel ~/.xinitrcfile per eseguirlo automaticamente al prossimo accesso. Tuttavia, quando l'ho fatto, non ero a conoscenza del fatto che il comando doveva avvenire prima dell'avvio del desktop ( exec DESKTOP.sessioncomando). Dopo aver giocato con un sacco di altri file di configurazione e aver appreso un sacco di informazioni sul display manager SLiM, ho finalmente capito che il comando doveva solo essere spostato più in alto nel file, poiché i comandi dopo l'avvio del desktop non verranno eseguiti fino a quando il desktop è smesso.


5

Ho trovato il modo di modificare il periodo di tempo durante il quale il touchpad è disabilitato durante la digitazione. Per chiunque altro la cerchi qui è:

Nota: una ricerca su Google fornisce la risposta abbastanza rapidamente

Basta eseguire il programma syndaemon -de aggiungere un'opzione in -i wait_timecui wait_time è il tempo di attesa prima di riattivare il touchpad. Altri parametri utili da fornire a syndaemon includono la -Kdisabilitazione del touchpad quando i tasti sono del modificatore di formato + tasto e -tdi disabilitare solo i clic e non i movimenti del mouse.

Quindi, nel mio caso, ho aggiunto quanto segue a uno script che eseguo al 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

Con tutte queste modifiche, in particolare la -tbandiera, posso vivere con il touchpad come è per ora!


Sto scoprendo che ho bisogno di almeno -t (-t Disabilitare solo il tocco e lo scorrimento, non i movimenti del mouse, in risposta all'attività della tastiera) oppure ho fatto impazzire. Sono su Fedora 16. Come rendi permanenti le tue modifiche?
Philip Durbin,

@PhilipDurbin Li ho inseriti in uno script che viene richiamato all'avvio (usando gnome-session-properties), ma devo farlo per ogni utente. Il modo più tradizionale è quello di metterli in un file xorg.conf, ma non sono riuscito a trovare un modo per impostare le syndaemonopzioni in esso, solo le synclientopzioni.
levesque,

3

Ho un laptop moderno con un grande touchpad e per metà del tempo, il palmo della mano destra era seduto sul bordo e faceva falsi clic mentre digito. Il metodo sincrono PalmDetect = 1 non funzionava per me (indipendentemente da ciò su cui ho impostato PalmMinWidth e PalmMinZ). Forse è stato il fatto che il mio palmo stava toccando il pad da destra e che il palm palm potrebbe controllarlo dall'alto. Non lo so per certo.

Ho risolto il problema creando una zona morta sul bordo destro. Ecco come lo fai:

synclient 

ti fornirà le impostazioni correnti del touchpad. di interesse sono questi risultati qui:

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

Ovviamente, i numeri varieranno a seconda dell'hardware. Cerca il bordo che desideri. Nel mio caso era il bordo giusto. Ho scelto un importo che volevo radere. Vuoi radere il numero più piccolo con cui riesci a cavartela, bloccando comunque i clic falsi dal palmo della mano. Un test molto semplice, sarebbe quello di trovare un'immagine cliccabile sul web, posiziona il mouse sopra il suo centro e appoggia il palmo dove di solito scrivi. Per simulare la digitazione, schiaffeggia (leggermente!) Il bordo del touchpad con la parte del palmo che di solito sporge su di esso durante la digitazione. Se ricevi clic, lo saprai subito. Sarà una prova ed errore, continua a giocarci fino a quando non raggiungi il punto giusto. Nel mio caso, radersi 30 ha fatto il trucco:

synclient AreaRightEdge=5340

Per modificare gli altri bordi, modificare AreaBottomEdge, AreaLeftEdge o AreaTopEdge. L'impostazione di questi valori su 0 li disabiliterà.


La pagina man menziona che la funzione di rilevamento del palmo ha bisogno del supporto hardware. Ho trovato discussioni in cui le persone stavano discutendo di touchpad che in teoria hanno il supporto hardware per esso, ma in pratica non ha funzionato. Quindi ho provato PalmDetect=1ma non sono riuscito a farlo funzionare. Ho impostato i parametri in modo che tutti gli ingressi debbano essere trattati come colpi accidentali sul palmo ma tutti gli ingressi sono ancora passati. Quindi il mio touchpad non lo supporta o è difettoso. Alla fine, ho usato i Area...Edgeparametri per eliminare l'area dal mio touchpad. E ha funzionato.
Louis
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.