Contenu | Rechercher | Menus
Cette page est en cours de rédaction.
Apportez votre aide…

Écran 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 la fonction tactile fonctionne ;

  1. il faut bien sûr que la fonction tactile soit implémentée dans la technologie de l'écran ; on ne peut pas transformer un écran "normal" en é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 ….) ;
  2. il faut bien distinguer plusieurs types d'interactions avec un écran tactile (source : http://lists.freedesktop.org/archives/xorg/2009-March/044484.html ) :
    • le 'single-point' : c'est surtout ça que nous avons maintenant ; c'est l'équivalent du pointeur de notre souris, mais pris en charge de manière tactile ;
    • le 'multi-point' : plusieurs points séparés, déjà plus difficile, car il sont indépendants, et la grande majorité des applications ne gèrent qu'un seul point à la fois (cfr ci-après), un peu comme plusieurs curseurs de souris différents ;
    • le 'multi-touch single-point' : plusieurs points reconnus, mais l'ensemble de ces points forment une seule instruction cohérente valable pour un application ; exemple bien connu, le "pinch" (mouvement de deux doigts qui se rapprochent ou bien qui s'éloignent pour faire un zoom sur une image ; ceci semblerait plus facile à implémenter ;
    • le 'multi-touch multi-point' : le but ultime, le plus difficile à implémenter ; c'est donc une combinaison des précédents ; il permettrait par exemple de réduire la taille une image (avec un "pinch" fait par deux doigts) tout en déplaçant une autre fenêtre d'une manière indépendante ; il semble que ce soit le plus grand challenge…
  3. Précision importante, qui découle de ceci! La très grande majorité 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! Toutes les applications ne peuvent gérer qu'un seul point à la fois ; 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 construit les fenêtres, les boutons, les menus, etc… Mais même avec 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!
  4. Cependant on voit apparaître maintenant cette possibilité, grâce à l'ajout de fonctionnalités dans les API. 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'autres projets (projet de Carlos Garnacho). Par ailleurs , l'autre grande API Qt est en train d'implémenter également ceci. Enfin il existe d'autres moyens de "forcer" le mutitouch sur des applications que ne le prennent pas en charge nativement, dans une certaine limite. C'est le cas du daemon ginn https://launchpad.net/ginn. Par exemple, avec Ginn, on pourra zoomer ou dézoomer sur un document PDF ouvert avec Evince (parce que Evince possède cette fonctionnalité de zoom ; il y a une traduction par Ginn du multi-touch sur l'écran en instructions de type "zoom"). On pourra aussi parcourir un document ou une page web ;
  5. Le bureau Unity qui sera installé en standard sur Ubuntu 11.04 possède une syntaxe de "gestes" ("gestures"), qui peut être trouvée ici https://docs.google.com/View?id=dfkkjjcj_1482g457bcc7#5_4_Unity_Gestures_12733594886_7375074410811067 ; il s'agit donc ici de multi-touch, puisque on utilise jusqu'à 4 doigts pour donner différentes instructions ; relatives au pointeur, à une application spécifique, au système en général (selon le nombre de doigts utilisés ;

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 commande lsusb

exemple : après avoir tapé lsusb dans un terminal, on obtient 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 est 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 appliqué 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 endroits au moins à la fois). Le pilote qu'ils proposent permet de prendre en charge le dual-touch.

Quelques points pratiques ou remarques :

  1. 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 ;
  2. 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 mode "mirroir" (même image sur les deux écrans), ça marche mais avec une basse résolution ; en mode multi-écran (deux écrans côte à côte, comme deux espaces de travail, avec le pointeur qui passe de l'un à l'autre), le pointeur peut être décalé 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 ;
  3. 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écessaires ; par exemple, lors de ses tentatives, le rédacteur de cette documentation avait installé xserver-xorg-input-evtouch alors que ce n'était pas nécessaire, et il a été nécessaire de le désinstaller pour que ça marche bien ; de même pour la 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écessaires 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 trouve dans Synaptics - xserver-xorg-input-evtouch), ni de générer un fichier xorg.conf…

PC Fujitsu-Siemens Lifebook t1010 fujitsu-siemens_lifebook_t1010

PC Asus EEE TOP et 1602 asus_eee_top_et1602

PC Touchsmart de HP : plusieurs doc sur Ubuntu :

touchsmart_iq506 et hp_touchsmart et aussi hp_touchsmart_300

⇒ mai 2014, avec Ubuntu 13.10 sur IQ500 Fr :

  • d'abord, identifier l'id de l'écran : $ xinput –list (attention, deux tirets accolés devant list)
  • puis, le stopper : $ xinput disable xx (xx est le n° d'id de l'écran)

PC Tablette HP : HP Elitebook Revolve 810

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 : evtouch

elotouch : ecrans_tactiles_elotouch_1515l_et_autres

nwfermi : nwfermi

PC Portable DELL Latitude E6520 avec Ubuntu 11.10 - 32 bits - i386 Installer le logiciel-driver eGalax Touch de EETI pour le Kernel 2.6.x http://home.eeti.com.tw/web20/eGalaxTouchDriver/linuxDriver.htm
Installation avec un simple : sudo sh setup.sh
On redémarre, et il ne reste plus qu'à faire les réglages désirés avec le logiciel eGalax qui s'est installé.
La notice en pdf est fournie avec le paquet si des réglages plus fins ou plus approfondis sont nécessaires.
Fonctionne très bien !

Quelques liens pêle-mêle :



Le contenu de ce wiki est sous licence : CC BY-SA v3.0