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
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 !
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.
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.
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.
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).
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.
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
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
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" ...
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.
La page de manuel de XF86Config(7)
http://www.3M.com/3MTouchSystems/downloads/legacy.jhtml#Linux
http://freshmeat.net/projects/xf86elousb (Pilote iTouch USB)
Le manuel de votre écran tactile :-)