Debian-swirl.png Versioni Compatibili

Tutte le versioni supportate di Debian

Introduzione

In questa guida vedremo come installare e configurare al meglio un touchpad compatibile coi driver synaptics, utilizzato nella maggioranza dei notebook.

Installazione

I driver Synaptics sono scaricabili direttamente dal repository Debian:

# aptitude install xserver-xorg-input-synaptics

Configurazione

Per configurare il touchpad possono essere usati diversi tool di configurazione (es: gsynaptics per Gnome, kde-config-touchpad per KDE), oppure definire le regole per Xorg. Dato che dalla versione 7.3 di Xorg non è più necessario il file di configurazione /etc/X11/xorg.conf, si può procedere in due diversi modi:

  • Modifica (o creazione) del file /etc/X11/xorg.conf
  • Creazione di un file di configurazione in /etc/X11/xorg.conf.d/ per il touchpad (consigliato nel caso in cui non esista il file /etc/X11/xorg.conf)

Modifica del file xorg.conf

Caricamento del Modulo

Nella sezione Modules bisogna aggiungere la seguente riga:

Load "synaptics"

che consente il caricamento del modulo all'avvio del server X

Impostazioni del dispositivo

Nella sezione "InputDevice" è necessario aggiungere la seguente parte:

Section "InputDevice"
  Driver        "synaptics"
  Identifier    "Synaptics Touchpad"
# se /dev/psaux non funziona, bisogna inserire /dev/input/mice
  Option        "Device"        "/dev/psaux"
  Option        "Protocol"      "auto-dev"
  Option        "LeftEdge"      "1700"
  Option        "RightEdge"     "5300"
  Option        "TopEdge"       "1700"
  Option        "BottomEdge"    "4200"
  Option        "FingerLow"     "25"
  Option        "FingerHigh"    "30"
  Option        "MaxTapTime"    "180"
  Option        "MaxTapMove"    "220"
  Option        "VertScrollDelta" "100"
  Option        "MinSpeed"      "0.06"
  Option        "MaxSpeed"      "0.12"
  Option        "AccelFactor" "0.0010"
# Questa riga deve essere decommentata per utilizzare i programmi
# di configurazione del touchpad
#  Option       "SHMConfig"     "on"
#  Option       "Repeater"      "/dev/ps2mouse"
EndSection

Ovviamente è necessario "propagare" questa modifica nel resto del file di configurazione, per l'esattezza nella sezione ServerLayout: basta aggiungere la seguente riga (oppure modificare quella del mouse "generico")

InputDevice     "Synaptics Touchpad"

Ora è sufficiente riavviare il server X (facendo un logout e, dal Login manager, selezionare l'opzione "riavvia server X") ed il gioco è fatto.

In alternativa è possibile usare il programma synclient per effettuare modifiche temporanee.

Creazione di un file di configurazione

Se non è presente il file di configurazione /etc/X11/xorg.conf è sufficiente creare un file in /etc/X11/xorg.conf.d/ (se la directory non esiste bisogna crearla) contenente le regole di configurazione del touchpad.

Si crea quindi il file /etc/X11/xorg.conf.d/50-synaptics.conf:

Section "InputDevice"
  Identifier "touchpad"
  Driver "synaptics"
  Option "AutoServerLayout" "on"
  #Option "SHMConfig" "on"
  Option "EmulateTwoFingerMinZ" "50" #Emulazione multitouch
  Option "EmulateTwoFingerMinW" "7" #Emulazione multitouch
  Option "VertTwoFingerScroll" "1"  #Scroll verticale con due dita
  Option "HorizTwoFingerScroll" "1" #Scroll orizzontale con due dita
  Option "TapButton1" "1"
  Option "TapButton2" "2"
  Option "TapButton3" "3"
EndSection

Per il corretto funzionamento è importante che sia presente la riga Option "AutoServerLayout" "on" in quanto non rende necessaria l'aggiunta del dispositivo nella sezione ServerLayout.

Per avere un elenco completo delle opzioni:

$ man synaptics

Anche in questo caso per fare le varie prove prima di creare il file di configurazione è possibile usare synclient, utilizzabile anche per visualizzare la configurazione attuale:

$ synclient -l

Multitouch

Non tutti i touchpad supportano il multitouch, alcuni sono solo in grado di emularlo, altri nemmeno. Per sapere se il multitouch è supportato si può usare il programma synclient. Prima di procedere è necessario verificare che nel file /etc/X11/xorg.conf o nel file /etc/X11/xorg.conf.d/50-synaptics.conf sia presente e non commentata la riga:

Option "SHMConfig" "on"

In caso contrario effettuare la modifica e riavviare il server X.

Se tutto è a posto dare il comando:

$ synclient -m 300

e toccare il touchpad. Si dovrebbe ottenere un output del tipo:

    time     x    y   z f  w  l r u d m     multi  gl gm gr gdx gdy
   0.000     1 5855   0 0  0  0 0 0 0 0  00000000
   0.600  2968 2633  92 1  4  0 0 0 0 0  00000000
   0.900  2949 2507  96 1 11  0 0 0 0 0  00000000

La colonna f riporta il numero di dita rilevate. Se il valore rimane 1, indipendentemente dal numero di dita che poggiate sul touchpad, il vostro touchpad non sopporta il multitouch. In caso contrario non è necessario leggere oltre ed è suffienciente definire le varie opzioni nel file di configurazione (es: Option "VertTwoFingerScroll" "1").

Se il multitouch non è supportato, è comunque possibile un'emulazione. Per fare ciò occorre osservare la colonna w, che indica la larghezza della superficie toccata, e z, che indica la pressione. Se poggiando un dito o due dita si notano variazioni dei valori allora sarà possibile l'emulazione.

Nell'esempio riportato, la seconda riga è ciò che si ottiene poggiando un solo dito, la terza poggiando due dita. Il valore di w è cambiato, quindi in questo caso è possibile un'emulazione. Per far ciò bisogna aggiungere l'opzione al file di configurazione:

Option "EmulateTwoFingerMinW" "intero"

dove "intero" rappresenta il valore di w oltre il quale si vuole che venga emulato il multitouch, quindi un valore leggermente inferiore di w che si ottiene poggiando due dita. In questo caso 8 potrebbe andare bene. Se invece non cambia o cambia molto poco poggiando un dito o due dita, mettere come valore un numero inferiore ad entrambi, in modo che l'emulazione dipenda solo da z.

Fare lo stesso con z aggiungendo:

Option "EmulateTwoFingerMinZ" "intero"

dove, come prima, "intero" sarà un valore appena inferiore al valore di z ottenuto premendo con due dita. Nell'esempio riportato non si notano differenze sostanziali tra i valori di z, quindi è sufficiente impostare come valore 50 in modo che per l'emulazione dipenda da w. In altri touchpad può accadere il contrario.

Anche in questo caso è possibile fare modifiche temporanee per trovare i valori migliori tramite synclient

$ synclient VertTwoFingerScroll=1     #Abilita lo scroll verticale con due dita
$ synclient EmulateTwoFingerMinW=8
$ synclient EmulateTwoFingerMinZ=50

Problemi

Se si utilizza Gnome è probabile che molte opzioni vengano ignorate. Ciò è dovuto al demone gnome-settings-daemon che sovrascive le impostazioni di Xorg. Per fare in modo che il demone non modifichi le impostazioni del touchpad è sufficiente dare il comando:

$ gconftool-2 --type bool --set /apps/gnome_settings_daemon/plugins/mouse/active 0

Se si vuole ripristinare il valore iniziale:

$ gconftool-2 --type bool --set /apps/gnome_settings_daemon/plugins/mouse/active 1

In alternativa si può provare a modificare le impostazioni tramite gconf-editor nella posizione /desktop/gnome/peripherals/touchpad o usare gsynaptics.



MaXeR 05:02, Mar 9, 2006 (EST)