FR 2898197 A1 20070907 FR 0601855 A 20060302 -1- La présente invention se rapporte au domaine des interfaces graphiques manipulées via un écran tactile, et elle couvre donc les domaines de l'informatique et des appareils électroniques à affichage tactile. Elle concerne un procédé d'interaction avec les interfaces graphiques affichées sur écran tactile, et plus particulièrement la gestion de la visée de cette interaction via l'écran tactile. L'invention porte sur une méthode et non sur un matériel, et elle couvre tous les matériels potentiellement concernés. Pour simplifier la description qui suit, le terme écran tactile sera utilisé pour désigner aussi bien les écrans tactiles que les écrans électromagnétiques, et de manière générale tous les appareils permettant à l'utilisateur d'effectuer des manipulations directement sur la surface de son écran. De la même manière le terme stylet sera utilisé pour désigner l'outil avec lequel l'usager interagit avec la surface de l'écran. Il couvrira l'ensemble des dispositifs physiques de pointages sur les écrans tactiles : stylet électromagnétique à pile, stylet électromagnétique sans pile, stylet inerte, simple doigt de l'usager, etc. Les écrans tactiles sont très attrayants parce qu'ils sont des périphériques de saisie extrêmement intuitifs, permettant même de dessiner de façon naturelle ; qu'ils sont très adaptés à la mobilité, autorisant un usage en tout lieu ; et qu'ils économisent de la place sur les appareils nécessitant un écran puisque la même surface sera utilisée pour la saisie et pour la visualisation des données. Mais leur utilisation prolongée avec certaines interfaces graphiques révèle parfois un manque d'efficacité par rapport à d'autres configurations, comme par exemple celles comprenant un écran et une souris. Les interfaces graphiques existantes avant l'invention s'attachent en effet à donner l'impression à l'utilisateur que son stylet agit directement sur les éléments de l'interface, comme le ferait un stylo sur une feuille de papier ou sur un élément mécanique quelconque. Par exemple l'utilisateur actionne un bouton dessiné à l'écran simplement en le touchant avec son stylet. Et il en est de même pour les interactions avec chaque élément d'interface usuel : bouton, case à cocher, menu à sélectionner, texte à manipuler, etc. : on considère toujours le point d'interaction dans l'interface graphique comme étant celui se situant sous la pointe du stylet. Une procédure de calibration permet en outre de faire coïncider au mieux ce point d'interaction avec la pointe du stylet, en chaque endroit de l'écran. Sur les interfaces graphiques nécessitant de la précision dans leur manipulation, un curseur est affiché en permanence sous le stylet. Ce curseur représente le prolongement virtuel du stylet, et pointe précisément et à chaque instant le point d'interaction visé par le stylet. L'opérateur peut alors précisément pointer les éléments d'interface en se référant à ce curseur plutôt qu'à la pointe de son stylet. En effet, la pointe est assez peu précise en raison de sa taille souvent trop épaisse et -2- des légers décalages entre elle et le curseur (dû à l'épaisseur de la couche de protection devant l'écran et à l'angle d'incidence du regard de l'utilisateur). Lorsqu'on analyse les défauts d'efficacité des outils existants avant l'invention, on en dénombre 5 quatre : • Manque de visibilité des manipulations virtuelles puisque la zone de manipulation est obligatoirement sous le stylet, et donc en partie cachées par la pointe du stylet, le corps du stylet, et même la main tenant le stylet. Par exemple sélectionner l'un des boutons d'une barre d'outils cache à l'utilisateur les autres boutons de droite (s'il est droitier) puisque sa 10 main a de bonnes chances d'être posée dessus. De même utiliser un ascenseur à gauche d'une fenêtre ne permet pas de visualiser confortablement le résultat pendant le déplacement de l'ascenseur puisque la main se trouve alors sur la fenêtre et la masque sur une bonne partie. • Manque de rapidité des manipulations virtuelles puisque la vitesse de déplacement du 15 curseur est exactement celle du stylet. Par exemple, pour tirer un élément de haut en bas de l'écran, la main doit réellement faire tout le déplacement sur l'écran tactile, ce qui est d'autant plus lent et astreignant que l'écran est grand. De plus, le manque de visibilité ù dû au stylet et à la main ù nuit aussi à la rapidité de certaines manipulations en les rendant parfois assez tâtonnantes. 20 • Manque de précision des manipulations virtuelles puisque les mouvements du stylet sont reproduits à la même échelle sur l'élément virtuel. Même avec un écran tactile idéal (sans épaisseur devant l'écran et avec une précision de détection infinie) il est impossible de viser plus précisément qu'avec un stylo sur une feuille de papier. Pourtant, il est de nos jours de plus en plus commun d'avoir des écrans conçus pour afficher des informations 25 plus petites que ce que le couple papier/stylo permet de manipuler confortablement. Par exemple viser une zone large de 2 ou 3 pixels est rédhibitoire si les pixels sont trop fins, ou s'ils sont situés dans une zone subissant une baisse de précision du capteur tactile (typiquement le bord de certains écrans tactiles). De plus, le manque de visibilité ù dû à la pointe et au corps du stylet ù nuit aussi à la précision de certaines manipulations en les 30 rendant parfois assez tâtonnantes. • Manque de confort musculaire car la main doit rester très mobile pour continuellement se déplacer sur tout l'écran. Il en résulte que la main ne peut souvent pas rester en appui sur l'écran et que le bras entier doit légèrement bouger (ce qui sollicite les muscles du bras). A l'inverse, l'usage de la souris permet à la main de reposer confortablement sur une surface 35 plane, et ne fait travailler quasiment que les muscles du poignet. Le surplus de fatigue musculaire de l'usager par rapport à une souris est d'autant plus grand que l'écran est grand et que la durée d'utilisation est grande. 3 Les inconvénients cités plus haut seraient bénins pris isolément, mais leurs effets s'accumulent et deviennent importants lors de l'usage intensif d'un écran tactile, nuisant alors sensiblement à l'efficacité de l'opérateur. La présente invention concerne un outil de commande des déplacements d'un curseur sur un écran tactile qui rend l'usage dudit écran tactile particulièrement précis et efficace. C'est une invention notable puisqu'elle s'oppose aux méthodes pour écran tactile mono-point (un seul point de contact détecté) de l'art antérieur qui postulent toutes que le point d'interaction avec l'interface graphique doit être situé sous le stylet. En effet, l'invention propose au contraire un point d'interaction réellement distinct du point de contact. Elle s'oppose aussi aux méthodes pour écran tactiles multipoints (plusieurs points de contact possibles) de l'art antérieur car elle ne demande qu'un seul et unique point de contact pour être efficace. L'outil de commande conforme à l'invention affiche systématiquement un curseur pour représenter le point d'interaction entre l'usager et l'interface graphique. Ce curseur peut être affiché de multiples manières : flèche, croix, simple surbrillance de l'élément d'interface visé, etc. Ledit curseur n'est pas positionné systématiquement sous le stylet, mais il est positionné à distance variable du stylet. Et ce positionnement du curseur n'est pas fonction simplement de la position du stylet sur l'écran mais il est fonction de ses déplacements. Les lois de commande des déplacements du curseur sur l'écran sont du même type que celles qui sont adoptées sur les systèmes équipés d'une souris informatique, en remplaçant mentalement la souris par le stylet, et la surface de glissement (souvent un tapis à souris) par l'écran tactile. Le but est d'assister les manipulations de l'utilisateur, en remarquant que s'il ralentit ses mouvements c'est généralement qu'il a besoin de plus de précision, alors que lorsqu'il veut effectuer des déplacements de grande amplitude avec moins de précision, il agit généralement plus rapidement. Par conséquent, lorsque l'outil de commande enregistre un déplacement de stylet lent, il démultiplie le déplacement du curseur (en amplitude et en vitesse) pour faciliter une intervention précise de la part de l'opérateur. A l'inverse, lorsque l'outil de commande enregistre un déplacement de stylet rapide, il multiplie la vitesse et l'amplitude du déplacement du curseur afin d'éviter que l'opérateur ait à déplacer sa main sur l'écran en effectuant un mouvement du bras. Antérieurement à l'invention, la position du curseur suit strictement la position du stylet : [position du curseur]t = [position du stylet]t -4-Conformément à l'invention, la position du curseur reste commandée pair le stylet, mais par l'intermédiaire d'une loi de commande plus complexe basée sur le déplacement du stylet : [position du curseur]t = f ((position du stylet]t , [position du stylet]t_,) En résumé, les déplacements du curseur ne suivent plus linéairement ceux du stylet contre l'écran, mais leurs appliquent un facteur d'échelle variant suivant sa vitesse. Ainsi, pour appliquer un petit mouvement précis au curseur l'utilisateur n'a qu'à produire un geste lent avec le stylet, tandis que pour appliquer un mouvement ample et rapide au curseur, comme lui faire traverser tout l'écran, il n'a qu'à produire un geste vif et rapide au stylet. Et pour repositionner sa main où il le souhaite sur l'écran sans modifier la position du curseur -- et ainsi visualiser confortablement toute la zone de ses manipulations ù il lui suffit d'éloigner le stylet d'au plus quelques centimètres de la surface de l'écran. La figure 1 représente le type d'application réalisée en guise d'exemple : un PC portable avec écran tactile et uniquement manipulé au stylet, via une interface graphique utilisant l'invention. La figure 2 est le diagramme logique d'une fonction de déplacement d'un curseur interagissant avec l'interface graphique, et appliquant l'invention. La figure 3 montre l'utilisation de l'application pour effectuer le glissement rapide d'un ascenseur sur toute la hauteur de l'écran. La figure 4 montre l'utilisation de l'application pour effectuer une sélection précise de lettres dans 25 un mot. Les figures 5A et 5B montrent l'utilisation de l'application pour repositionner la main de manière à ce qu'elle ne masque plus la zone de manipulation. La technique d'implémentation utilisée pour déplacer le curseur s'inspire fortement de celle de la souris informatique. Pour aider à mieux comprendre le principe de l'invention, voici décrit ci-dessous un mode de réalisation typique, conforme à l'invention : Cette réalisation utilise, comme montrée figure 1, un PC portable (1) utilisable au stylet (2), et met en œuvre l'invention pour rendre efficace les manipulations de l'utilisateur sur l'interface 30 35 -5-graphique du PC. Nous supposons acquis notamment un driver de stylet et d'écran tactile fournissant la position absolue du stylet sur la surface de l'écran et sa distance par rapport à la surface, une fonction d'affichage du curseur à une position donnée, ainsi qu'une fonction d'activation d'un élément d'interface situé sous un point donné (ces outils sont généralement installés sur les équipements informatiques à écran tactile). Le schéma de la figure 2 montre l'algorithme général utilisé pour déplacer le curseur à la manière d'une souris, d'après la position absolue du stylet sur l'écran. Pour simplifier, on supposera que l'espace de coordonnées des positions du stylet est le même que celui des coordonnées de l'écran. Cet algorithme est une boucle exécutée plusieurs fois par seconde, qui s'occupe de positionner le curseur d'après les mouvements du stylet et de le faire interagir avec l'interface graphique. On y commence par lire ù depuis le driver du stylet ù la distance entre la pointe du stylet et la surface de l'écran. Cette distance sert pour déterminer le coefficient de ralentissement Cra! (1) : • Si elle est suffisamment petite (inférieure à une valeur Dlen, donnée, typiquement 1 cm) alors Cra, prend comme valeur 1 afin de ne pas influencer la suite des calculs. • Si elle est trop grande, on considère que l'utilisateur éloigne sa rnain de l'écran pour la repositionner (tel qu'illustré figure 5), et qu'il faut donc empêcher un déplacement inopportun du curseur. Cela est fait en donnant à Cra, une valeur d'autant plus proche de 0 que cette distance est grande. Ensuite on détermine la position courante du stylet sur la surface de l'écran, ce qui nous permet de calculer la vitesse courante V,me, du stylet (2), d'après la position du stylet précédemment sauvegardée. Puis on calcule le vecteur de déplacement vcur, à appliquer à la position du curseur (3) : Si la vitesse du stylet est inférieure à une certaine vitesse Vent on considère que l'utilisateur souhaite faire une manipulation précise (comme illustrée figure 4), et donc on rétrécit le vecteur de déplacement d'un facteur 2. Si au contraire la vitesse du stylet est supérieure à une certaine vitesse Vrap;de on considère que l'utilisateur souhaite faire une manipulation ample (comme illustrée figure 3), et donc on agrandit exponentiel lement le vecteur de déplacement pour l'assister en amplifiant son geste. Entre ces 2 valeurs, on applique au curseur le même déplacement que celui du stylet, potentiellement pondéré par le coefficient de ralentissement dû à l'éloignement du stylet de la surface tactile.35 -6- Il suffit ensuite d'afficher le curseur à sa nouvelle position, égale à son ancienne position translatée du vecteur veurç juste calculé. Puis de faire interagir l'élément d'interface pointé par le curseur, d'après d'autres facteurs comme le clic sur un bouton (sur le stylet ou sur l'appareil), la pression exercée par la pointe du stylet sur la surface de l'écran, etc. La figure 3 montre comment le déplacement du stylet est reproduit en plus grand par le curseur si la vitesse de ce dernier est suffisamment rapide, permettant ainsi un déplacement virtuel plus ample et rapide que le déplacement réel. Le stylet (l) qui est rapidement déplacé de vs,yIe, (2) induit un déplacement du curseur (3) d'un vcars (4) significativement plus grand, ce qui fait glisser 10 l'ascenseur (5) de l'interface d'autant. La figure 4 montre comment le déplacement du stylet est reproduit en plus court par le curseur si la vitesse de ce dernier est suffisamment lente, permettant ainsi un déplacement virtuel plus précis que le déplacement réel. Le stylet (1) qui est lentement déplacé de vs,yle, (2) induit un déplacement 15 du curseur (3) d'un (4) plus petit, ce qui augmente la sélection (5) avec précision. La figure 5 explicite comment l'utilisateur peut repositionner sa main sans perturber la manipulation en cours, simplement en éloignant le stylet à une certaine distance de l'écran, dans le cas d'écrans détectant le stylet sans contact direct, ou en ne mettant plus le stylet en contact avec 20 l'écran dans le cas d'écrans détectant le stylet uniquement par contact. Sur la figure 5A, le stylet (1) et la main sont situés sur la zone de manipulation (4), diminuant fortement la visibilité pour l'opérateur. Celui-ci éloigne alors son stylet perpendiculairement à la surface de l'écran (2) ce qui n'induit aucun déplacement du curseur (3), qui reste immobile. Il peut ensuite déplacer sa main, toujours en restant éloigné de l'écran, pour l'écarter de la zone d'intérêt, comme illustré figure 5B. 25 Il n'a ensuite qu'à rapprocher perpendiculairement son stylet (1) de la surface de l'écran pour reprendre ses manipulations sur l'interface graphique, en ayant ainsi gagné en visibilité. Un exemple d'application de l'invention est le contrôle d'une interface graphique sur un ordinateur 30 portable de type Tablette à écran tactile, ce dernier étant muni de capteurs électromagnétiques. Dans cette application le système d'exploitation peut offrir le choix du mode d'interaction : comme un stylo, avec le point d'interaction correspondant à la pointe du stylet, ou comme une souris, avec un curseur manipulé par le stylet et utilisant l'invention. Le basculement d'un mode d'interaction à l'autre peut se faire soit à la demande explicite de l'utilisateur (en cliquant sur une icône), soit 35 automatiquement par le système d'exploitation : il utilisera par défaut le mode d'interaction souris et basculera temporairement en mode stylo lorsqu'il détectera que l'utilisateur -7- travaille sur une fenêtre qui n'est utilisable efficacement que dans ce mode. Ainsi un opérateur en position debout peut manipuler une interface complexe avec le stylet en bénéficiant de l'efficacité de l'invention. Et il retrouve automatiquement le mode d'utilisation naturel d'un stylo lorsqu'il ouvre par exemple un logiciel de dessin. Un autre exemple d'application est un lecteur multimédia de poche muni d'un petit écran tactile manipulable au doigt. L'écran peut bénéficier d'une grande résolution et afficher des menus beaucoup trop petits pour pouvoir être distinctement actionnés en les touchant directement au doigt. On représente en surbrillance le menu visé, et cette représentation fait office de curseur implicite. L'utilisateur peut faire glisser son doigt sur la partie droite de l'écran pour manipuler les menus se situant à gauche, et vice-versa. En faisant glisser le doigt de haut en bas l'utilisateur déroule le menu sélectionné et sélectionne successivement chaque élément du menu, sans les masquer par son doigt. Pour ouvrir un sous-menu il glisse son doigt de gauche à droite. Et ainsi de suite. Pour enrouler un sous-menu il effectuer un glissement de droite à gauche, et pour enrouler le menu entier après avoir sélectionné ses éléments de bas en haut, il effectue un glissement de doigt de bas en haut. Cela permet des manipulations précises et confortables sur un petit écran (mais pas trop petit : typiquement pas moins de 20cm2) sans nécessiter de boutons de navigations. REVENDICATIONS 1. Ecran tactile caractérisé par un point d'interaction avec l'interface ù symbolisé explicitement ou non par un curseur ù distinct du point de contact du stylet sur l'écran tactile. Le terme écran tactile désigne ici les écrans tactiles ou électromagnétiques, et de manière générale tous les appareils permettant à l'utilisateur d'effectuer des manipulations directement sur la surface de son écran. Le terme stylet désigne ici l'outil avec lequel l'usager interagit avec la surface de l'écran : stylet électromagnétique à pile, stylet électromagnétique sans pile, stylet inerte, simple doigt de l'usager, etc. 2. Ecran tactile interagissant selon la revendication 1, caractérisé en ce que le déplacement du curseur ù implicite ou non ù affiché sur ledit écran ne suit pas linéairement le déplacement du stylet sur l'écran, mais qu'il le reproduit à une échelle différente et avec une vitesse de déplacement différente. 3. Ecran tactile interagissant selon les revendications 1 et 2 caractérisé en ce que les déplacements du curseur ù implicite ou non ù affiché sur ledit écran sont plus rapides que les déplacements du stylet, ce qui produit des déplacements à une échelle plus grande. 4. Ecran tactile interagissant selon les revendications 1, 2 et 3 caractérisé en ce que les déplacements du curseur ù implicite ou non ù affiché sur ledit écran sont plus lents que les déplacements du stylet, ce qui produit des déplacements à une échelle plus petite. 5. Ecran tactile interagissant selon les revendications 1, 2, 3 et 4 caractérisé en ce que le rapport de proportionnalité entre les vitesses de déplacement du stylet et du curseur est réglé par la vitesse de déplacement dudit stylet, commandé par l'opérateur.