Guide pratique des écrans tactiles sous Linux

  Version française du guide pratique Linux Touch Screen HOWTO

  Christoph Baumann

   <cgb CHEZ debian POINT org>

   Adaptation française: Éric Madesclair

   Relecture de la version française: Jean-Philippe Guérard

   Préparation de la publication de la v.f.: Jean-Philippe Guérard

   Version : 3.3.fr.1.0

   © 2002 Christoph Baumann, <cgb CHEZ debian POINT org>

   © 2005 Éric Madesclair et Jean-Philippe Guérard pour la version française

   The GNU Free Documentation License applies to this document. Ce document
   est distribué selon les termes de la Licence de documentation Libre GNU
   (GFDL).

   28 février 2005



   +------------------------------------------------------------------------+
   | Historique des versions                                                |
   |------------------------------------------------------------------------|
   | Version 3.3.fr.1.0           | 2005-02-28           | EM,JPG           |
   |------------------------------------------------------------------------|
   | Première traduction française                                          |
   |------------------------------------------------------------------------|
   | Version 3.3                  | 2004-10-07           | CB               |
   +------------------------------------------------------------------------+

   Résumé

   Ce guide pratique explique comment utiliser un écran tactile comme
   périphérique d'entrée sous XFree86. Il se concentre sur les écrans
   tactiles EloTouch et MicroTouch, que l'auteur a eu l'occasion d'utiliser.
   Les exemples sont basés sur des périphériques connectés via le port série
   (/dev/ttyS0, et cætera).

   --------------------------------------------------------------------------

   Table des matières

   1. Introduction

                1.1. Commentaires et corrections

                1.2. Nouvelles versions de ce document

   2. Comment configurer le périphérique

   3. Activer le périphérique

   4. Utiliser en parallèle un écran tactile et une souris

   5. Configuration sous XFree86 version 4

                5.1. Un autre exemple de paramétrage (pour la gamme SMT3 de
                Microtouch)

                5.2. Complément

   6. Écrans tactiles des portables LifeBook de Fujitsu

   7. Lectures conseillées

1. Introduction

   Ce guide pratique explique comment utiliser un écran tactile comme
   périphérique d'entrée sous XFree86. Il se concentre sur les écrans
   tactiles EloTouch et MicroTouch, que l'auteur a eu l'occasion d'utiliser.

   Les exemples sont basés sur des périphériques connectés via le port série
   (/dev/ttyS0, et cætera). -- N'hésitez pas à faire parvenir en anglais des
   informations relatives aux périphériques USB à l'auteur de ce document !

  1.1.  Commentaires et corrections

   N'hésitez pas à faire parvenir tout commentaire relatif à la version
   française de ce document à <commentaires CHEZ traduc POINT org> en
   précisant son titre, sa date et sa version.

  1.2.  Nouvelles versions de ce document

   Vous trouverez la plus récente version française de ce document à
   l'adresse :
   http://www.traduc.org/docs/howto/lecture/XFree86-Touch-Screen-HOWTO.html
   [http://www.traduc.org/docs/howto/lecture/XFree86-Touch-Screen-HOWTO.html].

   La plus récente version originale de ce document est disponible à
   l'adresse : http://www.tldp.org/HOWTO/XFree86-Touch-Screen-HOWTO.html
   [http://www.tldp.org/HOWTO/XFree86-Touch-Screen-HOWTO.html].

2. Comment configurer le périphérique

   Les écrans tactiles sont paramétrés dans l'une des sections « Xinput » du
   fichier de configuration de XFree86 (ce fichier se nomme en général
   /etc/X11/XF86Config ou /etc/XF86Config). Vérifiez pour commencer que le
   module correspondant au périphérique est bien présent. Les modules se
   trouvent dans le répertoire /usr/X11R6/lib/modules (les écrans EloTouch et
   MicroTouch correspondent respectivement aux modules xf86Elo.so et
   xf86MuTouch.so). Regardez ensuite dans le fichier XF86Config, vous devriez
   trouver une section ressemblant à ceci :

 Section "Files"
 ...
 ModulePath "/usr/X11R6/lib/modules"
 ...
 EndSection

   Pour que le module soit chargé par le serveur X, vous devrez avoir une
   section ressemblant à ceci :

 Section "Module"
 Load "xf86Elo.so"
 EndSection

   Maintenant, la partie la plus délicate. Le serveur X a besoin de connaître
   certains paramètres du périphérique. La section correspondante doit
   ressembler à la section ci-dessous -- reportez-vous à la page de manuel de
   XF86Config(7) pour plus d'informations :

 Section "Xinput"

  # Utilisez « SubSection "MicrotouchFinger" » pour un écran MicroTouch

  SubSection "Elographics"

   Port "/dev/ttyS1"         # Pour un périphérique branché sur le
                             # deuxième port série

   DeviceName "EcranTactile" # N'importe quel nom non ambigu convient

   MinimumXPosition  300
   MaximumXPosition 3700
   MinimumYPosition  300
   MaximumYPosition 3700
   UntouchDelay       10     # non reconnu par le pilote MuTouch
   ReportDelay        10     # non reconnu par le pilote MuTouch
   AlwaysCore                # active le périphérique au démarrage

  EndSubSection

 EndSection

   Les valeurs des entrées MinimumXPosition, et cætera sont bien entendu
   spécifique à la configuration de votre matériel (ils dépendent de la
   position de l'écran tactile par rapport au moniteur). Ces valeurs
   définissent à quels points de l'écran tactile correspondent les points
   (0,0) et (x[max], y[max]) de votre moniteur (x[max] et y[max] dépendent de
   la résolution choisie pour votre serveur X, par exemple 1024x768). Le
   pilote lit ces valeurs et en déduit les autres coordonnées par
   interpolation. Le schéma suivant illustre cette mise en correspondance :

  --------- surface de l'écran tactile -----------
  I                                              I
  I  ####### surface visible du moniteur ######  I
  I  #x                                       #  I
  I  # (0,0)                                  #  I
  I  # (MinimumXPosition,MinimumYPosition)    #  I
  I  #                                        #  I
  I  #                                        #  I
  I  #                                        #  I
  I  #                                        #  I
  I  #                                        #  I
  I  #                                        #  I
  I  #                                        #  I
  I  #    (MaximumXPosition,MaximumYPosition) #  I
  I  #                            (xmax,ymax) #  I
  I  #                                       x#  I
  I  ##########################################  I
  I                                              I
  ------------------------------------------------

   Trouver la bonne correspondance demandera soit un certain nombre d'essais,
   soit de lire la sortie brute de ce périphérique (ce qui demande une
   certaine connaissance de la programmation des ports série : consultez le
   guide pratique de Programmation des entrées-sorties série
   [http://www.traduc.org/docs/howto/lecture/Serial-Programming-HOWTO.html]
   pour en savoir plus). Pour les écrans tactiles EloTouch et MicroTouch, il
   existe un outil rudimentaire de calibration (écrit par l'auteur de ce
   guide pratique), disponible à l'adresse suivante :
   http://www.sgoc.de/touchcal.html [http://www.sgoc.de/touchcal.html].

3.  Activer le périphérique

   Après le démarrage du serveur X, lancez la commande suivante dans un
   terminal :

 xsetpointer nom_du_périphérique

   Où nom_du_périphérique est le nom défini dans le fichier XF86Config à la
   ligne :

 ...
 DeviceName "..."
 ...

   Dans l'exemple présenté plus haut, il s'agissait d'EcranTactile.

   Pour que le périphérique soit géré au démarrage, ajoutez l'option
   AlwaysCore dans la section de paramétrage de l'écran tactile du fichier
   XF86Config (voir ci-dessus).

4.  Utiliser en parallèle un écran tactile et une souris

   Pour utiliser en parallèle un écran tactile et une souris, vous devrez
   définir la souris dans la section Xinput. Cette définition devrait être la
   même que la définition de la section Pointer. Par exemple, pour une souris
   utilisant le protocole PS/2 :

 Section "Xinput"
 ...
    SubSection "Mouse"
       Protocol "PS/2"
       Port "/dev/mouse"   # Ou /dev/psaux
       DeviceName "Mouse"
       AlwaysCore
    EndSubSection
 ...
 EndSection

   Plusieurs personnes m'ont signalé ceci et notamment l'utilisation de
   l'option AlwaysCore. Merci à eux.

5.  Configuration sous XFree86 version 4

  suggérée par Lee Monamy

   Voici un exemple de paramétrage du fichier XF86Config-4 pour un écran
   tactile ELO :

 Section "InputDevice"
         Identifier "Ecran tactile ELO"
         Driver     "elographics"
         Option     "Device"            "/dev/ttyS0"
         Option     "MinimumXPosition"         "300"
         Option     "MaximumXPosition"        "3700"
         Option     "MinimumYPosition"         "300"
         Option     "MaximumYPosition"        "3700"
         Option     "UntouchDelay"              "10"
         Option     "ReportDelay"               "10"
         Option     "SendCoreEvents"           "yes"
 EndSection

   Différence notable entre le paramétrage de cette version et celui de la
   version 3, vous devez indiquer Device à la place de Port, sinon vous
   obtiendrez une erreur. De plus, le paramètre AlwaysCore de la version 3 a
   été remplacé par SendCoreEvents.

   Vous devez aussi ajouter une entrée correspondant à l'écran tactile dans
   la section ServerLayout. Ceci, même si le serveur X vous indique qu'il a
   bien ajouté votre écran tactile : « (II) XINPUT: Adding extended input
   device "ECRANTACTILE" (type: Elographics Touch Screen) ».

 Section "ServerLayout"
         Identifier      "Default Layout"
         Screen          "Default Screen"
         InputDevice     "Generic Keyboard"
 ...
         InputDevice     "Ecran tactile ELO"
 EndSection

  5.1. Un autre exemple de paramétrage (pour la gamme SMT3 de Microtouch)

    par Dirk Mueller

 Section "InputDevice"
         Identifier  "MicroTouchFinger"
         Driver      "mutouch"
         Option      "Type"             "finger"
         Option      "Device"           "/dev/ttyS0"
         Option      "ScreenNo"         "0"
         Option      "MinimumXPosition" "0"
         Option      "MaximumXPosition" "16383"
         Option      "MinimumYPosition" "0"
         Option      "MaximumYPosition" "16383"
 EndSection

   L'option Type peut avoir pour valeur finger ou stylus. Depuis que
   Microtouch a été racheté par 3M-Touch, vous trouverez les ressources
   relatives à ces produits à l'adresse suivante :
   http://www.3M.com/3MTouchSystems/downloads/legacy.jhtml#Linux
   [http://www.3M.com/3MTouchSystems/downloads/legacy.jhtml#Linux]

  5.2. Complément

   D'après Wong Yeow Sen, les noms des options de configuration ont été
   modifiés dans XFree86 version 4.2 (au moins pour la distribution Red
   Hat 7.3). Si vous constatez que les valeurs de calibration que vous avez
   défini ne sont pas utilisées, essayez d'utiliser les options suivantes :

 ...
         Option  "MinX"    "100"
         Option  "MaxX"   "4000"
         Option  "MinY"    "100"
         Option  "MaxY"   "4000"
 ...

6.  Écrans tactiles des portables LifeBook de Fujitsu

  par Joerg Hau

   Les adresses qui suivent contiennent des informations sur ces
   périphériques :

     Le pilote Linux de Harald Hoyer pour les écrans tactiles des portables
     LifeBook B112, B142 et B2130 : http://parzelle.de/Linux/Lifebook/
     [http://parzelle.de/Linux/Lifebook/]. Malheureusement, ce pilote n'est
     utilisable qu'avec la version 3 de XFree et apparemment, la page n'est
     plus mise à jour.

     Le pilote de Kenan Esau pour les écrans tactiles des portables Lifebook
     de la gamme « B » : http://www.conan.de/lifebook/lifebook.html
     [http://www.conan.de/lifebook/lifebook.html]. Il s'agit d'une adaptation
     à XFree version 4 du pilote de Harald Hoyer.

     J'ai utilisé avec mon Fujitsu LifeBook B142 le pilote de Kenan Esau
     (décrit à l'adresse :
     http://www.mysunrise.ch/users/joerg.hau/linux/b142.htm
     [http://www.mysunrise.ch/users/joerg.hau/linux/b142.htm]). Il fonctionne
     correctement.

7. Lectures conseillées

     o La page de manuel de XF86Config(7)

     o http://www.elotouch.com/support/linux.asp
       [http://www.elotouch.com/support/linux.asp]

     o http://www.3M.com/3MTouchSystems/downloads/legacy.jhtml#Linux
       [http://www.3M.com/3MTouchSystems/downloads/legacy.jhtml#Linux]

     o http://freshmeat.net/projects/xf86elousb
       [http://freshmeat.net/projects/xf86elousb] (Pilote iTouch USB)

     o Le manuel de votre écran tactile :-)