Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
ecran_tactile [Le 18/01/2011, 02:52]
victor-victor
ecran_tactile [Le 21/01/2024, 16:47] (Version actuelle)
81.247.240.195 [Optimisation du défilement sous Firefox]
Ligne 1: Ligne 1:
-{{tag> ​BROUILLON ​matériel écran tactile}}+{{tag>​matériel écran tactile}} 
 +----
  
-====== ​ECRAN TACTILE ​ ​====== +====== ​Écran tactile ​ ​====== 
- +Cette page présente les points principaux liés à la gestion des écrans tactiles. Voir aussi la page //​[[evdev|Configurer un écran tactile]]//.
-Cette documentation est un brouillon qui ne demande qu'à être enrichi et/ou modifié+
  
 ===== Généralités ===== ===== Généralités =====
  
 +Les **écrans tactiles** ou //​touchscreen//​ sont apparus depuis quelques années. Leur prise en charge s'​améliore petit à petit. 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.
  
-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. ​+==== Prérequis ​à bien comprendre ====
  
-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+Il existe ​plusieurs conditions pour que la fonction tactile fonctionne ; 
 +  * 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 ....) ; 
 +  * il faut bien distinguer plusieurs types d'​interactions avec un écran tactile (source : [[https://​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 sourismais 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... 
 +  * Précision importante, qui découle de ceci : **La majorité des applications actuelles (mai 2017) prennent mal en charge le multitouch, même si le multitouch est géré par le PC et pris en charge par Ubuntu !** Les applications ne peuvent gérer qu'un seul point à la fois. 
 +  * 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 [[https://​launchpad.net/​libgrip|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 ([[KDE]]) est en train d'​implémenter également ceci. Enfin il existe des 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 [[https://​launchpad.net/​ginn|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 ; 
 +  * Dans le **cas des applications GNOME**, les gestes tactiles multi-points supportés nativement (si il y en a) sont précisés dans la fenêtre "​Raccourcis claviers"​ de chaque application (depuis la version Gnome 3.22). Exemple, dans Evince (lecteur de PDF) :
  
-Certains modèles sont supportés nativement depuis Ubuntu Maverick 10.10.+| {{ https://i.imgur.com/​Ko9JFQ1.png?​300|Capture d'​écran du résumé des gestes tactiles (Evince 3.22.1) }} |
  
-Ce lien peut donner ​de très bonne pistes ​pour la prise en charge ​de matériel:+  * Le bureau Unity (de Ubuntu 11.04 à 17.04) possède une syntaxe de "​gestes"​ ("​gestures"​),​ qui peut être trouvée ici [[https://​docs.google.com/​document/​d/​1WJF8YdphrorvHiB5FFVxsitL5Pz-tpZ5-kmtzoD3tFc/​preview|Ubuntu Gestures UI Guidelines]] ou Directives ​de gestion graphique des interfaces tactiles sous Ubuntu ; il s'agit 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).
  
-[[http://​lii-enac.fr/​en/​projects/​shareit/​linux-howto.html]]+==== Trouver ​ de l'​information ====
  
-Il donne une liste des périphériques pris en charge; ces 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//+=== Pour identifier un matériel ​===
  
-exemple : après avoir tapé **lsusb** dans un terminal, ​j'​obtiens ​entre autres ceci :+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.''​ ''​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.+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.
  
-Ensuite ce lien (en anglais) 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. En effet 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).+=== Les sources d'information ===
  
-Le même site propose un autre lien spécifique à Ubuntu Maverick 10.10.+Une bonne source d'​information est le **[[https://​wiki.ubuntu.com/​Multitouch|wiki sur le multitouch d'​Ubuntu]]** en Anglais dédié au sujet ; il est en pleine élaboration.
  
-[[http://​lii-enac.fr/​en/​architecture/​linux-input/​multitouch-ubuntu-howto.html]]+===== Rotation de l'​écran =====
  
-où il propose la compilation d'un pilote.+==== Applet de rotation ====
  
-Il propose une revue des périphériques existants:+Un applet permettant la rotation de l'​écran est disponible à l'​adresse suivantehttps://​github.com/​frecel/​ScreenRotator
  
-[[http://​lii-enac.fr/​en/​projects/​shareit/​multitouch-devices.html]]+{{:applet:​screenrotator.png}}
  
-===== Quelques points pratiques ou remarques ​=====+Pour l'​installer,​ il suffit de procéder de la manière suivante:
  
-  - ne pas oublier brancher les cable usb (en plus du vga ou hdmi) si cela est nécessairesans quoi la fonction tactile ne serait pas prise en charge; +<note important>​ 
-  - 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 vie System > Preferences > Monitors (menu en anglais); 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 "dual screen"​ (multiécran),​ la souris 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; +Si vous connaissez une procédure ​plus efficientemerci d'en faire part. 
-  - dans mon cas, mors de mes tentatives, il semble qu'il a été nécessaire de désinstaller evtouch (xserver-xorg-input-evtouch) qui n'est pas installé par défaut dans Maverick, mais que j'​avais installé parce qu'il semblait que c'​était une bonne chose; de même pour le création d'un fichier xorg.conf (par défaut absent depuis Ubuntu Lucid);+</note>
  
 +Télécharger l'​archive .zip sur GitHub.
 +<​code>​wget https://​github.com/​frecel/​ScreenRotator/​archive/​master.zip -O ~/​Téléchargements/​ScreenRotator-master.zip</​code>​
  
-===== Modèles spécifiques =====+Se déplacer dans le répértoire de téléchargement et décompresser le fichier 
 +<​code>​ 
 +cd ~/​Téléchargements 
 +unzip ScreenRotator-master.zip 
 +</​code>​
  
-**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.+Créer un répertoire de stockage pour les scripts et y déplacer le fichier 
 +<​code>​ 
 +mkdir ~/Scripts 
 +mv ScreenRotator-master ~/Scripts 
 +</​code>​
  
 +Ou alors, en une seule ligne de commande:
 +<​code>​wget https://​github.com/​frecel/​ScreenRotator/​archive/​master.zip -O ~/​Téléchargements/​ScreenRotator-master.zip && cd ~/​Téléchargements && unzip ScreenRotator-master.zip && mkdir ~/Scripts && mv ScreenRotator-master ~/​Scripts</​code>​
  
-**Acer 230H :** idem que pour IIYAMA Pro Lite+Ensuite, ouvrir le script python: 
 +<​code>​gedit ~/​Scripts/​ScreenRotator-master/​ScreenRotator.py</​code>​
  
 +Remplacer '​./​icon.svg'​ par '/​home/​UTILISATEUR/​Scripts/​ScreenRotator-master/​icon.svg',​ enregistrer et fermer (remplacer évidemment '​UTILISATEUR'​ par votre nom d'​utilisateur.
  
-**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 :-)+Enfin, ouvrir "​applications au démarrage"​ à partir du lanceur d'​Unity et ajouter ​une entrée avec pour commande '/home/UTILISATEUR/Scripts/ScreenRotator-master/​ScreenRotator.py' ​(en remplaçant également '​UTILISATEUR'​ par votre nom d'​utilisateur).
  
-[[http://​www.fastpc.pl/​printthread.php?​tid=3736]]+L'​indicateur se lancera à la prochaine connexion.
  
-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... +=== Lubuntu ​en 16.04 ===
-     +
-**PC Fujitsu-Siemens Lifebook t1010** +
- ​[[http://​doc.ubuntu-fr.org/​fujitsu-siemens_lifebook_t1010]]+
  
-**PC Asus EEE TOP et 1602** +Ne fonctionne pas (ou mal) 
-[[PC http://​doc.ubuntu-fr.org/​asus_eee_top_et1602]]+se reporter à cette page [[asus_eee_pc_t101mt|Asus Eee PC T101MT]]
  
-**PC Touchsmart de HP** : plusieurs doc sur Ubuntu ​:+===== Quelques points pratiques ou remarques ​=====
  
-[[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]]+  * ne pas oublier **brancher le câble 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 > Écran ; si on choisit de faire fonctionner les deux écrans à la fois : en mode "​miroir"​ (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 ; 
 +  * il existe des drivers installables dans les dépôts : les paquets **utouch** et **xserver-xorg-input-evtouch**. 
 + 
 +=====Optimisation===== 
 + 
 +Le multitouch n'est pas géré par le système mais par les applications,​ c'est pour cela que certaines applications ne savent pas l'​utiliser. C'est le cas par exemple de LibreOffice qui ne gère pas le zoom ou le défilement directement sur la page. Certains comme Firefox nécessite un petit paramétrage alors que d'​autres comme [[:Chromium]] le gère nativement. 
 + 
 +====Émulation de la souris==== 
 +Il peut être utile d'​émuler le clic droit par un appui long par exemple ou avec deux doigts sur l'​écran tactile. 
 +[[:​tutoriel:​comment_installer_un_paquet|installez le paquet]] **[[apt>​touchegg]]**,​ et ajoutez le aux [[tutoriel:​application_demarrage|applications aux démarrage]] avec la commande ''​touchegg''​. Touchegg vous permettra de faire apparaître le menu contextuel avec un double clic à deux doigts sur l'​écran. Vous pouvez également agrandir les fenêtres avec 3 doigts.\\ 
 + 
 +Pour désactiver la souris lorsqu'​on utilise l'​écran tactile [[:​tutoriel:​comment_installer_un_paquet|installez le paquet]] **[[apt>​unclutter]]** et ajouter ''​uncletter ​-idle 0.1 -root''​ aux [[tutoriel:​application_demarrage|applications lancées au démarrage]]
 + 
 +==== Optimisation pour GIMP ==== 
 +Pour avoir la pression avec le stylet [[:Gimp]] allez dans ** Édition -> Préférences -> Périphériques d'​entrée** ​et  ​choisissez **Configurer les périphériques d'​entrée**. Personnalisez vos paramètres. 
 + 
 +==== Optimisation du défilement sous Firefox et Thunderbird==== 
 +Pour activer le défilement et le zoom dans Firefox et Thunderbird il faut [[:tutoriel:​comment_modifier_un_fichier|éditer le fichier]] **/​usr/​share/applications/firefox.desktop** (ou thunderbird.desktop) avec les [[sudo|droits d'​administration]] et modifier la ligne qui commence par ''​Exec=''​ comme suit: ''​Exec=env MOZ_USE_XINPUT2=1 firefox %u''​. 
 +Voir [[https://​askubuntu.com/​questions/​853910/​ubuntu-16-and-touchscreen-scrolling-in-firefox|AskUbuntu]]. 
 + 
 +====Configure l'​ouverture du menu contextuel==== 
 +Il suffit d'​activer les options d'​accessibilité,​ puis d'​aller ds Souris > accessibilité ​ et cliquer sur "​Déclencher le clic secondaire par maintient du bouton principal"​. 
 +Ainsi, un clic "​long"​ équivaux a un clic droit. 
 +Une autre solution à vérifier:​ 
 +[[:​tutoriel:​comment_installer_un_paquet|Installez les paquets]] **[[apt>​ginn,​xdotool|ginn et xdotool]]**. Ginn prend en charge l'​injection de clics de clavier et de boutons de souris.\\ 
 +Pour faire un clic droit pour travailler, vous pouvez utiliser cette astuce :​ 
 +  * Configurez un nouveau raccourci clavier global dans ubuntu bien que souvent **Shift + F10** fonctionne,​ 
 +  * Appliquez un nouveau raccourci en exécutant ''​xdotool''​ pour injecter le bouton droit:  
 +    * Nom: ''​NewCommand;​ COMMANDE: xdotool click 3; RACCOURCIS: mettez votre raccourci ici''​ 
 +     ​Ajoutez le RACCOURCIS que vous avez sélectionné dans le fichier souhaité, ​et associez-le par exemple aux tapotage à 2 doigts. Voir cette [[https://wiki.ubuntu.com/Multitouch/​Ginn|page]] pour plus d'​info. 
 +      
 +===== Modèles spécifiques ===== 
 +  * **eGalax :** [[:​egalax|Installer le pilote eGalax]], et faire les réglages désirés avec le logiciel **eGalax** qui s'est installé. 
 +  * **elotouch :** est reconnue nativement,​il est possible d'​utiliser les outils générique pour le calibrage,​ 
 +  * **nwfermi :** [[:​nwfermi]] 
 +  * **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
  
-Le portable TX2 est a priori ​le modèle sur lequel ​est développé le multitouch ​pour Ubuntu.+**Samsung LD220Z :** le driver propriétaire de NextWindow ​est nw-fermi comme sur certains Smarttouch ; il y une procédure 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 :-)
  
-__Par modèles de touchscreen ​:__+[[https://​www.fastpc.pl/​printthread.php?​tid=3736]]
  
-**eGalax :** [[http://doc.ubuntu-fr.org/evtouch]]+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...
  
-**elotouch :** [[http://​doc.ubuntu-fr.org/​ecrans_tactiles_elotouch_1515l_et_autres]] 
  
 +**PC Touchsmart de HP** :
 +=> 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)//​
  
-===== Quelques liens pêle-mêle:​ ===== 
  
-[[http://​www.conan.de/​touchscreen/​]] 
  
-[[https://​wiki.ubuntu.com/​Multitouch]] 
  
-[[https://​launchpad.net/​canonical-multitouch]] 
  • ecran_tactile.1295315539.txt.gz
  • Dernière modification: Le 18/04/2011, 14:41
  • (modification externe)