Ceci est une ancienne révision du document !
ECRAN TACTILE
Cette documentation est un brouillon qui ne demande qu'à être enrichi et/ou modifié
Généralités
Les écrans tactiles ou touchscreen sont apparus depuis quelques années. Leur prise en charge s'améliore petit à petit mais n'est pas encore parfaite. Il existe des écrans tactiles séparés (sous forme de moniteur), ou qui intègrent un ordinateur de bureau, ou encore combinés à un PC portable. Certains modèles sont supportés nativement depuis Ubuntu Maverick 10.10.
Prérequis à bien comprendre
Il existe plusieurs conditions pour que le fonction tactile fonctionne;
- il faut bien sûr que le fonction tactile soit implémentée dans la technologie de l'écran; on ne peut pas transformer un écran "normal" e écran tactile, à l'heure actuelle; de même si l'écran est 'single-touch' (un seul doigt ou point de contact reconnu), ou dual-touch (deux doigts), il ne pourra pas en reconnaître plus (certains écrans vont jusqu'à 10 voire 20 ….);
- la très grande majorié des applications actuelles (janvier 2011) ne prennent pas en charge le multitouch, même si le multitouch est géré par le pc et pris en charge par Ubuntu! Un exemple : Sur l'environnement Gnome, les fenêtres de nautilus, qui affiche les répertoires et les fichiers, sont construites avec la bibliothèque GTK+; GTK+ donc ce qui permet l'interface graphique, qui contruit les fenêtres, les boutons, les menus, etc… Mais même si j'ai un écran dual-touch bien reconnu sous Ubuntu (les deux doigts sur l'écran sont bien "reconnus"), il ne sera pas possible, par exemple de redimensionner un fenêtre par les 2 côtés à la fois; ou bien il ne sera pas possible non plus de faire bouger 2 curseurs en même temps; ceci parce que GTK+ ne le prend pas en charge! Cependant on voit apparaître maintenant cette possibilité, graĉe à l'ajout de fonctionnalités. C'est le cas pour GTK+ avec la bibliothèque libgrip https://launchpad.net/libgrip qui est en plein développement, mais il y aussi d'autre projets.
Où trouver l'information sur le matériel
Pour identifier un matériel :
Les périphériques sont identifiées par deux codes de 4 chiffres ou lettres : 'Vendor' et 'Model', que l'on trouve via la comande lsusb
exemple : après avoir tapé lsusb dans un terminal, j'obtiens entre autres ceci :
lsusb: BUS 005 Device 002: ID 0408:3000 Quanta computer, Inc.
0408 est le 'Vendor' et 3000 est le 'Model'; c'est comme ceci qu'on identifie précisément le périphérique. Par exemple le IIYAMA Pro Lite 2250 mts et l'ACER 230, bien que de marque différente sont tous les deux caractérisés par le même numéro que dans l'exemple. Ce qui marche pour l'un marchera donc pour l'autre.
Les sources d'information
Une bonne source d'information est le wiki sur le multitouch d'Ubuntu en Anglais dédié au sujet; il en pleine élaboration :
https://wiki.ubuntu.com/Multitouch
Une autre excellente source (en Anglais), , le site de l'ENAC, qui propose une revue des périphériques existants et de leur prise en charge:
http://lii-enac.fr/en/architecture/linux-input/#tuiototouch qui propose un tas de ressources très intéressantes; le premier lien 'multitouch primer est une introduction et un contexte général; ensuite il y une liste de matériels déjà supporté :
http://lii-enac.fr/en/projects/shareit/multitouch-devices.html :
Le même site propose un autre lien spécifique à Ubuntu Maverick 10.10.
http://lii-enac.fr/en/architecture/linux-input/multitouch-ubuntu-howto.html
où il propose la compilation d'un pilote.
et aussi
http://lii-enac.fr/en/projects/shareit/linux-howto.html
qui propose de compiler soi-même un noyau 2.6.35 ou 2.6.36 auquel on a apliqué un patch de leur cru. Cela permet de mieux prendre en charge les modèles listés. Par exemple pour l'exemple ci-dessus, il est pris en charge nativement sur Ubuntu mais en single-touch (l'écran réagit à un seul point à la fois), alors qu'il est (au moins) dual-touch (cad qu'il peut répondre à deux endroit au moins à la fois). Le pilote qu'ils proposent permet de prendre en charge le dual-touch.
Quelques points pratiques ou remarques :
- ne pas oublier brancher le cable usb (en plus du vga ou hdmi) si cela est nécessaire, sans quoi la fonction tactile ne serait pas prise en charge;
- en cas de moniteur tactile que l'on ajoute au PC portable, tester le bon fonctionnement en utilisant seulement l'écran tactile en éteignant l'écran du portable; ceci est faisable via Système > Préférences > Ecran; si on choisit de faire fonctionner les deux écrans à la fois : en "mirroir" (même image sur les deux écrans), ça marche mais avec une basse résolution; en multiécran, le pointeur peut être décalée par rapport au doigt/stylet sur l'écran; en envoyant tout sur l'écran tactile et donc en éteignant l'écran du portable, on peut bénéficier de la meilleure résolution possible, avec un bon fonctionnement de la fonction tactile;
- il existe des drivers installables dans les dépôts : les paquets utouch et xserver-xorg-input-evtouch; ils ne sont pas installés par défaut sur Ubuntu Maverick et pas forcément nécessaire; dans mon cas, lors de mes tentatives, j'avais installé xserver-xorg-input-evtouch alors que ce n'était ps nécesaire, et il a été nécessaire de le désinstaller pour que ça marche bien; de même pour le création d'un fichier xorg.conf que l'on peut être amené à créer (par défaut absent depuis Ubuntu Lucid);
Modèles spécifiques
IIYAMA Pro Lite 2250mts : pris en charge nativement, en moins en single-touch; les liens ci-dessus peuvent être nécessaire pour le multitouch; le fabriquant est Quanta.
Acer 230H : idem que pour IIYAMA Pro Lite
Samsung LD220Z : le driver propriétaire de NextWindow est nw-fermi comme sur certains Smarttouch; il y a une procedure compliquée ici http://www.nextwindow.com/nextwindow_support/app_working_under_linux_2.html; cependant, dans mon expérience, l'installation du pilote propriétaire suffit; on le trouve à cette page; pas de panique c'est en polonais, mais les liens pour télécharger les drivers sont clairs
http://www.fastpc.pl/printthread.php?tid=3736
En résumé, il faut télécharger installer le driver, et ensuite ajouter le module nw-fermi dans le fichier /etc/modules (en faisant ceci on dit de charger le module dès le démarrage du pc); dans mon expérience, pas besoin de d'installer le driver evtouch (qui se toruve dans Synaptics - xserver-xorg-input-evtouch), ni de générer un fichier xorg.conf…
PC Fujitsu-Siemens Lifebook t1010 http://doc.ubuntu-fr.org/fujitsu-siemens_lifebook_t1010
PC Asus EEE TOP et 1602 asus_eee_top_et1602
PC Touchsmart de HP : plusieurs doc sur Ubuntu :
http://doc.ubuntu-fr.org/touchsmart_iq506 et http://doc.ubuntu-fr.org/hp_touchsmart et aussi http://doc.ubuntu-fr.org/hp_touchsmart_300
Le portable Dell Latitude TX2 est a priori le modèle sur lequel est développé le multitouch pour Ubuntu.
Par modèles de touchscreen :
eGalax : http://doc.ubuntu-fr.org/evtouch
elotouch : http://doc.ubuntu-fr.org/ecrans_tactiles_elotouch_1515l_et_autres