Difference between revisions of "Touchpad Synaptics (Italiano)"

From ArchWiki
Jump to: navigation, search
m (Allineamento massivo all'inglese)
(15 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
[[Category:Input devices (Italiano)]]
 
[[Category:Input devices (Italiano)]]
{{i18n|Touchpad Synaptics}}
 
 
[[de:Synaptics Touchpad Treiber]]
 
[[de:Synaptics Touchpad Treiber]]
 +
[[en:Touchpad Synaptics]]
 +
[[es:Touchpad Synaptics]]
 
[[fr:Touchpad Synaptics]]
 
[[fr:Touchpad Synaptics]]
{{out_of_date}} {{Attenzione|Questa pagina è in fase di revisione e potrebbe non essere aggiornata. Seguite per ora le istruzioni della versione inglese.}}
+
[[ru:Touchpad Synaptics]]
 +
[[zh-CN:Touchpad Synaptics]]
 
{{Article summary start}}
 
{{Article summary start}}
 
{{Article summary text|Questo articolo spiega il processo di installazione e configurazione del Synaptics input driver in Arch Linux. }}
 
{{Article summary text|Questo articolo spiega il processo di installazione e configurazione del Synaptics input driver in Arch Linux. }}
Line 42: Line 44:
 
               Option "CircularScrolling" "on"
 
               Option "CircularScrolling" "on"
 
               Option "CircScrollTrigger" "2"
 
               Option "CircScrollTrigger" "2"
               Option "EmulateTwoFingerMinZ" "0"
+
               Option "EmulateTwoFingerMinZ" "40"
 +
              Option "EmulateTwoFingerMinW" "8"
 
               Option "CoastingSpeed" "0"
 
               Option "CoastingSpeed" "0"
 
               ...
 
               ...
Line 343: Line 346:
  
 
Con l'aiuto di [[udev (Italiano)|udev]], è possibile disabilitare automaticamente il touchpad nel caso in cui venga inserito un mouse esterno. Per realizzare ciò si aggiunga la seguente regola udev a {{ic| /etc/udev/rules.d/01-touchpad.rules}}:
 
Con l'aiuto di [[udev (Italiano)|udev]], è possibile disabilitare automaticamente il touchpad nel caso in cui venga inserito un mouse esterno. Per realizzare ciò si aggiunga la seguente regola udev a {{ic| /etc/udev/rules.d/01-touchpad.rules}}:
 
+
{{hc|/etc/udev/rules.d/01-touchpad.rules|<nowiki>
  ACTION=="add", SUBSYSTEM=="input", KERNEL=="mouse[1-9]", ENV{DISPLAY}=":0.0",  
+
  ACTION=="add", SUBSYSTEM=="input", KERNEL=="mouse[1-9]", ENV{DISPLAY}=":0.0",
 
  ENV{XAUTHORITY}="/home/USERNAME/.Xauthority", ENV{ID_CLASS}="mouse", RUN+="/usr/bin/synclient TouchpadOff=1"
 
  ENV{XAUTHORITY}="/home/USERNAME/.Xauthority", ENV{ID_CLASS}="mouse", RUN+="/usr/bin/synclient TouchpadOff=1"
 
+
  ACTION=="remove", SUBSYSTEM=="input", KERNEL=="mouse[1-9]", ENV{DISPLAY}=":0.0",
  ACTION=="remove", SUBSYSTEM=="input", KERNEL=="mouse[1-9]", ENV{DISPLAY}=":0.0",  
+
 
  ENV{XAUTHORITY}="/home/USERNAME/.Xauthority", ENV{ID_CLASS}="mouse", RUN+="/usr/bin/synclient TouchpadOff=0"
 
  ENV{XAUTHORITY}="/home/USERNAME/.Xauthority", ENV{ID_CLASS}="mouse", RUN+="/usr/bin/synclient TouchpadOff=0"
 +
</nowiki>}}
  
 
GDM conserva i file Xauthority in {{ic| /var/run/gdm}} in una cartella nominata a caso. Così le regole di udev appariranno in questa forma  
 
GDM conserva i file Xauthority in {{ic| /var/run/gdm}} in una cartella nominata a caso. Così le regole di udev appariranno in questa forma  
  
  ACTION=="add", KERNEL=="mouse[0-9]", SUBSYSTEM=="input", PROGRAM="/usr/bin/find /var/run/gdm -name *username*",
+
  ACTION=="add", KERNEL=="mouse[0-9]", SUBSYSTEM=="input", PROGRAM="/usr/bin/find /var/run/gdm -name *username*", ENV{DISPLAY}=":0.0",
  ENV{DISPLAY}=":0.0", ENV{XAUTHORITY}="$result/database", RUN+="/usr/bin/synclient TouchpadOff=1"
+
  ENV{XAUTHORITY}="$result/database", RUN+="/usr/bin/synclient TouchpadOff=1"
 +
ACTION=="remove", KERNEL=="mouse[0-9]", SUBSYSTEM=="input", PROGRAM="/usr/bin/find /var/run/gdm -name *username*", ENV{DISPLAY}=":0.0",
 +
ENV{XAUTHORITY}="$result/database", RUN+="/usr/bin/synclient TouchpadOff=0"
  
ACTION=="remove", KERNEL=="mouse[0-9]", SUBSYSTEM=="input", PROGRAM="/usr/bin/find /var/run/gdm -name *username*",
+
{{Nota|le regole di [[udev]] devono essere ognuna di una singola riga, per accordarsi al formato.}}
ENV{DISPLAY}=":0.0", ENV{XAUTHORITY}="$result/database", RUN+="/usr/bin/synclient TouchpadOff=0"
+
  
Nota che le regole di udev devono essere ognuna di una singola riga, per accordarsi al formato.
+
{{ic|SHMConfig}} dev'essere abilitato (si veda la sezione [[#Configurazione]] per i dettagli).
SHMConfig dev'essere abilitato (si veda la sezione '''Configurazione''' per i dettagli)
+
 
 +
{{Note|L'uso di {{ic|SHMConfig}} è stato deprecato.}}
  
 
===Il cursore salta===
 
===Il cursore salta===
  
 
Alcuni utenti denunciano un cursore che inspiegabilmente "salta" per tutto lo schermo. Al momento non c'è una patch per questo problema, ma gli sviluppatori sono informati sul problema e ci stanno lavorando.
 
Alcuni utenti denunciano un cursore che inspiegabilmente "salta" per tutto lo schermo. Al momento non c'è una patch per questo problema, ma gli sviluppatori sono informati sul problema e ci stanno lavorando.
 +
 +
Un'altra possibilità è che si stiano avendo ''IRQ losses'' correlate al controller i8042 (questo dispositivo gestisce la tastiera e il touchpad di molti portatili). In questo caso ci sono due possibilità:
 +
 +
1. rmmod && insmod il modulo psmouse.
 +
2. instrire i8042.nomux=1 alla riga di boot e riavviare la propria macchina.
  
 
===Multitouch===
 
===Multitouch===
Line 369: Line 379:
 
Gesti multitouch come in Mac OS X saranno implementati con versioni future del driver.
 
Gesti multitouch come in Mac OS X saranno implementati con versioni future del driver.
  
===Il dispositivo touchpad non si trova in /dev/input/mouse0===
+
=== Il dispositivo touchpad non si trova in {{ic|/dev/input/*}} ===
  
 
Se questo problema si presenta, si può utilizzare questo comando per mostrare le informazioni riguardo il proprio dispositivo di input:
 
Se questo problema si presenta, si può utilizzare questo comando per mostrare le informazioni riguardo il proprio dispositivo di input:
cat /proc/bus/input/devices
+
{{bc|$ cat /proc/bus/input/devices}}
 +
 
 
Si cerchi quindi un dispositivo di input col nome "SynPS/2 Synaptics TouchPad". La sezione "Handlers" dell'output mostra il nome del device che occorre specificare.
 
Si cerchi quindi un dispositivo di input col nome "SynPS/2 Synaptics TouchPad". La sezione "Handlers" dell'output mostra il nome del device che occorre specificare.
  
 
'''Esempio d'output:'''
 
'''Esempio d'output:'''
 +
{{hc|$ cat /proc/bus/input/devices|<nowiki>
 
  I: Bus=0011 Vendor=0002 Product=0007 Version=0000
 
  I: Bus=0011 Vendor=0002 Product=0007 Version=0000
 
  N: Name="SynPS/2 Synaptics TouchPad"
 
  N: Name="SynPS/2 Synaptics TouchPad"
Line 383: Line 395:
 
  B: EV=b
 
  B: EV=b
 
  B: KEY=6420 0 7000f 0
 
  B: KEY=6420 0 7000f 0
 +
</nowiki>}}
  
In questo caso, gli Handlers sono mouse0 e event1, quindi si dovrà usare /dev/input/mouse0.
+
In questo caso, gli {{ic|Handlers}} sono {{ic|mouse0}} e {{ic|event1}}, quindi si dovrà usare {{ic|/dev/input/mouse0}}.
  
{{Attenzione|TODO spiega come applicare ciò in 10-synaptics.conf}}
+
{{Expansion}}
 +
{{Box YELLOW|TODO|spiega come applicare ciò in {{ic|10-synaptics.conf}}}}
  
 
=== Disabilitare il trackpad durante la digitazione sulla tastiera===
 
=== Disabilitare il trackpad durante la digitazione sulla tastiera===
 +
==== Usando il rilevamento automatico del palmo ====
 +
 +
Prima di tutto si dovrebbe provare se questa funzione lavora in maniera appropriata per il proprio trackpad e se le impostazioni sono accurate:
 +
 +
$ synclient PalmDetect=1
 +
 +
Quindi si testi la digitazione. È possibile ottimizzare il rilevamento con:
 +
 +
$ synclient PalmMinWidth=
 +
che indica l'area di tocco della propria mano, e
 +
 +
$ synclient PalmMinZ=
 +
 +
che indica la distanza Z minima alla quale il rilevamento viene messo in atto.
 +
 +
Una volta che si sono trovate le impostazioni corrette, si salvino in {{ic|/etc/X11/xorg.conf.d/10-synaptics.conf}} così:
  
Ci sono due approcci su come lanciare questo comando a seconda della propria configurazione. Ma innanzitutto è necessario avere abilitato SHMConfig in {{ic|/etc/X11/xorg.conf.d/10-synaptics.conf}}.
+
{{bc|<nowiki>#synclient PalmDetect=1
 +
Option "PalmDetect" "1"
 +
#synclient PalmMinWidth=10
 +
Option "PalmMinWidth" "10"
 +
#synclient PalmMinZ=200
 +
Option "PalmMinZ" "200"</nowiki>}}
  
 
==== Utilizzo di {{ic|.xinitrc}} ====
 
==== Utilizzo di {{ic|.xinitrc}} ====
 +
{{Nota|È necessario avere {{ic|SHMConfig}} abilitato nel proprio {{ic|/etc/X11/xorg.conf.d/10-synaptics.conf}}.}}
  
 
Per disabilitare automaticamente il touchpad quando si comincia a digitare, si aggiunga la seguente linea al proprio .xinitrc prima di lanciare il proprio gestore di finestre (nel caso in cui non si utilizzi un manager di login):  
 
Per disabilitare automaticamente il touchpad quando si comincia a digitare, si aggiunga la seguente linea al proprio .xinitrc prima di lanciare il proprio gestore di finestre (nel caso in cui non si utilizzi un manager di login):  
 
+
{{bc|$ syndaemon -t -k -i 2 -d &}}
syndaemon -t -k -i 2 -d &
+
  
 
; '''-i 2''': imposta il tempo di idle a 2 secondi. Il tempo di idle specifica quanti secondi aspettare dopo l'ultimo tasto premuto per riabilitare il touchpad.
 
; '''-i 2''': imposta il tempo di idle a 2 secondi. Il tempo di idle specifica quanti secondi aspettare dopo l'ultimo tasto premuto per riabilitare il touchpad.
Line 403: Line 438:
 
; '''-d''': avvia come demone, in background.  
 
; '''-d''': avvia come demone, in background.  
  
Maggiori dettagli si possono trovare nella pagina del man:
+
Maggiori dettagli si possono trovare nella pagina del manuale:
 
+
{{bc|$ man syndaemon}}
$ man syndaemon
+
  
Se si sta utilizzando un login manager, sarà necessario specificare il comando dove il proprio DE lo permette.
+
Se si sta utilizzando un login manager, sarà necessario specificare il comando laddove il proprio DE lo permette.
  
 
==== Utilizzando un Login Manager ====
 
==== Utilizzando un Login Manager ====
 +
{{Nota|È necessario avere {{ic|SHMConfig}} abilitato nel proprio {{ic|/etc/X11/xorg.conf.d/10-synaptics.conf}}.}}
  
 
L'opzione "-d" è necessaria per avviare syndaemon come un processo in background per pubblicare le istruzioni del Login.  
 
L'opzione "-d" è necessaria per avviare syndaemon come un processo in background per pubblicare le istruzioni del Login.  
Line 417: Line 452:
 
Per avviare syndaemon occorre usare il programma di preferenze per l'avvio delle applicazioni di Gnome. Si entri in Gnome e si vada in '''Sistema > Preferenze > Avvio Applicazioni'''. Nella scheda relativa ai programmi da lanciare all'avvio,  si selezioni il pulsante '''Aggiungi'''. Si nomini come si desidera il programmi d'avvio e si inserisca il commento desiderato (oppure si lasci questo campo in bianco). Nello spazio per il comando si inserisca:  
 
Per avviare syndaemon occorre usare il programma di preferenze per l'avvio delle applicazioni di Gnome. Si entri in Gnome e si vada in '''Sistema > Preferenze > Avvio Applicazioni'''. Nella scheda relativa ai programmi da lanciare all'avvio,  si selezioni il pulsante '''Aggiungi'''. Si nomini come si desidera il programmi d'avvio e si inserisca il commento desiderato (oppure si lasci questo campo in bianco). Nello spazio per il comando si inserisca:  
  
syndaemon -t -k -i 2 -d &
+
{{bc|$ syndaemon -t -k -i 2 -d &}}
  
 
Quando lo si è fatto si selezioni il pulsante Aggiungi nella finestra per aggiungere un programma all'avvio. Ci si assicuri quindi che sia selezionata la casella vicina al programma d'avviare che si è creata, nella lista dei programmi aggiuntivi da avviare. Si chiuda la finestra delle Preferenze d'Avvio delle Applicazioni e il gioco è fatto.   
 
Quando lo si è fatto si selezioni il pulsante Aggiungi nella finestra per aggiungere un programma all'avvio. Ci si assicuri quindi che sia selezionata la casella vicina al programma d'avviare che si è creata, nella lista dei programmi aggiuntivi da avviare. Si chiuda la finestra delle Preferenze d'Avvio delle Applicazioni e il gioco è fatto.   
Line 425: Line 460:
 
Si vada in  '''Impostazioni di Sistema > Tab Avanzate > Autostart''', quindi si selezioni  '''Aggiungere Programma''', e si inserisca:
 
Si vada in  '''Impostazioni di Sistema > Tab Avanzate > Autostart''', quindi si selezioni  '''Aggiungere Programma''', e si inserisca:
  
syndaemon -t -k -i 2 -d &
+
{{bc| syndaemon -t -k -i 2 -d &}}
  
 
Quindi selezionare "Avviare in terminale".
 
Quindi selezionare "Avviare in terminale".
Line 449: Line 484:
  
 
===Scorrimento e azioni multiple con Synaptics sui portatili LG===
 
===Scorrimento e azioni multiple con Synaptics sui portatili LG===
 
 
Questi problemi sembrano accadere su molti modelli di portatile LG.
 
Questi problemi sembrano accadere su molti modelli di portatile LG.
 
I sintomi includono: quando si preme il tasto del mouse 1, Synaptics lo interpreta come uno ScrollUP e un normale click del tasto 1; lo stesso accade per il tasto 2.
 
I sintomi includono: quando si preme il tasto del mouse 1, Synaptics lo interpreta come uno ScrollUP e un normale click del tasto 1; lo stesso accade per il tasto 2.
  
 
Il problema dello scorrimento può essere risolto inserendo nel xorg.conf:
 
Il problema dello scorrimento può essere risolto inserendo nel xorg.conf:
Option "UpDownScrolling" "0"
+
{{hc|/etc/X11/xorg.conf.d/xorg.conf|Option "UpDownScrolling" "0"}}
  
NOTA che questo farà sì che Synaptic interpreti la pressione di un tasto come tre pressioni. C'è una patch scritta da Oskar Sandberg[http://www.math.chalmers.se/~ossa/linux/lg_tx_express.html] che rimuove questi click.
+
NOTARE che questo farà sì che Synaptic interpreti la pressione di un tasto come tre pressioni. C'è una patch scritta da Oskar Sandberg[http://www.math.chalmers.se/~ossa/linux/lg_tx_express.html] che rimuove questi click.
  
 
Apparentemente, quando si tenta di compilare questa soluzione all'ultima versione di Synaptic, questa fallisce. La soluzione è di usare il repository GIT per Synaptics[http://web.telia.com/~u89404340/touchpad/synaptics/.git] .
 
Apparentemente, quando si tenta di compilare questa soluzione all'ultima versione di Synaptic, questa fallisce. La soluzione è di usare il repository GIT per Synaptics[http://web.telia.com/~u89404340/touchpad/synaptics/.git] .
  
Si trova anche un pacchetto in AUR per automatizzare il tutto: [https://aur.archlinux.org/packages.php?ID=15983].
+
Si trova anche un pacchetto in AUR per automatizzare il tutto: {{AUR|xf86-input-synaptics-lg}}.
  
 
Per costruire il pacchetto dopo aver scaricato il tarball e averlo decompresso, si esegua:  
 
Per costruire il pacchetto dopo aver scaricato il tarball e averlo decompresso, si esegua:  
cd synaptics-git
+
{{bc|$ cd synaptics-git}}
makepkg
+
{{bc|$ makepkg}}
 
+
Se si vuole che questo venga automaticamente installato dopo esser stato costruito si aggiunga '-i' dopo makepkg.
+
  
 
===Altri problemi con mouse esterni===
 
===Altri problemi con mouse esterni===
Line 472: Line 504:
 
Innanzitutto, assicurarsi che la sezione di descrizione del mouse esterno contenga questa linea (o quella che ci assomiglia):
 
Innanzitutto, assicurarsi che la sezione di descrizione del mouse esterno contenga questa linea (o quella che ci assomiglia):
  
Option    "Device" "/dev/input/mice"
+
{{hc|/etc/X11/xorg.conf.d/xorg.conf|Option    "Device" "/dev/input/mice"}}
  
 
Se la linea "Device" è differente, la si cambi con quella sopra indicata e si provi a riavviare X. Se ciò non dovesse risolvere il problema, si imposti '''touchpad''' come CorePointer nella sezione "Server Layout":
 
Se la linea "Device" è differente, la si cambi con quella sopra indicata e si provi a riavviare X. Se ciò non dovesse risolvere il problema, si imposti '''touchpad''' come CorePointer nella sezione "Server Layout":
  
InputDevice    "Touchpad" "CorePointer"
+
{{hc|/etc/X11/xorg.conf.d/xorg.conf|InputDevice    "Touchpad" "CorePointer"}}
  
 
e impostare il device esterno come "SendCoreEvents":
 
e impostare il device esterno come "SendCoreEvents":
  
InputDevice    "USB Mouse" "SendCoreEvents"
+
{{hc|/etc/X11/xorg.conf.d/xorg.conf|InputDevice    "USB Mouse" "SendCoreEvents"}}
  
 
alla fine si aggiunga questa linea alla sezione del device esterno:  
 
alla fine si aggiunga questa linea alla sezione del device esterno:  
  
Option      "SendCoreEvents"    "true"
+
{{hc|/etc/X11/xorg.conf.d/xorg.conf|Option      "SendCoreEvents"    "true"}}
  
 
Se tutto quello indicato non dovesse funzionare, per favore si controlli la sezione di bug rilevanti per un possibile bug, o si cerchi tra i post dei forum se qualcuno ha trovato una soluzione migliore.
 
Se tutto quello indicato non dovesse funzionare, per favore si controlli la sezione di bug rilevanti per un possibile bug, o si cerchi tra i post dei forum se qualcuno ha trovato una soluzione migliore.
Line 490: Line 522:
 
===Problemi di sincronizzazione del Touchpad===
 
===Problemi di sincronizzazione del Touchpad===
  
A volte il cursore potrebbe congelarsi per alcuni secondi o iniziare ad agire da solo senza apparente motivo. Questi comportamenti vengono registrati in /var/log/messages.log
+
A volte il cursore potrebbe congelarsi per alcuni secondi o iniziare ad agire da solo senza apparente motivo. Questi comportamenti vengono registrati in {{ic|/var/log/messages.log}}
  
  psmouse.c: TouchPad at isa0060/serio1/input0 lost synchronization, throwing 3 bytes away
+
{{hc|/var/log/messages.log|psmouse.c: TouchPad at isa0060/serio1/input0 lost synchronization, throwing 3 bytes away}}
  
 
Questo problema non ha una soluzione unica, ma ce ne sono diverse.  
 
Questo problema non ha una soluzione unica, ma ce ne sono diverse.  
 
*Se si usa scalare la frequenza della CPU, si eviti di utilizzare il governatore "ondemand" e si usi quello "performance" quando possibile, dal momento che il touchpad potrebbe perdere la sincronizzazione nei momenti di cambio della frequenza della CPU.  
 
*Se si usa scalare la frequenza della CPU, si eviti di utilizzare il governatore "ondemand" e si usi quello "performance" quando possibile, dal momento che il touchpad potrebbe perdere la sincronizzazione nei momenti di cambio della frequenza della CPU.  
 
*Si eviti di usare un monitor di batteria ACPI.
 
*Si eviti di usare un monitor di batteria ACPI.
*Si provi a caricare psmouse con l'opzione "proto=imps". Per farlo, si aggiunga questa linea al proprio /etc/modprobe.d/modprobe.conf:
+
*Si provi a caricare psmouse con l'opzione "proto=imps". Per farlo, si aggiunga questa linea al proprio {{ic|/etc/modprobe.d/modprobe.conf}}:
  
options psmouse proto=imps
+
{{hc|/etc/modprobe.d/modprobe.conf|2=options psmouse proto=imps}}
  
 
*Si provi con un altro ambiente desktop. Alcuni utenti dichiarano che questo problema accade solamente quando usano XFCE o GNOME, per qualche strano motivo.
 
*Si provi con un altro ambiente desktop. Alcuni utenti dichiarano che questo problema accade solamente quando usano XFCE o GNOME, per qualche strano motivo.
Line 507: Line 539:
 
Se si percepisce un ritardo tra la pressione sul touchpad e il click effettivo che viene registrato occorre abilitare FastTaps:
 
Se si percepisce un ritardo tra la pressione sul touchpad e il click effettivo che viene registrato occorre abilitare FastTaps:
  
per farlo occorre aggiungere '''Option "FastTaps" "1"''' a '''/etc/X11/xorg.conf.d/10-synaptics.conf''' in modo tale da avere:
+
per farlo occorre aggiungere '''Option "FastTaps" "1"''' a {{ic|/etc/X11/xorg.conf.d/10-synaptics.conf}} in modo tale da avere:
 
+
{{hc|/etc/X11/xorg.conf.d/10-synaptics.conf|<nowiki>
 
  Section "InputClass"
 
  Section "InputClass"
 
       Identifier "Synaptics Touchpad"
 
       Identifier "Synaptics Touchpad"
Line 516: Line 548:
 
       ...
 
       ...
 
  EndSection
 
  EndSection
 +
</nowiki>}}
  
 
===SynPS/2 Synaptics TouchPad can't grab event device, errno=16===
 
===SynPS/2 Synaptics TouchPad can't grab event device, errno=16===
 +
Se si sta utilizzando Xorg 7.4 si dovrebbe ottenere un warning come questo da {{ic|/var/log/Xorg.0.log}}, ciò è dovuto al fatto che il driver registra l'evento del device per un uso esclusivo quando si utilizza il protocollo eventi di Linux 2.6. Quando ciò fallisce, X risponde con questo messaggio d'errore.
  
Se si sta utilizzando Xorg 1.4 si dovrebbe ottenere un warning come questo da /var/log/Xorg.0.log, ciò è dovuto al fatto che il driver registra l'evento del device per un uso esclusivo quando si utilizza il protocollo eventi di Linux 2.6. Quando ciò fallisce, X risponde con questo messaggio d'errore.
+
Registrare l'evento del device significa che nessun programma né da parte dell'user né da parte del kernel possa vedere l'evento del touchpad. Questo è desiderabile se il file di configurazione di X contiene {{ic|/dev/input/mice}} come un device di input, ma potrebbe non essere desiderato nel caso in cui si voglia monitorare il device da utente.  
 
+
Registrare l'evento del device significa che nessun programma né da parte dell'user né da parte del kernel possa vedere l'evento del touchpad. Questo è desiderabile se il file di configurazione di X contiene /dev/input/mice come un device di input, ma potrebbe non essere desiderato nel caso in cui si voglia monitorare il device da utente.  
+
 
+
Se lo si vuole controllare, si aggiunga o si modifichi l'opzione  "GrabEventDevice" nella sezione touchpad in /etc/X11/xorg.conf.d/10-synaptics.conf:
+
  
 +
Se lo si vuole controllare, si aggiunga o si modifichi l'opzione  "GrabEventDevice" nella sezione touchpad in {{ic|/etc/X11/xorg.conf.d/10-synaptics.conf}}:
 +
{{hc|/etc/X11/xorg.conf.d/10-synaptics.conf|<nowiki>
 
  ...
 
  ...
 
  Option "GrabEventDevice" "''boolean''"
 
  Option "GrabEventDevice" "''boolean''"
 
  ...
 
  ...
 
+
</nowiki>}}
 
Ciò sarà preso in considerazione nel momento in cui X verrà riavviato, sebbene si possa cambiarlo usando synclient. Quando si cambia questo parametro col programma di synclient, il cambiamento non avrà effetto finché non si riavvierà il driver di Synaptics. Ciò lo si può fare passando alla console di testo e quindi tornando a X.
 
Ciò sarà preso in considerazione nel momento in cui X verrà riavviato, sebbene si possa cambiarlo usando synclient. Quando si cambia questo parametro col programma di synclient, il cambiamento non avrà effetto finché non si riavvierà il driver di Synaptics. Ciò lo si può fare passando alla console di testo e quindi tornando a X.
  
Line 534: Line 566:
  
 
Molti driver contengono un firmware che viene caricato nella memoria flash quando il computer viene avviato. Questo firmware non viene necessariamente ripulito durante il processo di spegnimento, e spesso non è compatibile con i driver Linux. L'unico modo per pulire la memoria flash è spegnere il computer completamente piuttosto che usare il reboot. È considerata generalmente buona pratica quella di non usare il reboot per passare da un sistema operativo ad un altro.
 
Molti driver contengono un firmware che viene caricato nella memoria flash quando il computer viene avviato. Questo firmware non viene necessariamente ripulito durante il processo di spegnimento, e spesso non è compatibile con i driver Linux. L'unico modo per pulire la memoria flash è spegnere il computer completamente piuttosto che usare il reboot. È considerata generalmente buona pratica quella di non usare il reboot per passare da un sistema operativo ad un altro.
 +
 +
=== Touchpad senza pulsanti (o ClickPad) ===
 +
Alcuni portatili sono dotati di un tipo speciale di touchpad che ha i pulsanti del mouse integrati alla piastra di rilevamento, anziché averli esterni. Per esempio HP series 4500 ProBooks, ThinkPad X220 e le serie X1 di ThinkPad hanno questo tipo di touchpad. Di default l'intera zona tasto è rilevato come un pulsante sinistro, con il risultato che il secondo è di fatto inutilizzabile e che il trascinamento non funziona. In precedenza, il supporto per questo tipo di dispositivi era gestito usando patch di parti terze, ma dalla versione 1.6.0 i driver synaptics possiedono il supporto multitouch nativo (usando la libreria ''mtdev'').
 +
 +
 +
Per abilitare altri pulsanti modificare la sezione touchpad in {{ic|/etc/X11/xorg.conf.d/10-synaptics.conf}} (o, meglio, del proprio file di configurazione personalizzato preceduto da un prefisso più alto di 10):
 +
 +
{{hc|/etc/X11/xorg.conf.d/10-synaptics.conf|<nowiki>
 +
...
 +
Option "ClickPad"        "true"
 +
Option "EmulateMidButtonTime" "0"
 +
Option "SoftButtonAreas"  "50% 0 82% 0 0 0 0 0"
 +
...
 +
</nowiki>}}
 +
 +
Queste tre opzioni sono fondamentali: la prima abilita il supporto multitouch, la seconda disabilita l'emulazione del pulsante centrale (non supportata per i ClickPad) e la terza va a definire le aree pulsante.
 +
 +
Il formato per l'opzione SoftButtonAreas è (fa {{ic|man 4 synaptics}}):
 +
{{bc|RightButtonAreaLeft RightButtonAreaRight RightButtonAreaTop RightButtonAreaBottom  MiddleButtonAreaLeft MiddleButtonAreaRight MiddleButtonAreaTop MiddleButtonAreaBottom}}
 +
 +
L'esempio di cui sopra si trova comunemente nella documentazione o nei pacchetti synaptics e imposta come pulsante destro il 18% della metà destra della parte bassa del touchpad. È abilitato poi '''nessun pulsante centrale'''. Se si desidera definire un pulsante centrale, si ricordi una parte fondamentale delle informazioni dal manuale: l'angolo impostato a 0 si estende all'infinito in quella direzione.
 +
 +
Nell'esempio seguente, il pulsante destro occupa il 40% della parte più a destra dell'area pulsante. Ora si procederà ad impostare il pulsante centrale in modo che occupi il 20% del touchpad in una piccola area al centro.
 +
 +
    ...
 +
    Option    "SoftButtonAreas"  "60% 0 82% 0 40% 59% 82% 0"
 +
    ...
 +
 +
Si può usare {{ic|<nowiki>synclient</nowiki>}} per controllare le nuove aree dei pulsanti touch:
 +
 +
    $ synclient -l | grep -i ButtonArea
 +
        RightButtonAreaLeft    = 3914
 +
        RightButtonAreaRight    = 0
 +
        RightButtonAreaTop      = 3918
 +
        RightButtonAreaBottom  = 0
 +
        MiddleButtonAreaLeft    = 3100
 +
        MiddleButtonAreaRight  = 3873
 +
        MiddleButtonAreaTop    = 3918
 +
        MiddleButtonAreaBottom  = 0
 +
 +
Se i propri pulsanti non funzionano, le zone dei pulsanti touch non stanno cambiando. Assicurarsi di non avere un file di configurazione synaptics distribuito da qualche pacchetto che stia sovrascrivendo le proprie impostazioni personalizzate (es. alcuni pacchetti AUR distrubuiscono configurazioni con un prefisso molto alto).
 +
 +
=== Touchpad rilevato come (touchpad elantech) ===
 +
Un problema del genere può capitare ad alcuni portatili con touchpad elantech, ad esempio ASUS x53s. In questa situazione è necessario il pacchetto da [[AUR]] {{AUR|psmouse-elantech}}.
 +
 +
=== Bug dello scrolling infinito introdotto da 1.5.99.903 ===
 +
Nella release 1.5.99.903, è stato introdotto un [http://cgit.freedesktop.org/xorg/driver/xf86-input-synaptics/commit/?id=1c155f644824133315ac5b3dac9076db71430eb6 bug] che porta la CoastingFriction ad avere poco o nessun effetto, portando l'inerzia a continuare virtualmente all'infinito. Alcune soluzioni possono essere sia la patch {{ic|xf86-input-synaptics}}, che il ricompilare da sé, che il disabilitare la funzione di inerzia aggiungendo la seguente opzione a {{ic|/etc/X11/xorg.conf.d/10-synaptics.conf}}:
 +
{{hc|/etc/X11/xorg.conf.d/10-synaptics.conf|<nowiki>
 +
...
 +
Option "CoastingSpeed" "0"
 +
...
 +
</nowiki>}}
  
 
==Risorse esterne==
 
==Risorse esterne==

Revision as of 15:06, 1 September 2012

Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary wiki Template:Article summary end

Questo articolo spiega il processo di installazione e configurazione de Synaptics input driver per i touchpad Synaptics (e ALPS) che si trovano sulla maggior parte dei notebook.

Contents

Installazione

I driver Synaptic sono ora inclusi nel pacchetto xf86-input-synaptics, e sono disponibili gli Official_Repositories

Configurazione

Il metodo principale di configurazione del touchpad è attraverso un file di configurazione del server Xorg. Dopo l'installazione di xf86-input-synaptics, viene creato un file di configurazione di base in /etc/X11/xorg.conf.d/10-synaptics.conf.

Gli utenti possono modificare questo file per configurare le diverse opzioni del driver disponibili, per una lista completa di tutte le variabili gli utenti dovrebbero rivolgersi alla pagina del manuale di synaptic:

$ man synaptics

Opzioni usate di frequente

I driver Synaptic permettono di essere modificati in un vasto numero di opzioni. Si noti che tutte queste opzioni possono essere semplicemente aggiunte al file di configurazione principale in /etc/X11/xorg.conf.d/10-synaptics.conf, come è possibile notare in questo esempio di file di configurazione, dove si è abilitato lo scrolling verticale, orizzontale e circolare:

/etc/X11/xorg.conf.d/10-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"
              ...
 EndSection
TapButton1
(integer) determina quale tasto del mouse venga registrato evitando l'area dell'angolo del touchpad, tocco con un dito.
TapButton2
(integer) determina quale tasto del mouse venga registrato evitando l'area dell'angolo del touchpad, tocco con due dita.
TapButton3
(integer) determina quale tasto del mouse venga registrato evitando l'area dell'angolo del touchpad, tocco con tre dita
RBCornerButton
(integer) determina quale tasto del mouse venga registrato nell'angolo in basso a destra del touchpad, tocco con un dito (si usi Option "RBCornerButton" "3" per ottenere il comportamento del tasto destro del mouse nell'angolo più basso a destra del touchpad alla maniera di Ubuntu)
RTCornerButton
(integer) come sopra, ma per l'angolo in alto a destra, tocco con un dito.
VertEdgeScroll
(boolean) abilita lo scrolling verticale mentre si trascina il dito lungo il bordo destro del touchpad.
HorizEdgeScroll
(boolean) abilita lo scrolling orizzontale mentre si trascina il dito lungo il bordo basso del touchpad.
VertTwoFingerScroll
(boolean) abilita lo scrolling vertucale usando due dita.
HorizTwoFingerScroll
(boolean) abilita lo scrolling orizzontale usando due dita.
EmulateTwoFingerMinZ/W
(integer) giocare su questo valore per settare la precisione dello scroll con due dita.

Un esempio con una breve descrizione di tutte le opzioni. Come al solito le impostazioni variano a seconda della macchina. Si consiglia di scoprire le differenti opzioni utilizzando synclient.

Nota: Se accade che la propria mano sfiori spesso il touchpad, causando l'attivazione dell'opzione TapButton2 (che copierà più del dovuto dagli appunti), e non si vuole perdere la funzionalità del tocco a due dita, si imposti TapButton2 a 0.
Nota: Le versioni recenti includono una funzione "Coasting", abilitata di default. Essa può causare l'effetto indesiderato di continuare lo scorrimento fino al tocco o al click seguente, anche nel caso in cui non si stia più toccando il touchpad. Ciò significa che per fare scrolling anche appena un po', si deve scorrere (usando l'angolo o un'opzione multitouch) e quindi quasi subito toccare il touchpad. In caso contrario lo scrolling continuerà all'infinito. Se si desidera evitare questo problema, impostare CoastingSpeed a 0.

Altre opzioni

VertScrollDelta e HorizScrollDelta
(integer) configura la velocità di scrolling. È un po' poco intuitivo in quanto valori più alti producono una maggiore precisione e quindi uno scorrimento più lento.

GNOME

Gli utenti di GNOME dovrebbero modificare anche la configurazione di quest'ultimo, dato che, di base, blocca il tocco per cliccare, lo scrolling orizzontale e non permette di disabilitare il touchpad durante la battitura a tastiera.

Per cambiare queste impostazioni in Gnome 2:

  1. Si lanci gconf-editor
  2. modificare la chiave nella cartella /desktop/gnome/peripherals/touchpad/.

Per cambiare queste impostazioni in Gnome 3:

  1. Si apra Impostazioni di Sistema.
  2. Si selezioni Mouse e Touchpad.
  3. Si cambino le impostazioni nella scheda Touchpad.

Il demone delle impostazioni Gnome potrebbe sovrascrivere le impostazioni esistenti (ad esempio i settaggio in xorg.conf.d) per i quali non ci sono equivalenti in alcuna utilità grafica di configurazione). È possibile fare in modo che gnome non modifichi più le impostazioni mouse:

  1. Avviare dconf-editor
  2. Modificare /org/gnome/settings-daemhttps://wiki.archlinux.org/index.php?title=Touchpad_Synaptics_(Italiano)&action=edit&section=3on/plugins/mouse/
  3. Deselezionare l'impostazione attivo.

Ora sarà rispettata la configurazione esistente per synaptics.

Configurazioni al volo

Accanto al metodo tradizionale di configurazione, i driver Synaptic supportano anche la configurazione al volo. Ciò significa che gli utenti possono impostare alcune opzioni attraverso applicazioni software che vengono applicate immediatamente senza dover riavviare X. Questo è molto utile per testare le opzioni di configurazione prima di includerle nel file di configurazione. Le configurazioni On-the-fly sono no permanenti e non rimarranno attive al riavvio del sistema, alla sospensione / riavvio o al riavvio di udev. Si dovrebbe usare tale utilità solo per finalità di testing, affinamento o configurazione di script

Perché molto di questi strumenti funzionino, è necessario avere la SHMConfig Option abilitata nel file 10-synaptic.conf

/etc/X11/xorg.conf.d/10-synaptics.conf
…
Option "SHMConfig" "on" # or Option "SHMConfig"  "true"
…

Strumenti da console

  • Synclient (Raccomandato) — utilità da riga di comando per configurare e ricercare impostazioni del driver Synaptics su un live system. Lo strumento è sviluppato da i manutentori dei driver synaptics ed è fornito con i driver stessi
http://xorg.freedesktop.org/ || xf86-input-synaptics
  • xinput — un piccolo strumento con interfaccia da riga di comando (CLI) per configurare i dispositivi:
http://xorg.freedesktop.org/ || xorg-xinput

Strumenti grafici

  • GPointing Device Settings — fornisce una configurazione al volo grafica per numerosi device di puntamento connessi al sistema, incluso il proprio touchpad synaptic. Questa applicazione rimpiazza GSynaptics come lo strumento principale di configurazione grafica del touchpad attraverso i driver synaptic.
http://live.gnome.org/GPointingDeviceSettings || gpointing-device-settingsAUR
Note: Affinché GPointingDeviceSettings funzioni con i touchpad Synaptics devono essere installati i pacchetti xf86-input-synaptics e libsynaptics !
  • GSynaptics (Abbandonato!) — permette all'utente di configurare opzioni come lo scrolling orizzontale, verticale e circolare, oltre a quelle per abilitare e disabilitare il touchpad. il sito di GSynaptics riporta che lo sviluppo è stato bloccato e che il sistema potrebbe essere obsoleto e che, ciò nonostante, l'applicazione funziona perfettamente con xorg 1.11. In ogni caso si suggerisce agli utenti che cercano un tool grafico di usare GPointingDeviceSettings al suo posto. GSynaptics dovrebbe essere usato solo come ultima risorsa.
http://gsynaptics.sourceforge.jp/ || gsynaptics
  • Synaptiks — strumento di configurazione e amministrazione del touchpad per KDE. Mette a disposizione un modulo Impostazioni di Sistema per configurare le funzioni di base e avanzate del touchpad. In più è dotato di una piccola applicazione da vassoio di sistema, che può spegnere automaticamente il touchpad nel momento in cui un mouse esterno fosse collegato o in cui si stesse digitando sulla tastiera.
http://synaptiks.lunaryorn.de || synaptiks

Configurazione avanzata

xinput

In base al modello, il touchpad synaptics può avere o meno queste caratteristiche:

  • pulsanti hardware sinistro, centrale o destro
  • individuazione di due dita
  • individuazione di tre dita
  • risoluzione configurabile

Usare xinput list per trovare il nome del proprio device.

Prima di tutto, si trovi il nome del proprio touchpad:

$ xinput -list

Ora su può usare xinput per trovare le caratteristiche:

$ xinput list-props "SynPS/2 Synaptics TouchPad" | grep Capabilities

      Synaptics Capabillities (309):  1, 0, 1, 0, 0, 1, 1

Questi numeri mostrano, da sinistra a destra:

  • (1) il device ha un pulsante sinistro fisico
  • (0) il device non ha un pulsante centrale fisico
  • (1) il device ha un pulsante destro fisico
  • (0) il device non supporta l'individuazione two-finger
  • (0) il device non supporta l'individuazione three-finger
  • (1) il device può configurare la risoluzione verticale
  • (1) il device può configurare la risoluzione orizzontale

Usare xinput list-props "SynPS/2 Synaptics TouchPad" per elencare le proprietà del touchpad.

Leggere i manuali di xinput e synaptics.

Synclient

Synclient può configurare ogni opzione a disposizione dell'utente, come documentato in $ man synaptics. Si può vedere una lista completa delle impostazioni correnti con:

$ synclient -l

Ogni opzione di configurazione elencata si può controllare tramite synclient, ad esempio:

$ synclient PalmDetect=1 (per abilitare la palm detection)
$ synclient TapButton1=1 (per configurare gli eventi del pulsante)
$ synclient TouchpadOff=1 (per disabilitare il touchpad)

Dopo che l'utente ha provato e testato con successo le proprie opzioni da synclient, può rendere i combiamenti permanenti aggiungendoli a /etc/X11/xorg.conf.d/10-synaptics.conf.

Il pannello di controllo synclient può mostrare la pressione e la posizione sul touchpad in tempo reale, permettendo la rifinitura delle impostazioni predefinite di Synaptics.

Si può avviare il monitor Synaptics con il seguente comando:

$ synclient -m 100

Dove l'opzione -m attiva il monitor e il numero seguente specifica l'intervallo di aggiornamento in millesimi di secondo.

Questo monitor fornisce informazioni sullo stato corrente del proprio touchpad. Ad esempio, se il mouse viene mosso attraverso il touchpad, i valori x e y del monitor cambieranno. Con questi dati si potrà facilmente risalire alle dimensioni del proprio touchpad che sono definite nelle opzioni LeftEdge-, RightEdge-, BottomEdge- e TopEdge.

Le abbreviazioni per i parametri sono le seguenti:

+Abbreviation+ +Description+
time Tempo in secondi da quando la registrazione è iniziata.
x, y Le coordinate x/y del dito sul touchpad. L'origine è nell'angolo in alto a sinistra.
z Il valore della pressione. Rappresenta la pressione che si sta usando per navigare sul proprio touchpad.
f Numero di dita che stanno toccando il touchpad.
w Valore che rappresenta la larghezza del dito.
l,r,u,d,m,multi Questi valori rappresentano lo stato della pressione dei tasti sinistra, destra, su, giù, centro e multipli dove il valore zero indica che non vi è stata pressione, mentre uno che vi è stata pressione.
gl,gm,gr Per i touchpad che hanno un device ospite, questi valori indicano lo stato dei tasti associati per il tasto ospite sinistro, centro e destro su cui vi è stata pressione (1) o meno (0).
gdx, gdy Coordinate x/y per il device ospite.

Se un valore rimane costante a zero, significa che quell'opzione non è supportata dal proprio device.

Ora si usi synclient per testare nuovi valori. Ad esempio, per regolare la velocità minima del puntatore:

$ synclient MinSpeed=0.5

Il cambiamento non sarà permanente, occorrerà mettere questi valori nel proprio file di configurazione (/etc/X11/xorg.conf.d/10-synaptics.conf) per renderli tali.

Scrolling circolare

Lo scrolling circolare è un'utilità offerta da Synaptics che ricorda da vicino il comportamento degli iPod. Al posto di (o oltre a) scorrere orizzontalmente o verticalmente, è possibile farlo circolarmente. Alcuni utenti lo trovano un sistema più veloce e preciso. Per abilitare lo scrolling circolare, si aggiungano le opzioni seguenti alla sezione device del touchpad in /etc/X11/xorg.conf.d/10-synaptics.conf:

/etc/X11/xorg.conf.d/10-synaptics.conf
 Section "InputClass"
         ...
         Option      "CircularScrolling"          "on"
         Option      "CircScrollTrigger"          "0"
         ...
 EndSection

L'opzione CircScrollTrigger può avere uno dei seguenti valori, atti a determinare da che da che bordo parte lo scrolling circolare:

0    Ogni bordo
1    Bordo superiore
2    Angolo in alto a destra
3    Bordo destro
4    Angolo in basso a destra
5    Bordo inferiore
6    Angolo in basso a sinistra
7    Bordo sinistro
8    Angolo in alto a sinistra

È utile specificare un valore diverso da zero se si desidera utilizzare lo scrolling circolare unitamente all'orizzontale e/o al verticale. Se lo si fa, il tipo di scrolling sarà determinato dal lato da cui si parte.

Per scorrere velocemente, disegnare piccoli cerchi nel centro del proprio touchpad. Per farlo lentamente e con maggior precisione, disegnare cerchi dall'ampio raggio.

Interruttore software

Si potrebbe trovare utile un interruttore software, che accenda o spenga il touchpad, specialmente nel caso in cui sia estremamente sensibile o l'utente digiti spesso. Attenzione: si guardi anche #Disable touchpad upon external mouse detection in quanto questa potrebbe essere la soluzione migliore (questione di gusti). Il vantaggio, in questo caso, è che l'utente ha il controllo della cosa, mentre l'altra soluzione utilizza un demone per determinare quando spegnere il touchpad.

Si potrebbe dover installare xbindkeys nel caso in cui non si sia già dotati di un software che gestisca le combinazioni di tasti.

Quindi si salvi questo script in qualcosa come /sbin/trackpad-toggle.sh:

/sbin/trackpad-toggle.sh
 #!/bin/bash
 
 synclient TouchpadOff=$(synclient -l | grep -c 'TouchpadOff.*=.*0')

Infine, si aggiunga una combinazione di tasti che lo utilizzi. La cosa migliore è avviarlo con xbindkeys così, in(file ~/.xbindkeysrc):

~/.xbindkeysrc
 "/sbin/trackpad-toggle.sh"
     m:0x5 + c:65
     Control+Shift + space

Ora, si (ri)avvii semplicemente xbindkeys e la pressione di Template:Keypress+Template:Keypress+Template:Keypress avvierà/spegnerà il touchpad!

Ovviamente si può utilizzare il software di gestione delle combinazioni tasti che si desidera, come quelli previsti nel proprio DE/WM.

Risoluzione problemi

ALPS Touchpads

Tango-view-fullscreen.pngThis article or section needs expansion.Tango-view-fullscreen.png

Reason: please use the first argument of the template to provide a brief explanation. (Discuss in Talk:Touchpad Synaptics (Italiano)#)
Template:Box YELLOW

Per i touchpad ALPS, nel caso in cui le configurazioni sopra indicate non dessero i risultati desiderati, si provi invece ad utilizzare la seguente configurazione:

 Section "ServerLayout"
   ...
   InputDevice    "USB Mouse" "CorePointer"
   InputDevice    "Touchpad"  "SendCoreEvents"
 EndSection
 Section "InputDevice"
       Identifier  "Touchpad"
   Driver  "synaptics"
   Option  "Device"   "/dev/input/mouse0"
   Option  "Protocol"   "auto-dev"
   Option  "LeftEdge"   "130"
   Option  "RightEdge"   "840"
   Option  "TopEdge"   "130"
   Option  "BottomEdge"   "640"
   Option  "FingerLow"   "7"
   Option  "FingerHigh"   "8"
   Option  "MaxTapTime"   "180"
   Option  "MaxTapMove"   "110"
   Option  "EmulateMidButtonTime"   "75"
   Option  "VertScrollDelta"   "20"
   Option  "HorizScrollDelta"   "20"
   Option  "MinSpeed"   "0.25"
   Option  "MaxSpeed"   "0.50"
   Option  "AccelFactor"   "0.010"
   Option  "EdgeMotionMinSpeed"   "200"
   Option  "EdgeMotionMaxSpeed"   "200"
   Option  "UpDownScrolling"   "1"
   Option  "CircularScrolling"   "1"
   Option  "CircScrollDelta"   "0.1"
   Option  "CircScrollTrigger"   "2"
   Option  "SHMConfig"   "on"
   Option  "Emulate3Buttons"   "on"
 EndSection

Il touchpad non funziona, Xorg.0.log presenta "Query no Synaptics: 6003C8"

A causa del modo in cui synaptic è impostato al momento, vengono caricate due istanze del modulo synaptics. Si può riconoscere questa situazione aprendo il file di log di xorg (/var/log/Xorg.0.log) e notando questo:

/var/log/Xorg.0.log
 [ 9304.803] (**) SynPS/2 Synaptics TouchPad: Applying InputClass "evdev touchpad catchall"
 [ 9304.803] (**) SynPS/2 Synaptics TouchPad: Applying InputClass "touchpad catchall"

Da notare come due istanze dal nome diverso vengano caricate. In alcuni casi questa è la causa del perché il touchpad diventi inutilizzabile.

Si può prevenire il doppio caricamento editando il proprio file /etc/X11/xorg.conf.d/10-synaptics.conf. Si dovrebbe aggiungere MatchDevicePath "/dev/input/event*"

/etc/X11/xorg.conf.d/10-synaptics.conf
 Section "InputClass"
       Identifier "touchpad catchall"
       Driver "synaptics"
       MatchIsTouchpad "on"
       MatchDevicePath "/dev/input/event*"
             Option "TapButton1" "1"
             Option "TapButton2" "2"
             Option "TapButton3" "3"
 EndSection 

Si riavvii X e si ricontrolli i log di xorg, l'errore dovrebbe essere sparito e il touchpad dovrebbe funzionare correttamente.

Bugreport relativo: FS#20830

Topic relativi nel forum:

Touchpad rilevato come "PS/2 Generic Mouse" o "Logitech PS/2 mouse"

Ciò è causato da un bug del kernel, corretto a partire dal kernel 3.3. I touchpad rilevati scorrettamente non si possono configurare con il Synaptic input driver. Per correggere questo errore, si può installare pacchetto AUR psmouse-elantechAUR.

Tra i notebook colpiti ci sono i seguenti modelli:

  • Acer Aspire 7750G
  • Dell Latitude e6520 (ALPS touchpad), Inspiron N5110 (ALPS GlidePoint)
  • Samsung NC110/NF210/QX310/QX410/QX510/SF310/SF410/SF510/RF410/RF510/RF710/RV515

Si può verificare se il proprio touchpad è correttamente rilevato con:

$ xinput list

Per maggiori informazioni si veda questo thread.

Abilità speciali di Synaptics non-funzionanti (multi-tocco, scrolling, ecc.)

In alcuni casi i touchpad Synaptics funzionano solo parzialmente. Caratteristiche come lo scrolling a due dita o il click centrale con due dita non funzionano persino se configurate correttamente. Ciò è probabilmente dovuto al problema Il touchpad non funziona su menzionato. Si risolva alla stessa maniera evitando il caricamento del doppio modulo.

Se impedire che il modulo parta due volte non risolve il problema, provare a commentare l'opzione "MatchIsTouchpad" (che ora è inclusa di default nel file di configurazione di synaptics).

Disabilitare il touchpad non appena venga rilevato un mouse esterno

Con l'aiuto di udev, è possibile disabilitare automaticamente il touchpad nel caso in cui venga inserito un mouse esterno. Per realizzare ciò si aggiunga la seguente regola udev a /etc/udev/rules.d/01-touchpad.rules:

/etc/udev/rules.d/01-touchpad.rules
 ACTION=="add", SUBSYSTEM=="input", KERNEL=="mouse[1-9]", ENV{DISPLAY}=":0.0",
 ENV{XAUTHORITY}="/home/USERNAME/.Xauthority", ENV{ID_CLASS}="mouse", RUN+="/usr/bin/synclient TouchpadOff=1"
 ACTION=="remove", SUBSYSTEM=="input", KERNEL=="mouse[1-9]", ENV{DISPLAY}=":0.0",
 ENV{XAUTHORITY}="/home/USERNAME/.Xauthority", ENV{ID_CLASS}="mouse", RUN+="/usr/bin/synclient TouchpadOff=0"

GDM conserva i file Xauthority in /var/run/gdm in una cartella nominata a caso. Così le regole di udev appariranno in questa forma

ACTION=="add", KERNEL=="mouse[0-9]", SUBSYSTEM=="input", PROGRAM="/usr/bin/find /var/run/gdm -name *username*", ENV{DISPLAY}=":0.0",
ENV{XAUTHORITY}="$result/database", RUN+="/usr/bin/synclient TouchpadOff=1"
ACTION=="remove", KERNEL=="mouse[0-9]", SUBSYSTEM=="input", PROGRAM="/usr/bin/find /var/run/gdm -name *username*", ENV{DISPLAY}=":0.0",
ENV{XAUTHORITY}="$result/database", RUN+="/usr/bin/synclient TouchpadOff=0"
Nota: le regole di udev devono essere ognuna di una singola riga, per accordarsi al formato.

SHMConfig dev'essere abilitato (si veda la sezione #Configurazione per i dettagli).

Note: L'uso di SHMConfig è stato deprecato.

Il cursore salta

Alcuni utenti denunciano un cursore che inspiegabilmente "salta" per tutto lo schermo. Al momento non c'è una patch per questo problema, ma gli sviluppatori sono informati sul problema e ci stanno lavorando.

Un'altra possibilità è che si stiano avendo IRQ losses correlate al controller i8042 (questo dispositivo gestisce la tastiera e il touchpad di molti portatili). In questo caso ci sono due possibilità:

1. rmmod && insmod il modulo psmouse. 2. instrire i8042.nomux=1 alla riga di boot e riavviare la propria macchina.

Multitouch

Gesti multitouch come in Mac OS X saranno implementati con versioni future del driver.

Il dispositivo touchpad non si trova in /dev/input/*

Se questo problema si presenta, si può utilizzare questo comando per mostrare le informazioni riguardo il proprio dispositivo di input:

$ cat /proc/bus/input/devices

Si cerchi quindi un dispositivo di input col nome "SynPS/2 Synaptics TouchPad". La sezione "Handlers" dell'output mostra il nome del device che occorre specificare.

Esempio d'output:

$ cat /proc/bus/input/devices
 I: Bus=0011 Vendor=0002 Product=0007 Version=0000
 N: Name="SynPS/2 Synaptics TouchPad"
 P: Phys=isa0060/serio4/input0
 S: Sysfs=/class/input/input1
 H: Handlers=mouse0 event1
 B: EV=b
 B: KEY=6420 0 7000f 0

In questo caso, gli Handlers sono mouse0 e event1, quindi si dovrà usare /dev/input/mouse0.

Tango-view-fullscreen.pngThis article or section needs expansion.Tango-view-fullscreen.png

Reason: please use the first argument of the template to provide a brief explanation. (Discuss in Talk:Touchpad Synaptics (Italiano)#)
Template:Box YELLOW

Disabilitare il trackpad durante la digitazione sulla tastiera

Usando il rilevamento automatico del palmo

Prima di tutto si dovrebbe provare se questa funzione lavora in maniera appropriata per il proprio trackpad e se le impostazioni sono accurate:

$ synclient PalmDetect=1

Quindi si testi la digitazione. È possibile ottimizzare il rilevamento con:

$ synclient PalmMinWidth=

che indica l'area di tocco della propria mano, e

$ synclient PalmMinZ=

che indica la distanza Z minima alla quale il rilevamento viene messo in atto.

Una volta che si sono trovate le impostazioni corrette, si salvino in /etc/X11/xorg.conf.d/10-synaptics.conf così:

#synclient PalmDetect=1
Option "PalmDetect" "1"
#synclient PalmMinWidth=10
Option "PalmMinWidth" "10"
#synclient PalmMinZ=200
Option "PalmMinZ" "200"

Utilizzo di .xinitrc

Nota: È necessario avere SHMConfig abilitato nel proprio /etc/X11/xorg.conf.d/10-synaptics.conf.

Per disabilitare automaticamente il touchpad quando si comincia a digitare, si aggiunga la seguente linea al proprio .xinitrc prima di lanciare il proprio gestore di finestre (nel caso in cui non si utilizzi un manager di login):

$ syndaemon -t -k -i 2 -d &
-i 2
imposta il tempo di idle a 2 secondi. Il tempo di idle specifica quanti secondi aspettare dopo l'ultimo tasto premuto per riabilitare il touchpad.
-t
dice al demone di non disattivare il movimento del mouse mentre si scrive ma disabilitare solo il tocco e lo scorrimento.
-k
dice al demone di ignorare i tasti modificatori durante il monitoraggio dell'attività della tastiera (permette ad esempio il ctrl+click sinistro).
-d
avvia come demone, in background.

Maggiori dettagli si possono trovare nella pagina del manuale:

$ man syndaemon

Se si sta utilizzando un login manager, sarà necessario specificare il comando laddove il proprio DE lo permette.

Utilizzando un Login Manager

Nota: È necessario avere SHMConfig abilitato nel proprio /etc/X11/xorg.conf.d/10-synaptics.conf.

L'opzione "-d" è necessaria per avviare syndaemon come un processo in background per pubblicare le istruzioni del Login.

Per GNOME: (GDM)

Per avviare syndaemon occorre usare il programma di preferenze per l'avvio delle applicazioni di Gnome. Si entri in Gnome e si vada in Sistema > Preferenze > Avvio Applicazioni. Nella scheda relativa ai programmi da lanciare all'avvio, si selezioni il pulsante Aggiungi. Si nomini come si desidera il programmi d'avvio e si inserisca il commento desiderato (oppure si lasci questo campo in bianco). Nello spazio per il comando si inserisca:

$ syndaemon -t -k -i 2 -d &

Quando lo si è fatto si selezioni il pulsante Aggiungi nella finestra per aggiungere un programma all'avvio. Ci si assicuri quindi che sia selezionata la casella vicina al programma d'avviare che si è creata, nella lista dei programmi aggiuntivi da avviare. Si chiuda la finestra delle Preferenze d'Avvio delle Applicazioni e il gioco è fatto.

Per KDE: (KDM)

Si vada in Impostazioni di Sistema > Tab Avanzate > Autostart, quindi si selezioni Aggiungere Programma, e si inserisca:

 syndaemon -t -k -i 2 -d &

Quindi selezionare "Avviare in terminale".

Firefox e azioni speciali per il touchpad

Di base, Firefox è impostato per compiere azioni speciali durante lo scrolling o il tocco di alcune zone del touchpad. Si possono editare le impostazioni di queste azioni digitando about:config nella barra degli indirizzi di Firefox. Per cambiare queste opzioni, si clicchi due volte sulla linea in questione, cambiando la dicitura da "true" a "false" e vicecersa.

Per evitare che Firefox effettui lo scorrimento (indietro/avanti) attraverso la cronologia invece di effettuare lo scorrimento tra le pagine, si editi queste opzioni come indicato:

mousewheel.horizscroll.withnokey.action = 1
mousewheel.horizscroll.withnokey.sysnumlines = true

Per evitare che Firefox effettui il reindirizzamento all'URL indicato dai contenuti degli appunti tramite il tocco dell'area in alto a destra del touchpad (o il tasto centrale del mouse), si imposti a "false" la seguente opzione:

middlemouse.contentLoadURL = false

Opera: problemi di scorrimento orizzontale

Come sopra. Per risolvere si vada in Impostazioni -> Preferenze -> Avanzate -> Scorciatoie. Si selezionino le impostazioni del mouse "Opera Standard" e si selezioni "Edit". Nella sezione "Applicazioni":

  • assign key "Button 6" to command "Scroll left"
  • assign key "Button 7" to command "Scroll right"

Scorrimento e azioni multiple con Synaptics sui portatili LG

Questi problemi sembrano accadere su molti modelli di portatile LG. I sintomi includono: quando si preme il tasto del mouse 1, Synaptics lo interpreta come uno ScrollUP e un normale click del tasto 1; lo stesso accade per il tasto 2.

Il problema dello scorrimento può essere risolto inserendo nel xorg.conf:

/etc/X11/xorg.conf.d/xorg.conf
Option "UpDownScrolling" "0"

NOTARE che questo farà sì che Synaptic interpreti la pressione di un tasto come tre pressioni. C'è una patch scritta da Oskar Sandberg[1] che rimuove questi click.

Apparentemente, quando si tenta di compilare questa soluzione all'ultima versione di Synaptic, questa fallisce. La soluzione è di usare il repository GIT per Synaptics[2] .

Si trova anche un pacchetto in AUR per automatizzare il tutto: xf86-input-synaptics-lgAUR.

Per costruire il pacchetto dopo aver scaricato il tarball e averlo decompresso, si esegua:

$ cd synaptics-git
$ makepkg

Altri problemi con mouse esterni

Innanzitutto, assicurarsi che la sezione di descrizione del mouse esterno contenga questa linea (o quella che ci assomiglia):

/etc/X11/xorg.conf.d/xorg.conf
Option     "Device" "/dev/input/mice"

Se la linea "Device" è differente, la si cambi con quella sopra indicata e si provi a riavviare X. Se ciò non dovesse risolvere il problema, si imposti touchpad come CorePointer nella sezione "Server Layout":

/etc/X11/xorg.conf.d/xorg.conf
InputDevice    "Touchpad" "CorePointer"

e impostare il device esterno come "SendCoreEvents":

/etc/X11/xorg.conf.d/xorg.conf
InputDevice    "USB Mouse" "SendCoreEvents"

alla fine si aggiunga questa linea alla sezione del device esterno:

/etc/X11/xorg.conf.d/xorg.conf
Option      "SendCoreEvents"    "true"

Se tutto quello indicato non dovesse funzionare, per favore si controlli la sezione di bug rilevanti per un possibile bug, o si cerchi tra i post dei forum se qualcuno ha trovato una soluzione migliore.

Problemi di sincronizzazione del Touchpad

A volte il cursore potrebbe congelarsi per alcuni secondi o iniziare ad agire da solo senza apparente motivo. Questi comportamenti vengono registrati in /var/log/messages.log

/var/log/messages.log
psmouse.c: TouchPad at isa0060/serio1/input0 lost synchronization, throwing 3 bytes away

Questo problema non ha una soluzione unica, ma ce ne sono diverse.

  • Se si usa scalare la frequenza della CPU, si eviti di utilizzare il governatore "ondemand" e si usi quello "performance" quando possibile, dal momento che il touchpad potrebbe perdere la sincronizzazione nei momenti di cambio della frequenza della CPU.
  • Si eviti di usare un monitor di batteria ACPI.
  • Si provi a caricare psmouse con l'opzione "proto=imps". Per farlo, si aggiunga questa linea al proprio /etc/modprobe.d/modprobe.conf:
/etc/modprobe.d/modprobe.conf
options psmouse proto=imps
  • Si provi con un altro ambiente desktop. Alcuni utenti dichiarano che questo problema accade solamente quando usano XFCE o GNOME, per qualche strano motivo.

Ritardo tra la pressione sul pulsante e il click effettivo

Se si percepisce un ritardo tra la pressione sul touchpad e il click effettivo che viene registrato occorre abilitare FastTaps:

per farlo occorre aggiungere Option "FastTaps" "1" a /etc/X11/xorg.conf.d/10-synaptics.conf in modo tale da avere:

/etc/X11/xorg.conf.d/10-synaptics.conf
 Section "InputClass"
      Identifier "Synaptics Touchpad"
      Driver "synaptics"
      ...
      Option "FastTaps" "1"
      ...
 EndSection

SynPS/2 Synaptics TouchPad can't grab event device, errno=16

Se si sta utilizzando Xorg 7.4 si dovrebbe ottenere un warning come questo da /var/log/Xorg.0.log, ciò è dovuto al fatto che il driver registra l'evento del device per un uso esclusivo quando si utilizza il protocollo eventi di Linux 2.6. Quando ciò fallisce, X risponde con questo messaggio d'errore.

Registrare l'evento del device significa che nessun programma né da parte dell'user né da parte del kernel possa vedere l'evento del touchpad. Questo è desiderabile se il file di configurazione di X contiene /dev/input/mice come un device di input, ma potrebbe non essere desiderato nel caso in cui si voglia monitorare il device da utente.

Se lo si vuole controllare, si aggiunga o si modifichi l'opzione "GrabEventDevice" nella sezione touchpad in /etc/X11/xorg.conf.d/10-synaptics.conf:

/etc/X11/xorg.conf.d/10-synaptics.conf
 ...
 Option "GrabEventDevice" "''boolean''"
 ...

Ciò sarà preso in considerazione nel momento in cui X verrà riavviato, sebbene si possa cambiarlo usando synclient. Quando si cambia questo parametro col programma di synclient, il cambiamento non avrà effetto finché non si riavvierà il driver di Synaptics. Ciò lo si può fare passando alla console di testo e quindi tornando a X.

Synaptics perde il Rilevamento del Multitocco dopo aver effettuato il Reboot da Windows

Molti driver contengono un firmware che viene caricato nella memoria flash quando il computer viene avviato. Questo firmware non viene necessariamente ripulito durante il processo di spegnimento, e spesso non è compatibile con i driver Linux. L'unico modo per pulire la memoria flash è spegnere il computer completamente piuttosto che usare il reboot. È considerata generalmente buona pratica quella di non usare il reboot per passare da un sistema operativo ad un altro.

Touchpad senza pulsanti (o ClickPad)

Alcuni portatili sono dotati di un tipo speciale di touchpad che ha i pulsanti del mouse integrati alla piastra di rilevamento, anziché averli esterni. Per esempio HP series 4500 ProBooks, ThinkPad X220 e le serie X1 di ThinkPad hanno questo tipo di touchpad. Di default l'intera zona tasto è rilevato come un pulsante sinistro, con il risultato che il secondo è di fatto inutilizzabile e che il trascinamento non funziona. In precedenza, il supporto per questo tipo di dispositivi era gestito usando patch di parti terze, ma dalla versione 1.6.0 i driver synaptics possiedono il supporto multitouch nativo (usando la libreria mtdev).


Per abilitare altri pulsanti modificare la sezione touchpad in /etc/X11/xorg.conf.d/10-synaptics.conf (o, meglio, del proprio file di configurazione personalizzato preceduto da un prefisso più alto di 10):

/etc/X11/xorg.conf.d/10-synaptics.conf
...
Option "ClickPad"         "true"
Option "EmulateMidButtonTime" "0"
Option "SoftButtonAreas"  "50% 0 82% 0 0 0 0 0"
...

Queste tre opzioni sono fondamentali: la prima abilita il supporto multitouch, la seconda disabilita l'emulazione del pulsante centrale (non supportata per i ClickPad) e la terza va a definire le aree pulsante.

Il formato per l'opzione SoftButtonAreas è (fa man 4 synaptics):

RightButtonAreaLeft RightButtonAreaRight RightButtonAreaTop RightButtonAreaBottom  MiddleButtonAreaLeft MiddleButtonAreaRight MiddleButtonAreaTop MiddleButtonAreaBottom

L'esempio di cui sopra si trova comunemente nella documentazione o nei pacchetti synaptics e imposta come pulsante destro il 18% della metà destra della parte bassa del touchpad. È abilitato poi nessun pulsante centrale. Se si desidera definire un pulsante centrale, si ricordi una parte fondamentale delle informazioni dal manuale: l'angolo impostato a 0 si estende all'infinito in quella direzione.

Nell'esempio seguente, il pulsante destro occupa il 40% della parte più a destra dell'area pulsante. Ora si procederà ad impostare il pulsante centrale in modo che occupi il 20% del touchpad in una piccola area al centro.

   ...
   Option     "SoftButtonAreas"  "60% 0 82% 0 40% 59% 82% 0"
   ...

Si può usare synclient per controllare le nuove aree dei pulsanti touch:

   $ synclient -l | grep -i ButtonArea
       RightButtonAreaLeft     = 3914
       RightButtonAreaRight    = 0
       RightButtonAreaTop      = 3918
       RightButtonAreaBottom   = 0
       MiddleButtonAreaLeft    = 3100
       MiddleButtonAreaRight   = 3873
       MiddleButtonAreaTop     = 3918
       MiddleButtonAreaBottom  = 0

Se i propri pulsanti non funzionano, le zone dei pulsanti touch non stanno cambiando. Assicurarsi di non avere un file di configurazione synaptics distribuito da qualche pacchetto che stia sovrascrivendo le proprie impostazioni personalizzate (es. alcuni pacchetti AUR distrubuiscono configurazioni con un prefisso molto alto).

Touchpad rilevato come (touchpad elantech)

Un problema del genere può capitare ad alcuni portatili con touchpad elantech, ad esempio ASUS x53s. In questa situazione è necessario il pacchetto da AUR psmouse-elantechAUR.

Bug dello scrolling infinito introdotto da 1.5.99.903

Nella release 1.5.99.903, è stato introdotto un bug che porta la CoastingFriction ad avere poco o nessun effetto, portando l'inerzia a continuare virtualmente all'infinito. Alcune soluzioni possono essere sia la patch xf86-input-synaptics, che il ricompilare da sé, che il disabilitare la funzione di inerzia aggiungendo la seguente opzione a /etc/X11/xorg.conf.d/10-synaptics.conf:

/etc/X11/xorg.conf.d/10-synaptics.conf
...
Option "CoastingSpeed" "0"
...

Risorse esterne

Synaptics TouchPad driver: [3]