Guide pratique des écrans tactiles sous Linux

Version française du guide pratique Linux Touch Screen HOWTO

Christoph Baumann

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,

© 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.02005-02-28EM,JPG
Première traduction française
Version 3.32004-10-07CB

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 à 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.

La plus récente version originale de ce document est disponible à l'adresse : 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 (xmax, ymax) de votre moniteur (xmax et ymax 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 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.

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

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

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/. 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. 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). Il fonctionne correctement.

7. Lectures conseillées