Configurer un touchpad Alps sous Ubuntu Breezy

Auteur : Olivier BOYER - oboyer () ajoute ! org

Mots clés

Touchpad, Alps, scrolling, Xorg, Linux, Ubuntu, Breezy Badger, 5.10, Dell Inspiron 6000

Introduction

Ce document décrit comment configurer un Touchpad Alps livré avec les portables Dell Inspiron 6000 sous Ubuntu Breezy (5.10).

Présentation de la maquette

  • un portable Dell Inspiron 6000
  • OS = Linux Ubuntu Breezy Badger (5.10)

Note

Toutes les commandes présentées ici, sont à executer, sauf mention contraire, en tant qu'administrateur de la machine.

Pré-requis

  • le système Ubuntu Breezy doit être installé et fonctionnel
  • le server X (ici Xorg) doit être configuré et opérationnel

Vérification du matériel

Vérifiez que me Touchpad est bien un Alps. Procédez comme suit :

# cat /proc/bus/input/devices
[...]
I: Bus=0011 Vendor=0002 Product=0008 Version=7321
N: Name="AlpsPS/2 ALPS GlidePoint"
P: Phys=isa0060/serio1/input0
H: Handlers=mouse2 event3 ts2
B: EV=f
B: KEY=420 0 70000 0 0 0 0 0 0 0 0
B: REL=3
B: ABS=1000003
[...]

La ligne significative est N: Name=“AlpsPS/2 ALPS GlidePoint”

Installation des packages

Exécutez la commande suivante :

# apt-get install xorg-driver-synaptics build-essential libxext-dev

Présentation des packages

Le package :

  • xorg-driver-synaptics est le driver Xorg pour les Touchpad Alps
  • build-essential est le meta-package qui contient la chaîne de compilation C pour Ubuntu. En effet, la Ubuntu ne livre pas en standard les éléments nécessaire pour compiler du C.
  • libxext-dev est nécessaire par la suite.

Apropos de xorg-driver-synaptics

Le package xorg-driver-synaptics est livré en version 0.14.3+revertedto+0.13.6-0ubuntu3. Cette version fonctionne mal : il est impossible de désactiver le tab-and-clic, et d'activer le scrolling. Nous allons donc le remplacer.

Alors pourquoi installer ce package ?

Il nous permet d'avoir les pages de manuel, et de voir sa présence dans la liste des packages installés. Cependant, vous pouvez très bien vous passer de cette installation. La suite de ce document va vous présenter comment compiler le dernier driver xorg-synaptic.

Compilation du dernier driver xorg-synaptic

Sauvegarder l'ancien

Par mesure de précaution, il vaut mieux sauvegarder l'ancien driver :

# cd /usr/X11R6/lib/modules/input
# mv synaptics_drv.o synaptics_drv.o.orig

Télécharger les sources

xorg-synaptic

Choisir l'archive la plus récente à l'adresse : http://web.telia.com/~u89404340/touchpad/files/

A l'heure où j'écris ce document, il s'agit de la version 0.14.4

# cd /tmp
# wget http://web.telia.com/~u89404340/touchpad/files/synaptics-0.14.4.tar.bz2

Le patch xorg-synaptic pour Ubuntu

Le patch est disponible à l'adresse suivante : http://ubuntuforums.org/attachment.php?attachmentid=3098&d=1129991988 Il est aussi disponible en Annexe.

# cd /tmp
# wget http://ubuntuforums.org/attachment.php?attachmentid=3098&d=1129991988
# mv ubuntu-synaptics-0.14.3.patch.txt ubuntu-synaptics-0.14.3.patch

Compiler le driver

Pour compiler le driver xorg-synaptic procédez comme suit :

# cd /tmp
# tar jxf synaptics-0.14.4.tar.bz2
# cd synaptics-0.14.4
# patch -p1 < /tmp/ubuntu-synaptics-0.14.3.patch
patching file Xincludes/usr/X11R6/include/X11/Xfuncproto.h
Hunk #1 succeeded at 69 with fuzz 2.
# make
[...]
# cp synaptics_drv.o /usr/X11R6/lib/modules/input

Modifier le fichier /etc/X11/xorg.conf

Sauver le fichier original

Procédez comme suit :

# cp /etc/X11/xorg.conf /etc/X11/xorg.conf.orig

Modifier le fichier

Charger le driver

Ajouter la ligne suivante à la section :

Section "Module"
      [...]
      Load    "synaptics"
EndSection

Modifier la section InputDevice

Modifier comme suit la section InputDevice :

Section "InputDevice"
        Identifier                      "Synaptics Touchpad"
        Driver  "synaptics"
        Option  "SendCoreEvents"        "true"
        Option  "Device"                "/dev/psaux"
        Option  "Protocol"              "auto-dev"
        Option  "SHMConfig"             "true"
        Option  "LeftEdge"              "120"
        Option  "RightEdge"             "830"
        Option  "TopEdge"               "120"
        Option  "BottomEdge"            "650"
        Option  "FingerLow"             "14"
        Option  "FingerHigh"            "15"
        Option  "MaxTapTime"            "0"
        Option  "EmulateMidButtonTime"  "75"
        Option  "VertScrollDelta"       "20"
        Option  "HorizScrollDelta"      "20"
        Option  "MinSpeed"              "0.6"
        Option  "MaxSpeed"              "1.5"
        Option  "AccelFactor"           "0.03"
        Option  "EdgeMotionMinZ"        "30"
        Option  "EdgeMotionMaxZ"        "160"
        Option  "EdgeMotionMinSpeed"    "15"
        Option  "EdgeMotionMaxSpeed"    "15"
        Option  "EdgeMotionUseAlways"   "0"
        Option  "UpDownScrolling"       "1"
        Option  "LeftRightScrolling"    "0"
        Option  "CircularScrolling"     "0"
        Option  "CircScrollDelta"       "0.1"
        Option  "CircScrollTrigger"     "0"
EndSection

Puis redémarrez la machine :

# reboot

ANNEXES

Le patch xorg-synaptic pour Ubuntu :

--- orig-synaptics-0.14.3/Xincludes/usr/X11R6/include/X11/Xfuncproto.h
2005-03-29 00:29:50.000000000 +0800
+++ synaptics-0.14.3/Xincludes/usr/X11R6/include/X11/Xfuncproto.h
 2005-03-29 00:29:50.000000000 +0800
@@ -69,4 +69,12 @@
 #endif
 #endif /* _XFUNCPROTOBEGIN */
+#if defined(__GNUC__) && (__GNUC__ >= 4)
+# define _X_SENTINEL(x) __attribute__ ((__sentinel__(x)))
+# define _X_ATTRIBUTE_PRINTF(x,y) __attribute__((__format__(__printf__,x,y)))
+#else
+# define _X_SENTINEL(x)
+# define _X_ATTRIBUTE_PRINTF(x,y)
+#endif /* GNUC >= 4 */
+
 #endif /* _XFUNCPROTO_H_ */
 
doc/linux/alps_touchpad.txt · Dernière modification: 2009/12/23 22:36 (édition externe)     Haut de page