FR2860890A1 - Procede et dispositif de controle discret de la selection des objets dans un espace graphique d'une interface visuelle d'ordinateur, support informatique - Google Patents

Procede et dispositif de controle discret de la selection des objets dans un espace graphique d'une interface visuelle d'ordinateur, support informatique Download PDF

Info

Publication number
FR2860890A1
FR2860890A1 FR0350660A FR0350660A FR2860890A1 FR 2860890 A1 FR2860890 A1 FR 2860890A1 FR 0350660 A FR0350660 A FR 0350660A FR 0350660 A FR0350660 A FR 0350660A FR 2860890 A1 FR2860890 A1 FR 2860890A1
Authority
FR
France
Prior art keywords
cursor
timed
selectable
objects
space
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
FR0350660A
Other languages
English (en)
Inventor
Yves Guiard
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Aix Marseille Universite
Centre National de la Recherche Scientifique CNRS
Universite de la Mediterranee
Original Assignee
Centre National de la Recherche Scientifique CNRS
Universite de la Mediterranee
Universite de la Mediterranee Aix Marseille II
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Centre National de la Recherche Scientifique CNRS, Universite de la Mediterranee, Universite de la Mediterranee Aix Marseille II filed Critical Centre National de la Recherche Scientifique CNRS
Priority to FR0350660A priority Critical patent/FR2860890A1/fr
Publication of FR2860890A1 publication Critical patent/FR2860890A1/fr
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04812Interaction techniques based on cursor appearance or behaviour, e.g. being affected by the presence of displayed objects

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

La présente invention concerne un procédé de contrôle de la sélection d'objets en fonction d'instructions émanant d'un périphérique de contrôle analogique dans un équipement informatique avec une interface graphique dans un espace visualisant des objets sélectionnables. Dans un mode « bitmap » de contrôle, le curseur continu peut parcourir tous les pixels de l'espace. Selon l'invention, dans un mode vectoriel de contrôle, on introduit un second curseur, dit curseur timoré, qui, prenant le pas sur le curseur continu, devient seul opérant pour la sélection d'objets, et dont le déplacement s'effectue par bonds discrets d'objet en objet. La cible de chaque saut est déterminée par la direction courante empruntée par le curseur timoré au moment où il quitte soit l'objet courant soit une zone de sécurité associée audit objet courant, la vitesse et/ou l'accélération pouvant être pris en compte.

Description

La présente invention concerne un procédé et un dispositif de contrôle
discret de la sélection d'objets dans un espace graphique d'une interface visuelle d'ordinateur ainsi qu'un support
informatique. Elle trouve à s'appliquer dans le domaine informatique au contrôle des déplacements d'un repère visuel mobile appelé pointeur ou curseur (ces deux termes étant ici équivalents) dans une interface graphique, notamment un écran ou une projection, permettant de visualiser des objets graphiques et le curseur, les déplacements du curseur s'effectuant en fonction d'instructions de mouvement reçues d'un moyen permettant de générer lesdites instructions, ledit moyen étant soit un périphérique d'entrée analogique du type organe de mesure de mouvement dans au moins une dimension, notamment souris informatique, pouvant être mise en mouvement par un utilisateur de l'ordinateur, soit un programme informatique, soit une combinaison des deux. Elle permet d'optimiser le fonctionnement d'une interface graphique, notamment dans l'interaction entre les objets graphiques présentés sur l'interface et un utilisateur. Elle peut être appliquée à tout type d'interface graphique, par exemple bureau informatique ou programme spécifique, notamment traitement de texte, jeux, contrôle aérien, et tout type de support matériel, notamment ordinateurs personnels, assistants numériques personnels (Persona/ digital assistants), téléphone mobiles, montres-poignet... Même si, pour des raisons d'exposition, le présent document met l'accent sur les applications dans des espaces à une et deux dimensions, l'invention se généralise aisément à des espaces comportant davantage de dimensions.
Dans les équipements informatiques comportant des interfaces d'entréelsortie delvers un utilisateur, l'écran de visualisation, qui permet de visualiser aussi bien du texte que de l'image, s'est stabilisé dès le courant des années 1970 comme le principal organe de sortie des ordinateurs. Les organes d'entrée, au contraire, ont considérablement évolué. Jusqu'au début des années 1980, le flux d'information de l'utilisateur vers la machine a continué d'emprunter le canal du clavier alphanumérique, mettant en jeu des codes de type verbal. A la suite de Douglas Engelbart, le concepteur du Xerox Star dont Apple s'est lourdement inspiré pour concevoir son premier Macintosh , la conception des interfaces s'est orientée vers ce que l'on appelle l'interface utilisateur graphique permettant de visualiser des objets graphiques et d'interagir avec eux, l'espace et les objets étant représentés par des ensembles de pixels. Le clavier est toutefois resté prédominant en tant qu'outil pour l'entrée continue de texte.
Ce nouveau type d'interface d'entrée graphique utilise la métaphore du dessus de bureau (bureau virtuel) et repose massivement sur l'acte élémentaire de pointage qu'un utilisateur effectue en mettant en mouvement un périphérique d'entrée (de contrôle) analogique, généralement une souris, qui entraîne le déplacement d'un curseur à l'écran.
Par exemple, au lieu de devoir composer au clavier la chaîne de caractères EFFACER , qui exprime un ordre intimé à l'équipement informatique, l'interface graphique sur écran invite à effectuer l'action soi-même grâce à un curseur d'écran contrôlé dans ses déplacements au moyen des mouvements d'une souris ou d'un autre périphérique. A cette fin, on 'saisit' l'icône d'un fichier que l'on veut effacer et on la déplace vers une icône de corbeille où on la laisse tomber (action dite drag and drop) et où, de fait, elle disparaît. II est généralement admis que les interfaces graphiques, qui sont maintenant mises en oeuvre dans la presque totalité de l'informatique domestique et professionnelle, ont marqué un progrès considérable dans la qualité de l'interaction entre humain et ordinateur parce qu'elles substituent aux lignes de commande, qui sont fondées sur des conventions arbitraires, des manipulations directes intuitives.
La forme des interfaces graphiques utilisateur a peu évolué depuis l'origine. A quelques détails près, et quel que soit le système d'exploitation, on retrouve partout aujourd'hui la même configuration générale, peu différente de celle du Xerox Star .
Dans toutes les versions, l'interface graphique traite l'action de pointage comme la brique fonctionnelle fondamentale de l'interaction entre l'utilisateur et interface graphique.
Ainsi, les interfaces courantes sont typiquement équipées d'un curseur d'écran dont le rôle est de parcourir les pixels de la représentation graphique et de sélectionner des ensembles de pixels. Tout comme l'image du dessus de bureau virtuel qui en définit le cadre spatial (espace où se répartissent les objets graphiques), le pointage de la technologie courante met en oeuvre le mode graphique bitmap (en anglais bitmap graphics ou raster graphics, représentation par bits) qui code l'image en termes de pixels d'écran par opposition à un mode dit vectoriel (en anglais vector graphics) qui coderait l'image en termes d'objets et de leurs composants discrets (courbes, formes géométriques, caractères alphanumériques, etc.). Les déplacements du curseur en mode bitmap se font donc de manière continue, de pixel en pixel, sans prendre en considération ce que représentent lesdits pixels.
D'autre part, la psychologie expérimentale est riche d'enseignements utiles sur le pointage. On sait, depuis les travaux fondateurs de Fitts (Fitts, P.M. 1954 The information capacity of the human motor system in controlling the amplitude of movement. Journal of Experimental Psychology 47,381-391), que le temps T nécessaire pour atteindre une cible de largeur W placée à une distance D obéit à la relation suivante, dite loi de Fitts: T = a + b Iog2(D/W+1), où a et b sont des coefficients déterminés empiriquement (b>0) et où l'expression log2(D/W+1) quantifie la difficulté de la tâche considérée. II est clair que la difficulté du pointage, et avec elle le temps requis pour l'exécuter, dépend de manière critique du rapport D/W: cette difficulté s'accroît avec l'allongement de la distance à parcourir et elle se réduit avec l'augmentation de la largeur de la cible.
Depuis une vingtaine d'années, de nombreux travaux ont été publiés dans le domaine de l'interaction homme-machine dans le but de rendre le pointage aussi facile dans l'interface graphique que dans l'espace des objets réels. Ces travaux (pour une revue voir McKenzie, I. S, 1992 Fitts' Law as a research and design tool in human-computer interaction . Human-Computer Interaction, 7,91-139) sont tous fondés sur la loi de Fitts. Dans ces travaux, les auteurs se sont surtout employés à comparer les divers périphériques d'entrée existants, tels que la boule ( track bail ), le mini-joystick (mini manette de jeu), la souris, la tablette graphique, etc., ce qui a permis d'établir, par exemple, que la souris et la tablette autorisent des performances de pointage à peu près comparables à celles que l'on obtient dans les conditions naturelles.
II y a quelques années, l'idée que le pointage sur un dessus de bureau virtuel pourrait être plus facile qu'il ne l'est vers les cibles naturelles du monde réel s'est fait jour. En d'autre terme, la technologie devait pouvoir mettre en échec la loi de Fitts. Ainsi s'est ouverte une perspective de recherche plus ambitieuse visant à économiser à l'utilisateur de l'interface graphique une partie de l'effort requis pour sélectionner les objets du bureau virtuel. On peut distinguer deux directions de recherche, selon que les chercheurs ont entrepris de réduire le numérateur (D) ou d'accroître le dénominateur (W) du rapport D/W.
En ce qui concerne la réduction de D, c'est-à-dire le procédé consistant à rapprocher la cible, on peut citer la solution proposée par Baudisch (Baudisch, P. Drag and pop , http:llwww.darmstadt.gmd.de/baudisch/projectsldragandpoplindex 25.html) qui a mis au point le procédé dit drag and pop dans lequel, dès que le curseur d'écran commence à se mouvoir vers un groupe d'icônes, l'ensemble des cibles potentielles se rapprochent spontanément du curseur, ce qui réduit la distance à couvrir activement par l'utilisateur. Le procédé, qui n'a pas encore été évalué expérimentalement, devrait, en principe, faciliter le pointage. II présente toutefois l'inconvénient notable de perturber, au cours du déplacement du curseur, l'arrangement spatial des objets sur le bureau, ce qui complique la tâche de reconnaissance de l'utilisateur.
En ce qui concerne l'augmentation de W, c'est-à-dire le procédé consistant à magnifier la cible, on peut citer la solution proposée par MacGuffin et Balakrishnan (McGuffin, M. & Balakrishnan, R. 2002 Acquisition of Expanding Targets Proc.of CHI 2002, ACM conference on human factors in computing systems, p. 57-64) qui ont évalué expérimentalement un procédé consistant en une expansion automatique de l'objet visé lorsque le curseur d'écran s'en approche, procédé déjà utilisé par Apple dans son dernier système d'exploitation, Mac OS-X . On a toutefois montré que l'expansion de la cible, purement visuelle, est en pratique sans aucun effet sur la tolérance effective du pointage et que le dénominateur du rapport critique D/W reste, pour le mouvement, inchangé (Zhai, S., Conversy, S., Beaudouin-Lafon, M. & Guiard, Y. Human online response to target expansion . Proc. of CHI 2003, ACM conference on human factors in computing systems, p.). De surcroît, dès lors que l'on a affaire à des cibles rapprochées les unes des autres, l'effet de magnification entraîne des déplacements indésirables qui perturbent la sélection terminale de l'objet visé (Gutwin, C. Improving focus targeting in interactive fisheye views Proc.of CHI 2002, ACM conference on human factors in computing systems, p 267-274). Au total, il est probable que le procédé dégrade les conditions du pointage au lieu de les faciliter.
En dehors de ces études de laboratoire à vocation de 25 recherche fondamentale, des demandes de brevet ont été déposées en ce qui concerne le domaine du pointage d'objets dans une interface graphique visuelle. On peut citer: - US-5.635.954 du 3 juin 1997 pour Mouse cursor control system dans lequel l'écran de visualisation est fractionné en 30 parties d'écran et un curseur d'écran se déplace entre ces parties d'écran selon des distances prédéterminées.
- US-5.367.625 du 22 novembre 1994 pour Method for designating object on screen dans lequel un objet est désigné selon une procédure complexe mettant en oeuvre une table de coefficients d'association.
- US-6.049.325 du 11 avril 2000 pour System and method for efficient hit-testing in a computer-based system dans lequel une topologie de recherche est mise en oeuvre.
Si l'interface classique avec pointage en mode continu bitmap est appropriée dans certains cas particuliers, comme par exemple l'édition d'images, elle est par contre nettement sous-optimale dans le cas, très fréquent, où le pointage vise un objet discret, du type icône, bouton, item de menu ou lien hypertexte. Comme l'écran offre inévitablement des espaces vides d'objet, le pointage d'objet demande à l'utilisateur de générer davantage d'information que n'en utilisera effectivement l'équipement informatique.
Ce défaut apparaît clairement si l'on compare l'information (au sens quantitatif de Shannon) émise par l'utilisateur en pointant et l'information utilisée par l'équipement informatique. Si l'on considère par exemple un dessus de bureau virtuel comportant 40 icônes de 20 pixels sur 30, soit pour chacune une surface de 600 pixels, dans un écran dont la surface utile est de 1024 x 768 pixels, soit 786.000 pixels, pointer sur l'une des 40 icônes revient, du point de vue de l'utilisateur, à spécifier un sous-ensemble de 600 pixels au sein d'un ensemble de 786 000 pixels. Ainsi, l'information émise par l'utilisateur à travers son acte de pointage vaut -Iog2(6001786 000), soit 10.4 bits. Or, puisqu'il n'y a que 40 événements possibles du point de vue de l'équipement informatique, l'information reçue effectivement par ledit équipement excède à peine 5 bits (Iog240 = 5.3). Cette simple comparaison de l'information émise (10. 4 bits) et de l'information utile (5.3 bits) montre bien que dans le pointage bitmap qui est classiquement effectué jusqu'à présent, il y a une perte importante d'information.
D'une manière générale, on peut admettre dans les interfaces graphiques classiques la formule suivante: le=log2(SelSo)>Ir=log2N où le désigne l'information émise par l'utilisateur et Ir l'information reçue par l'ordinateur, où Se et So désignent respectivement la surface de l'écran et la surface de l'objet à sélectionner, et où N désigne le nombre d'objets (icônes, items de menus, etc.) qui constituent des cibles potentielles du pointage sur l'écran.
On peut noter accessoirement que l'écart exprimé par l'inéquation précédente décroît avec le nombre des objets cibles potentielles du pointage. Dans le cas limite où la surface de l'écran est entièrement pavée d'objets, sans aucun espace vide entre les objets, le rapport des surfaces SeIS0, devient égal au nombre N des cibles potentielles et le gaspillage d'information s'annule. En pratique, un tel pavage n'est réalisable que sur une partie de l'écran, par exemple au sein d'un menu hiérarchique.
La proportion d'information émise en pure perte par l'utilisateur, 50% dans l'exemple précédent, peut être considérable dans les situations courantes, du fait que le nombre des objets entre lesquels doit être opérée une sélection est, le plus souvent, de l'ordre de quelques dizaines au plus. La principale cause de ce manque d'efficacité réside dans le fait que le interface graphique classique utilise un pointage bitmap qui s'effectue dans un espace continu ou quasi-continu, alors que l'équipement informatique manipule des objets discrets. En d'autres termes, l'interface graphique classique exige de l'utilisateur une sélection de pixels fort coûteuse en information, là où le l'équipement informatique pourrait se contenter de la spécification d'un objet au sein d'un ensemble, généralement restreint, d'objets.
Ainsi, les solutions proposées jusqu'à ce jour sont en général d'une efficacité douteuse parce qu'elles se bornent à aménager, sans le remettre en cause, un mode de pointage qui est fondamentalement inefficace dans son principe. Elles sont basées sur des interfaces graphiques utilisateur standard (celles de Windows , Unix ou Mac-Os ) qui, depuis une vingtaine d'années, impose des conditions sous-optimales au pointage.
L'objectif de la présente invention est de faciliter la sélection des objets graphiques dans les interfaces graphiques utilisateur-équipement informatique en limitant la perte d'information dans la communication gestuelle entre l'utilisateur et l'équipement.
L'invention est basée sur le fait que, lors du pointage vers un objet graphique dans l'espace de travail d'une interface graphique, la quasitotalité de l'information qui va être reçue par le système est en réalité disponible dans la cinématique du curseur dès les premiers instants de son déplacement. Il est donc proposé un nouveau mode de pointage d'objets dans une interface graphique qui se base sur le fait que la direction suivie par le curseur d'écran spécifie la cible dès le démarrage du mouvement de pointage et qu'un mode dit vectoriel, provoquant des déplacements du curseur d'écran par bonds, fondé sur un algorithme simple d'analyse de trajectoire que l'on peut confier au système d'exploitation s'avère, dans la plupart des cas, plus efficace que le mode classique, continu, de pointage.
Notons que s'il existe des procédés de sélection d'objets par sauts discrets exécutés au clavier, le choix de la direction est grossier (haut, bas, gauche, droite), ce qui rend incertaine l'atteinte d'un objet situé par exemple en haut et à gauche. De surcroît, l'utilisateur est contraint, pour bénéficier de cette fonctionnalité, de lâcher son périphérique de pointage pour passer au clavier, transition qui demande de l'attention et nuit à la continuité de la tâche.
L'invention concerne donc un procédé de contrôle de la sélection d'objets dans une interface visuelle humain-machine informatisée, au moyen d'un curseur capable de parcourir un espace de représentation contenant des objets sélectionnables, ledit curseur étant contrôlé par un périphérique d'entrée analogique, notamment une souris ou un gant numérique, les objets sélectionnables étant notamment des éléments de menus, des icônes ou des objets virtuels, ledit curseur, dit curseur continu, pouvant se déplacer de manière continue, selon le mode graphique bitmap usuel, dans l'espace de représentation.
Selon l'invention, dans un mode dit vectoriel: - le contrôle de la sélection s'opère au moyen d'un second curseur, dit curseur timoré, le curseur continu devenant alors inopérant pour la sélection d'objets, - le curseur timoré se déplace en sautant directement d'objet sélectionnable en objet sélectionnable en enjambant instantanément les zones de l'espace de représentation non occupées par des objets sélectionnables, dites zones vides, - à l'intérieur des objets sélectionnables, toutefois, le curseur timoré se déplace de manière continue, à la manière d'un curseur usuel, et parallèlement au curseur continu, et dès que le curseur timoré, au sortir d'un objet sélectionnable donné, dit objet d'origine, s'engage dans une zone vide, ledit curseur timoré saute sur l'un des objets sélectionnables, la cible du saut étant soit la frontière la plus proche de l'objet sélectionnable le plus proche dudit objet d'origine dans la direction empruntée par le curseur timoré au moment où il s'engage dans une zone vide, soit la frontière de l'objet d'origine si aucun objet sélectionnable ne figure dans ladite direction.
Dans divers modes de mise en oeuvre de l'invention, les moyens suivants, qui peuvent être combinés selon toutes les possibilités techniquement envisageables, sont employés: - en mode vectoriel, la cible du saut est identifiée par l'analyse de la cinématique courante du curseur timoré au moment où il s'engage dans une zone vide, un algorithme d'analyse, déclenché dès que l'équipement informatique constate que le curseur timoré s'est engagé dans un espace vide, calculant, notamment par régression linéaire dans un espace à au moins deux dimensions, la direction courante du déplacement du curseur timoré ou, dans un espace à une dimension, le sens du déplacement du curseur timoré, dans tous les cas sur la base de la série temporelle mémorisée des dernière positions qu'a occupées ledit curseur timoré juste avant qu'il ne sorte de l'objet qui l'abritait, l'ultime position prise en considération pour le calcul étant chronologiquement celle qui a déclenché l'algorithme parce qu'elle a été la première position à être enregistrée dans une zone vide, - dans un espace à au moins deux dimensions, l'algorithme identifie l'objet sélectionnable vers lequel le curseur timoré doit sauter en calculant une marge de tolérance paramétrable, ladite marge de tolérance pouvant notamment prendre la valeur limite zéro, ladite marge de tolérance étant centrée autour de la direction définie par le mouvement du curseur timoré au moment où il s'est engagé dans le vide, et pouvant notamment revêtir la forme d'un secteur angulaire dans l'espace à deux dimensions ou d'un angle solide dans l'espace à trois dimensions, l'algorithme utilisant le secteur angulaire ou l'angle solide ainsi défini pour déterminer si, dans la direction empruntée par le curseur timoré, ladite direction étant définie avec ladite marge de tolérance, il y a au moins un objet sélectionnable, la marge de tolérance définie en mode vectoriel autour de la direction définie par le mouvement du curseur timoré est paramétrable quant à sa valeur minimale, sa valeur maximale et la valeur de son pas incrémental, en mode vectoriel, la visibilité du curseur timoré et du curseur continu de type bitmap est paramétrable, indépendamment l'un de l'autre, entre un minimum correspondant au cas d'un curseur totalement invisible et un maximum correspondant au cas d'un curseur parfaitement visible, toute valeur intermédiaire correspondant à un niveau de visibilité intermédiaire, - lorsqu'il n'y a pas d'objet sélectionnable dans la direction empruntée par le curseur timoré au moment où il s'engage dans le vide, ladite direction étant assortie de sa marge de tolérance, alors le curseur timoré retourne à l'objet d'origine qu'il était en train de quitter et, de préférence, au point de la frontière dudit objet d'origine qu'il vient de traverser en s'engageant dans le vide, - l'arrivée du curseur timoré dans un objet sélectionnable cause au moins une réaction du dit objet sélectionnable choisie parmi au moins une mise en sur-brillance, un déroulement de menu, une exécution d'un programme, - le saut du curseur timoré vers un autre objet sélectionnable dépend en outre de la vitesse courante dudit curseur timoré, cette vitesse étant estimée dans la direction courante de son déplacement au moment où il s'engage dans le vide, ledit curseur timoré retournant à son point de départ, au bord de l'objet sélectionnable d'origine, si sa vitesse courante est inférieure en valeur absolue à un seuil paramétrable, - le déclenchement du saut du curseur timoré vers un autre objet sélectionnable dépend en outre de l'accélération courante dudit curseur timoré, cette accélération étant estimée dans la direction courante du déplacement du curseur timoré au moment où il s'engage dans le vide, ledit curseur timoré retournant à son point de départ, au bord de l'objet sélectionnable d'origine, si son accélération courante est négative et supérieure en valeur absolue à un seuil paramétrable, - le contrôle de la sélection d'objets dans l'équipement informatique peut basculer du mode bitmap au mode vectoriel par action d'un programme fonctionnant dans l'équipement ou par action d'un opérateur de l'équipement, -si, au moment où l'on bascule en mode de contrôle vectoriel, le curseur timoré se trouve dans le vide et si aucun objet cible ne peut être à ce moment identifiée, notamment parce que le curseur timoré est stationnaire ou qu'il est en train de se diriger vers une zone vide, alors le curseur timoré saute sur l'objet le plus proche de lui, sans aucune considération de direction, - on associe à chaque objet sélectionnable une zone de sécurité centrée sur ledit objet, le saut du curseur timoré s'effectuant entre les zones de sécurité des objets sélectionnables, et l'identification de la cible des sauts s'effectuant à la sortie desdites zones de sécurité, - la forme et la taille de chaque zone de sécurité sont paramétrables, ladite zone de sécurité pouvant être de forme identique ou différente de l'objet correspondant et de taille inférieure, égale ou supérieure à la taille de l'objet correspondant (dans le cas de forme différente, la taille peut être différente selon les bords considérés), - l'espace dans lequel s'opère le déplacement du curseur est à au moins une dimension, et notamment, dans le cas d'une dimension, l'objet et son éventuelle zone de sécurité représentant des intervalles, dans le cas de deux dimensions, des surfaces, dans le cas de trois dimensions des volumes, -en mode vectoriel et dans un espace à au moins deux dimensions, si aucun objet sélectionnable ne se trouve dans la direction que le curseur timoré est en train d'emprunter, alors l'algorithme de recherche accroît sa marge de tolérance, dans un espace à deux dimensions en élargissant le secteur angulaire, dans un espace à trois dimensions en élargissant l'angle solide, ledit élargissement progressant d'un pas incrémentai paramétré, jusqu'à trouver un objet sélectionnable, ou s'arrêter si aucun objet sélectionnable n'a été identifié dans la direction du mouvement du curseur timoré alors que la marge de tolérance a atteint une valeur maximale paramétrée, - dans une interface homme-machine auditive plutôt que visuelle destinée notamment aux handicapés de la vision, un mode vectoriel de contrôle des déplacements d'un curseur timoré dans l'espace de travail au moyen d'un périphérique de contrôle analogique, tel qu'une souris, un joystick (manette de jeu) ou un gant numérique, permet de contrôler la sélection d'objets sélectionnables dans un espace acoustique, les objets sélectionnables étant représentés comme autant de sources acoustique disposées autour de l'utilisateur par un procédé, stéréophonique, quadriphonique ou autre, permettant la spatialisation audible d'un ensemble de sources sonores dans l'espace virtuel ou réel, et revêtant la forme de sources acoustiques émettant chacune un son continu singulier et identifiable, comme par exemple l'écoulement d'un liquide ou un ronronnement de moteur, et caractérisé en ce qu'un curseur timoré acoustique, signalé de manière permanente par un son spécifique propre à en permettre l'identification, tel que le bourdonnement d'une abeille, saute d'objet sélectionnable en objet sélectionnable en enjambant les espace vides de l'espace acoustique, le saut sur un objet sélectionnable provoquant au moins une réaction dudit objet sélectionnable, notamment une augmentation du volume sonore de l'objet sélectionné ou un déclenchement de programme.
L'invention concerne également un dispositif à type d'équipement informatique comportant des moyens permettant de contrôler la sélection d'objets dans une interface visuelle humain-machine informatisée, au moyen d'un curseur capable de parcourir un espace de représentation contenant des objets sélectionnables, ledit curseur étant contrôlé par un périphérique d'entrée analogique, notamment une souris ou un gant numérique, les objets sélectionnables étant notamment des éléments de menus, des icônes ou des objets virtuels, ledit curseur, dit curseur continu, pouvant se déplacer de manière continue, selon le mode graphique bitmap usuel, dans l'espace de représentation.
Selon l'invention, ledit dispositif comporte des moyens permettant la mise en oeuvre du procédé selon l'une ou plusieurs des caractéristiques précédement listées et dans lequel dans un mode dit vectoriel: - le contrôle de la sélection s'opère au moyen d'un second curseur, dit curseur timoré, le curseur continu devenant alors inopérant pour la sélection d'objets, - le curseur timoré se déplace en sautant directement d'objet sélectionnable en objet sélectionnable en enjambant instantanément les zones de l'espace de représentation non occupées par des objets sélectionnables, dites zones vides, - à l'intérieur des objets sélectionnables, toutefois, le curseur timoré se déplace de manière continue, à la manière d'un curseur usuel, et parallèlement au curseur continu, et dès que le curseur timoré, au sortir d'un objet sélectionnable donné, dit objet d'origine, s'engage dans une zone vide, ledit curseur timoré saute sur l'un des objets sélectionnables, la cible du saut étant soit la frontière la plus proche de l'objet sélectionnable le plus proche dudit objet d'origine dans la direction empruntée par le curseur timoré au moment où il s'engage dans une zone vide, soit la frontière de l'objet d'origine si aucun objet sélectionnable ne figure dans ladite direction.
L'invention concerne enfin un support informatique comportant un programme de fonctionnement d'un équipement informatique selon l'une quelconque des caractéristiques de procédé précédentes ou leurs combinaisons.
L'invention peut être mise en oeuvre dans tout type d'équipement électronique ou informatique nécessitant une interaction homme-machineavec une interface graphique pour notamment entrer des données ou effectuer des actions. Elle peut être appliquée à des ordinateurs de bureau, des ordinateurs portables, des assistants personnels et des téléphones cellulaires, des systèmes de vision haute, casques de visualisation. Le pointage vectoriel apparaît particulièrement indiqué dans le cas des interfaces ultra-miniaturisées (par exemple, montrepoignet) ou géantes (par exemple, écran mural destiné à l'interaction multiagents). Le niveau préféré d'implémentation du nouveau procédé est le système d'exploitation.
La présente invention va maintenant être exemplifiée par la description qui suit, sans en être pour autant limitée, et en relation avec: La Figure 1, qui représente le déplacement dans un espace à une dimension d'un curseur d'écran continu en mode bitmap , le 20 mode classique de l'état de la technique, La Figure 2, qui représente le déplacement dans un espace à une dimension d'un curseur d'écran en mode vectoriel selon l'invention, La Figure 3 qui représente un organigramme de fonctionnement de l'invention.
Le curseur d'écran (ou pointeur d'écran) qui est considéré dans la présente invention est un repère visuel spécifique qui est habituellement affiché sur l'écran et qui peut se déplacer en relation avec des instructions de mouvement fournies par un organe de mesure de mouvement ou en relation avec des instructions de mouvement fournies par un programme informatique de génération de mouvements. L'ordinateur de l'état de la technique comporte classiquement un programme de gestion du curseur en mode bitmap qui reçoit en entrée des instructions de mouvement et contrôle en sortie le positionnement du curseur sur l'écran. Nous appelons curseur continu le curseur d'écran que nous offre l'interface graphique classique. Même si la dépendance du déplacement du curseur continu dans l'écran par rapport au mouvement du périphérique d'entrée est typiquement une fonction non-linéaire que l'on peut paramétrer (par exemple, l'option souvent désignée comme accélération de la souris permet de faire varier le gain du contrôle selon la vitesse du mouvement), la fonction liant l'amplitude du déplacement du curseur continu à l'amplitude du mouvement effectué sur le périphérique de contrôle est continue.
L'organe de mesure de mouvement est classiquement un périphérique de pointage qui est un dispositif actionné directement par l'utilisateur de l'équipement informatique et qui est notamment une souris, une boule de pointage ( track bail ), un système à capteur(s) de mouvement (par exemple gant instrumenté mesurant les mouvements de l'utilisateur). L'organe de mesure des mouvements peut également être actionné par un appareillage mécanique comme par exemple un pantographe de recopie qui peut lui même être actionné par un utilisateur ou par un système de motorisation. Le programme informatique de génération de mouvements est, par exemple, un simulateur d'utilisateur ou est intégré à un dispositif plus complexe permettant d'analyser des mouvements d'un utilisateur en fonction de prises de vues (caméra filmant un utilisateur: pointage par la main, mouvement des yeux...). Notons que la distinction entre organe de mesure de mouvement et programme informatique de génération de mouvements n'est pas absolue puisqu'en général à un organe de mesure est associé un programme informatique permettant de produire les instructions de mouvement dans un format informatique utilisable par l'équipement informatique pour le contrôle du déplacement du curseur d'écran. La distinction qui est faite ici est donc relative et se base plus sur le fait que certains des moyens indiqués sont basés plus sur la mécaniques plutôt que sur l'électronique pure pour capter les mouvements qui sont mesurés.
L'organe de mesure de mouvement et le programme informatique de génération de mouvements sont, de préférence, capables de fournir des mesures de mouvement selon un nombre d'axes qui correspond à la dimension de l'espace (bureau virtuel) de déplacement du curseur d'écran. Par exemple pour un espace d'écran à deux dimensions, une souris pouvant se mouvoir sur un tapis et fournir des mesures sur deux dimensions est suffisante.
Afin de d'expliquer au mieux l'invention, la description qui suit est en deux parties principales. La première partie va concerner un espace d'écran dans lequel le curseur d'écran ne peut se déplacer que dans un espace d'une seule dimension, c'est à dire sur une ligne et quelle que soit la direction de cette ligne. La deuxième partie va concerner un espace d'écran dans lequel le curseur d'écran peut se déplacer sur toute la surface, c'est-à-dire dans un espace à deux dimensions. On comprendra alors que l'invention pourra être étendue à des espaces à plus de deux dimensions et, en pratique trois dimensions, pour un curseur d'écran pouvant se déplacer dans un volume.
Dans le cas d'un espace à une seule dimension, le pointage de type bitmap classique de l'état de la technique est expliqué en relation avec la Figure 1 qui illustre une trajectoire de curseur d'écran d'un équipement informatique sur un dessus d'un bureau virtuel à une seule dimension. Le bureau est représenté sur l'axe vertical, le temps s'écoulant le long de l'axe horizontal. Dans le mode de pointage de type bitmap classique, le déplacement du curseur d'écran obéit de manière continue aux instructions de mouvements reçues par l'équipement informatique et provenant d'un organe de mesure de mouvement qui est typiquement une souris. Notons qu'un périphérique de contrôle à une seule dimension pourrait suffire dans l'exemple; dans le cas d'une souris qui fournit des mesures de mouvement selon deux dimensions, on utilisera la mesure correspondant au repère uni-dimensionnel de l'espace d'écran où évolue le curseur d'écran.
Dans l'exemple de la Figure 1, le bureau virtuel (rappelons-le, à une seule dimension, cette dimension correspondant à l'axe vertical de la figure) n'offre au curseur d'écran que deux objets comme cibles potentielles, l'un couvrant l'intervalle AB, et l'autre l'intervalle CD, ces objets étant dans l'exemple de tailles et de positions arbitraires. L'espace de travail dans lequel le curseur d'écran peut se déplacer se décompose donc en cinq intervalles: les deux déjà cités correspondent à nos objets, les trois autres correspondant à des espaces vides. Voyons ce qu'il se passe si la tâche de l'utilisateur est d'atteindre la deuxième cible, celle qui occupe l'intervalle CD.
Comme on est dans le mode bitmap classique, le curseur d'écran peut occuper n'importe quelle position dans l'espace du bureau virtuel, aussi bien dans un espace vide que dans un objet.
Dans la Figure 1, on suppose que le curseur, au seuil du mouvement, se trouve au repos dans un espace vide, au point O situé en dessous de l'objet AB. On doit noter que lorsque le curseur d'écran passe au niveau des objets, lesdits objets réagissent, par exemple par un passage en surbrillance, ce qui signale que c'est cet objet-là qui sera activé en cas de validation par un clic de souris ou une pression sur la touche entrée . Cette surbrillance est illustrée dans la Figure 1 par les zones grisaillées, entre les temps tq et t2 pour l'objet AB, entre les temps t3 et t4 pour l'objet CD.
A part les deux portions de la trajectoire qui correspondent aux passages sur les objets AB et CD, la trajectoire du curseur d'écran est ignorée par l'équipement informatique, ledit équipement se bornant à attendre que l'utilisateur veuille bien sélectionner un objet.
Dans tout le mouvement décrit dans la Figure 1, c'est à dire de to à t4, il n'y a que deux événements discrets porteurs d'information utile pour le système informatique. Le premier intervient très tôt, au temps to, lorsqu'un déplacement vers le haut est détecté. A partir de ce moment, on sait que l'utilisateur vise un objet. On n'attend donc plus qu'un seul bit d'information: est-ce que ce sera l'objet AB ou bien l'objet CD ? Le message continu émis par l'utilisateur entre to et tl au moyen du déplacement de son curseur n'apportera pratiquement aucune information complémentaire, l'arrivée dans l'objet AB, observée au temps t,, étant trivialement prévisible dès l'origine du mouvement: en effet, quelle que soit la cible visée, AB ou CD, le curseur doit bien commencer par atteindre l'intervalle AB.
C'est au temps t2 qu'intervient le second et dernier événement informatif du mouvement, à savoir le franchissement par le curseur du point B, limite supérieure de l'objet AB, objet dans lequel on constate qu'il ne s'est donc pas immobilisé (on observe, de surcroît, que la traversée de l'objet AB s'est faite à vive allure et sans ralentissement significatif). II devient donc pratiquement certain, à ce stade de la progression du mouvement, que l'utilisateur est en train de progresser vers le prochain objet, l'objet CD. La suite du mouvement n'apportera donc pratiquement plus aucune information sur l'intention de l'utilisateur. Lorsque, au temps t4, le curseur s'immobilise effectivement dans l'objet CD, on n'apprend rien qu'on ne savait déjà depuis le temps t2.
On sait, par de nombreuses études de psychologie expérimentale, que la phase de ralentissement terminal d'un pointage est la plus coûteuse en temps et en attention. Et pourtant, le mode bitmap de l'état de l'art exige de l'utilisateur qu'il mène son pointage jusqu'à son terme. L'effort vient essentiellement en pure perte puisque, comme nous venons de le voir, l'équipement informatique reste entièrement indifférent à l'action de l'utilisateur pendant la majeure partie du mouvement. L'équipement n'est réactif aux actions de l'utilisateur qu'au cours de quelques brefs intervalles temporels, soit dans l'exemple de la Figure 1, dans les intervalles tl-t2 et t3-t4, qui correspondent à des interactions du curseur d'écran avec les objets.
L'anomalie vient du fait que, dans le cas du pointage en mode bitmap classique, l'utilisateur produit un message riche codé dans le langage continu des pixels, alors que l'équipement informatique attend, pour passer à l'action, une simple désignation d'objet, désignation discrète beaucoup plus pauvre en information. Certes, l'équipement informatique utilise en permanence l'information continue émanant du périphérique de contrôle pour mettre à jour la position du curseur d 'écran dans l'espace écran, mais il n'y a aucun gain informationnel pour l'équipement, puisque cette mise à jour est à l'usage exclusif de l'utilisateur.
En nous limitant toujours au cas d'un espace à une seule dimension, voyons dans la Figure 2 en quoi consiste le pointage de type vectoriel proposé dans l'invention. Le mode vectoriel utilise deux curseurs, le premier étant le curseur continu de l'état de l'art, le second étant un nouveau type de curseur d'écran selon l'invention, que nous dénommerons curseur timoré, ou Tim. Si ce nouveau curseur peut être qualifié de 'timoré' c'est que, souffrant de la phobie du vide, il ne peut se déplacer dans l'espace de travail qu'en sautant par bond d'un objet à l'autre. Qu'il soit en mouvement ou au repos, Tim ne peut se trouver que dans l'espace des objets. Le déplacement de Tim dans l'espace de travail va donc être de type discret, saltatoire, même si le mouvement du périphérique de contrôle, souris ou autre, est continu.
Il est important de noter que, dans le pointage vectoriel, l'utilité du curseur continu traditionnel devient marginale, l'affichage explicite dudit curseur dans l'espace de travail n'étant plus qu'une option offerte à l'utilisateur: la visibilité du curseur continu est un paramètre réel variant entre 1 (parfaite visibilité) et 0 (invisibilité). Dans le mode vectoriel, en effet, Tim est le seul curseur à être opérant pour contrôler la sélection des objets. Néanmoins, comme on le comprendra mieux par la suite, l'affichage de Tim n'est pas non plus une nécessité. Dans l'invention, l'affichage de ce nouveau curseur est tout aussi librement paramétrable, au choix de l'utilisateur, entre une totale visibilité et une totale invisibilité. En effet, la réaction normale des divers objets informatiques à la visite d'un curseur que l'on se dispense d'afficher, telle qu'une mise en surbrillance (pourvu que cette surbrillance soit suffisamment contrastée pour être aisément détectée dans la périphérie du champ de vision), peut suffire à fournir le retour visuel dont l'utilisateur a besoin pour contrôler la progression saltatoire de sa sélection dans l'espace de travail.
Dans la Figure 2, qui reprend le cas d'un bureau à une dimension pour décrire le principe du pointage vectoriel, on considère que l'utilisateur s'est assigné la même tâche que celle de la Figure 1: atteindre l'objet CD à partir du point O. On admet qu'il vient juste de basculer en mode vectoriel, le curseur d'écran se trouvant alors initialement au repos en dehors d'un objet. La Figure 2 illustre la trajectoire de Tim depuis le temps to où un mouvement est détecté, provoquant le premier saut de Tim, jusqu'au temps t3 où, Tim s'étant immobilisé dans la cible que l'utilisateur a choisi d'atteindre, le mouvement du périphérique de contrôle s'arrête (mouvement fidèlement représenté par la trajectoire du curseur continu illustrée dans la Figure 2 avec un trait plus fin).
Avant le temps to, tant qu'il n'y a pas de mouvement, les deux curseurs sont confondus au point O de l'espace de travail unidimensionnel. Tim se trouve dans le vide, mais le système informatique, avant de le faire sauter sur une cible, doit attendre de savoir dans quelle direction il faut le diriger. Noter que, dans une autre variante, encore plus économe d'efforts, de l'invention, Tim, s'il se trouve dans un vide au moment du basculement en mode vectoriel, est immédiatement replacé par le programme sur le bord proximal de l'objet le plus proche, ce serait en l'occurrence le point A de notre bureau uni-dimensionnel. Au temps to le système détecte un début de mouvement de Tim, vers le haut. Tim est donc instantanément projeté sur l'objet le plus proche, dans cette direction, c'est donc l'objet AB. Plus précisément, Tim saute sur le bord proximal de l'objet AB, c'est à dire sur le point A. L'arrivée de Tim provoque une réaction instantanée dudit objet, par exemple une mise en surbrillance.
L'explication du saut est que le programme de gestion de Tim a examiné la direction dans laquelle Tim, au temps to, commençait à s'engager, ce qui lui a permis de déterminer la cible la plus proche dans cette direction. Dans le cas présent d'un espace à une dimension, la notion de direction se résume au sens du mouvement, le curseur d'écran se déplaçant dans un sens ou l'autre sur une droite.
Entre t,, et t2, parce qu'il se trouve en sécurité à l'intérieur d'un objet, Tim se remet provisoirement à fonctionner comme un curseur continu classique, suivant une trajectoire parallèle à celle de l'autre curseur, la distance séparant les deux curseurs étant égale à l'amplitude du saut effectué en to.
Au temps ti, Tim atteint le bord supérieur de l'objet AB, mais comme le mouvement du périphérique de contrôle continue dans le même sens, appelant Tim à sortir de l'objet AB dans la direction de l'objet CD, Tim bondit directement sur le bord le plus proche de l'objet CD en sautant l'intervalle vide BC. De nouveau en sécurité, il poursuit ensuite sa trajectoire dans l'objet CD selon le mode continu classique, en parallèle avec l'autre curseur. Comme toujours, une réaction de l'objet au passage de Tim peut être obtenue, par exemple sous la forme d'une mise en surbrillance.
Notons que si l'utilisateur avait inversé le mouvement alors que Tim était dans l'objet CD, le mouvement correspondant alors à un retour vers l'objet AB, et que ce mouvement inversé avait entraîné Tim à quitter l'objet CD, alors Tim serait revenu directement par un bond sur le bord supérieur de l'objet AB, soit le point B. De manière générale, lors d'un bond sur un objet, Tim aborde ledit objet par son bord le plus proche de l'origine du bond. MODES EVOLUES DE L'INVENTION Jusqu'à présent, on a considéré un curseur timoré se déplaçant de façon saltatoire entre les objets et de façon continue, comme un curseur classique, à l'intérieur de chaque objet. On peut en fait mettre en oeuvre l'invention en assignant à chaque objet, centrée autour de lui, une zone de sécurité de taille et, dans un espace à au moins deux dimensions, de forme paramétrables indépendamment de la taille et de la forme de l'objet correspondant. Dans cette option, on fait dépendre le basculement entre le contrôle continu et le contrôle discret de Tim, à l'intérieur du mode vectoriel, du franchissement d'une frontière de la zone de sécurité, plutôt que d'une frontière de l'objet proprement dit.
Selon l'invention, lorsque le mouvement du périphérique de contrôle invite le curseur d'écran à quitter l'objet ou la zone de sécurité qui l'abrite alors que, dans la direction empruntée, il n'y a pas d'objet pour le recevoir, Tim rebrousse immédiatement chemin et retourne se réfugier dans l'objet ou la zone de sécurité qu'il allait quitter. Ceci est illustré dans la Figure 2. Au temps t2, Tim atteint le bord externe de la cible CD. Or le mouvement de la souris continue de progresser vers le haut, invitant Tim à s'aventurer dans le vide, au-delà de la cible CD (la trajectoire proposée par la souris est indiquée en pointillés sur la Figure 2), le curseur d'écran reste bloqué sur le bord supérieur de CD, de sorte que l'erreur finale de pointage qui, dans l'exemple illustré, a été commise par l'utilisateur est sans conséquence. Grâce à ce procédé, la tolérance de toute cible située à la périphérie d'un ensemble de cibles devient en pratique infinie, une circonstance de nature à réduire sensiblement la difficulté d'acquisition de ladite cible.
Dans un mode évolué de l'invention, on prend en compte la vitesse du mouvement du curseur timoré afin de déterminer si ledit curseur timoré est ou non véritablement en mouvement. Si l'équipement informatique a déterminé que la vitesse du curseur timoré au sortir de l'objet ou de sa zone de sécurité est inférieure à un certain seuil, alors un mouvement de l'organe de mesure des mouvements (souris par exemple) entraînant une sortie dudit curseur timoré hors d'un objet ne provoque pas de bond vers l'objet suivant.
Dans un mode évolué de l'invention, on prend en compte l'accélération du mouvement du curseur timoré au sortir de l'objet ou de sa zone de sécurité afin de déterminer si ledit curseur timoré est ou non en fin de trajectoire. Un mouvement sera notamment considéré comme en fin de trajectoire si la vitesse du curseur timoré se réduit (c'est à dire si son accélération instantanée est de signe négatif) et si la valeur absolue de cette accélération négative (c'est à dire l'intensité du freinage) est supérieure à un certain seuil. Si l'équipement informatique a déterminé une fin de trajectoire, alors un mouvement de l'organe de mesure des mouvements (souris par exemple) entraînant une sortie du curseur timoré hors d'un objet ne provoque pas de bond vers l'objet suivant.
En ce qui concerne l'amplitude du mouvement, on a vu (Figure 1) que, comme le mode bitmap classique de pointage impose au curseur d'écran de franchir toute la distance qui le sépare initialement de l'objet CD, l'amplitude de déplacement effectif à couvrir avec le curseur sera en moyenne égale à la distance entre le début du déplacement (démarrage du mouvement) et la fin du déplacement (arrêt du mouvement). Ce n'est plus le cas en mode vectoriel de pointage comme le montre la Figure 2 où l'amplitude de déplacement effectif du curseur d'écran est systématiquement inférieure à la distance de déplacement du cas précédent (mode bitmap ), ce qui signifie que, en mode vectoriel, l'amplitude du mouvement à effectuer sur le périphérique de contrôle, comparée à celle que l'on doit couvrir dans le mode bitmap traditionnel, se réduit substantiellement. D'autre part dans le mode vectoriel proposé par l'invention l'existence de phases de bonds dans le déplacement du curseur d'écran fait qu'il n'y a plus de relation proportionnelle directe entre le mouvement de l'organe de mesure de mouvement et le déplacement du curseur d'écran.
En ce qui concerne la tolérance du mouvement, on peut observer que dans le cas du premier mode évolué de l'invention pour un mouvement vers le haut (sans autre objet, cible potentielle, au-delà de CD), la largeur (W) de la cible CD devient fonctionnellement infinie (tout comme le serait la largeur de la cible AB dans un mouvement de retour vers le bas en l'absence d'autre objet vers la bas au-delà de AB), parce que le curseur d'écran en mode vectoriel de pointage ne peut quitter un objet qu'à la condition de pouvoir bondir sur un autre objet dans la direction du mouvement. Ainsi, non seulement le mouvement aura en, mode vectoriel, à parcourir une distance (amplitude) réduite, mais il bénéficiera d'un objet infiniment tolérant à chaque fois que l'objet est situé en périphérie de l'espace. Ces deux propriétés du mode vectoriel concourent l'une et l'autre à faciliter le pointage. Notons que la mise en oeuvre du troisième mode évolué permet dans une certaine mesure d'augmenter la largeur fonctionnelle de la cible et d'améliorer encore plus les performances du pointage pour des objets qui ne sont pas en périphérie.
On voit donc que le mode de pointage vectoriel facilite le pointage de deux manières, à la fois en réduisant l'amplitude (D) à couvrir et en améliorant substantiellement la tolérance du mouvement (W), c'est à dire en jouant simultanément sur le numérateur D et sur le dénominateur W du rapport critique DIW qui, selon la loi de Fitts, détermine la difficulté d'un pointage. Le mode vectoriel de pointage se rapproche, en dernière analyse, à celui d'un pointage bitmap classique qui serait réalisé dans un espace écran entièrement pavé d'objets. Puisque le curseur vectoriel saute tous les vides, tout se passe, du point de vue du mouvement à effectuer, comme si les objets étaient massés les uns contre les autres.
DESCRIPTION DANS UN ESPACE A DEUX DIMENSIONS
On va maintenant décrire l'invention dans le cas d'un espace de travail à deux dimensions d'une interface graphique dans lequel le curseur d'écran peut évoluer. Dans ce cas, l'équipement informatique détermine réellement une direction de mouvement de l'organe de mesure de mouvement (souris dans cet exemple) selon des mesures sur deux axes. Comme précédemment, tant que le curseur d'écran se trouve sur un objet, le déplacement du curseur est en mode bitmap classique, le déplacement du curseur étant proportionnel au mouvement de l'organe de mesure de mouvement (souris dans cet exemple). Par contre, lorsque le mouvement entraîne le curseur à sortir de l'objet, et en fonction d'éventuelle mise en oeuvre d'un mode évolué, le curseur d'écran va bondir sur l'objet suivant le plus proche dans la direction du mouvement et en l'abordant par son bord le plus proche.
A cette fin, l'équipement informatique met en oeuvre un algorithme de contrôle des déplacements de Tim tel que représenté à la Figure 3 et qui évalue à chaque instant, d'une part, les instructions de mouvement qu'il reçoit en provenance d'un périphérique de contrôle et, d'autre part, la cinématique instantanée de Tim à travers le paysage des objets affichés. Cet algorithme, dans le mode de base de l'invention, évalue à chaque instant si le curseur d'écran Tim est ou non dans un objet. Tant que c'est le cas, Tim suit de manière continue, comme un curseur classique, les mouvements du périphérique de contrôle. Dès que l'équipement détecte que le curseur est sorti de l'objet, ne serait-ce que d'un pixel, une détection qui ne doit prendre que quelques millièmes de seconde, il calcule sur les derniers échantillons mémorisés la direction de la trajectoire de sortie que Tim vient d'emprunter et détermine symétriquement de part et d'autre de cette direction un secteur angulaire de recherche dont la valeur d'angle est librement paramétrable (20 par exemple), secteur dans lequel il recherche s'il y a au moins un objet. Dans l'affirmative, l'algorithme détermine quel est l'objet le plus proche au sein de l'ensemble des objets interceptés par le secteur de recherche, et fait sauter Tim sur le bord le plus proche de cet objet. En cas d'absence d'objet dans direction calculée, de préférence le curseur d'écran saute sur l'objet le plus proche, ce qui signifie qu'il retourne dans l'objet d'origine, et reprend, jusqu'à son prochain saut, son fonctionnement continu.
DESCRIPTION DE LA LOGIQUE DE L'INVENTION DANS UN 30 ESPACE A DEUX DIMENSIONS Cet algorithme peut être décrit sous forme classique d'un organigramme. La Figure 3 illustre l'algorithme dans sa version de base, dans un espace à deux dimensions.
Paramétrages du programme de gestion de Tim - La visibilité du curseur système Vis est réglable par un paramètre réel qui varie dans l'intervalle [0, 1] - La visibilité de Tim VTIM est réglable par un paramètre réel qui varie dans l'intervalle [0, 1] - Le minimum, le maximum et le pas incrémental du secteur angulaire de recherche d'objets sont des valeurs réelles réglables librement - On peut régler le nombre d'échantillons N pris en compte pour le calcul de la direction par régression linéaire - On peut régler comme un nombre réel le seuil de vitesse de TIM en dessous duquel TIM est considéré comme stationnaire - On peut régler comme un nombre réel le seuil de freinage de TIM, défini comme le minimum de valeur absolue d'accélération négative à partir duquel on considère que TIM est en train de freiner.
Après basculement en mode vectoriel, le curseur continu, ou curseur système, reste géré de la manière habituelle selon les instructions de la souris, avec les options usuelles du pilote de souris (par exemple, l'accélération ). Le mode vectoriel, en d'autres termes, n'affecte aucunement le lien de couplage entre la souris et le curseur système.
Le mode vectoriel introduit toutefois deux changements concernant le curseur système: - La visibilité du curseur système peut se réduire ou devenir nulle, 25 puisqu'on l'a paramétrée entre 0 et 1 pour l'affichage en mode vectoriel.
- L'interaction habituelle qui unit le curseur système aux objets graphiques disparaît en mode vectoriel: dans ce mode, le curseur système devient inopérant, la sélection des objets étant exclusivement contrôlée au moyen du curseur TIM.
Examinons l'organigramme de la Figure 3, en suivant la séquence des événements. L'entrée se fait par la grosse flèche noire, en haut.
Test MODE: si mode = bitmap , l'algorithme ne fait rien, il laisse faire le système; si mode = vectoriel, alors on rentre dans la série de tests qui conditionne le déplacement de Tim.
Initialisation du décalage en x et en y entre Tim et le curseur système: au moment du basculement initial sur le mode vectoriel, le décalage vaut zéro sur chacun des deux axes, ce qui veut dire que Tim est confondu avec le curseur système, ou superposé sur lui.
Test POS TIM: il s'agit de la position de Tim dans l'espace xy. Si Tim est dans un objet, l'algorithme ne fait rien, il se borne à mettre à jour la position de Tim en même temps que celle de l'autre curseur. Si Tim se trouve au contraire dans le vide, alors on examine comment il se déplace.
Test VIT Tim: il s'agit de la vitesse courante de Tim estimée, au moment du constat que Tim est dans le vide, le long de sa trajectoire courante. Si Tim se déplace trop lentement (VIT<seuil paramétré), alors on n'effectue pas de calcul de direction. On jette Tim sur le bord proximalde l'objet le plus proche, sans considération de direction. Tim ne peut donc jamais stationner dans le vide. Si Tim se déplace assez vite (VIT ≥ seuil paramétré), alors on regarde s'il ne serait pas en train de freiner.
Test FREINAGE Tim: il s'agit de l'accélération courante de Tim, estimée dans la direction de son déplacement en cours. Si Tim se trouve dans le vide et se déplace suffisamment vite, mais se trouve en train de freiner plus qu'un seuil de freinage paramétrable, on cesse le calcul de direction et on déplace Tim sur l'objet le plus proche. Si l'accélération de TIM n'est pas à la fois négative et supérieure en valeur absolue au seuil paramétré, on calcule la direction de son déplacement. Ce test permet d'éviter qu'un simple dépassement accidentel de cible (associé probablement à un freinage qui se prolonge au delà de l'objet cible) ne provoque un saut sur l'objet suivant, s'il y en a un dans la direction courante.
Test OBJET TROUVE. Si le secteur de recherche échoue à identifier au moins une cible, on fait sauter Tim sur l'objet le plus proche, sans considération de direction. Si au moins une cible a été identifiée, on fait sauter Tim sur le bord proximal de celui des objets qui est le plus proche.
Routine recherche directionnelle Une fois que Tim a été détecté comme étant dans le vide, en mouvement et sans freinage notable, on calcule la direction courante de son déplacement par régression linéaire effectuée sur la série temporelle de ses N dernières coordonnées xy mémorisées par le programme, la position ultime (dans le vide, celle qui a déclenché l'algorithme de calcul de la direction) constituant pour ce calcul le dernier échantillon de coordonnées.
L'algorithme calcule autour de la direction de Tim un secteur angulaire. La recherche commence avec, comme largeur de secteur angulaire initial, le minimum paramétré. Si ce secteur angulaire n'intercepte rien, on élargit le secteur d'un pas incrémental paramétré, jusqu'au maximum paramétré.
Notons que l'étendue du secteur angulaire de recherche peut être une valeur prédéfinie une fois pour toute (par exemple 5 ) ou elle peut être le résultat d'une fonction de paramétrisation. Cette fonction de paramétrisation peut, par exemple, être basée sur le fait qu'aucun nouvel objet (objet suivant) n'est trouvé dans le secteur angulaire initial et la fonction produit une valeur d'angle supérieure pour effectuer une nouvelle recherche d'objet jusqu'à une limite prédéterminée de valeur d'angle. Ainsi, on pourra passer par exemple d'une recherche d'objet suivant dans un secteur de 5 à un secteur de 10 puis de 15 , etc. jusqu'à trouver cet objet suivant ou s'arrêter à une limite prédéterminée.
Cette fonction de paramétrisation peut, par exemple, être basée sur le calcul d'un écart type (ou variance) d'un ensemble de directions calculées précédemment (un écart type élevé indiquant une incertitude importante sur la direction ou un changement de direction) et/ou basée sur la vitesse du mouvement.
Dans la description précédente concernant le secteur angulaire de recherche d'un objet suivant dans la direction du mouvement, on a considéré un espace graphique à deux dimensions (voire à une seule dans le cas ou un écran comporterait plusieurs espaces à une dimension, le curseur pouvant alors éventuellement passer d'un espace à l'autre). Cependant, l'invention étant applicable à des espaces graphiques de dimension trois (volume) ou plus (hypervolume), le secteur angulaire devient alors un angle solide ou un hyperangle solide.
De préférence, on rend visible le curseur bitmap et/ou Tim sur l'écran. Toutefois, dans certaines variantes on peut ne rendre visible sur l'écran que le curseur en mouvement ou seulement lorsqu'il est immobile (notamment en dehors d'un objet).
Les objets que l'on peut trouver dans l'interface graphique sont de divers types, notamment icônes, menus, liens hypertexte... et leurs comportement peut différer lorsqu'un curseur les atteint, par exemple mise en surbrillance d'icône, expansion/déroulement d'un menu, activation du lien... De préférence, l'objet sur lequel le curseur (visible ou non) est situé, est rendu plus visible ou activé, notamment par mise en surbrillance et/ou par apparition d'un (sous) menu dans le cas où le curseur serait situé un certain temps sur le même objet.
On peut signaler que dans le cas de pointage discret sur un écran d'ordinateur, tout comme d'ailleurs dans l'espace ordinaire, le mouvement du curseur est systématiquement précédé par une saccade oculaire vers la cible choisie. Typiquement, l'oeil se fixe sur la cible choisie 0.2 à 0.3 secondes avant d'être rejoint par le curseur. Dès lors, en mode vectoriel, lors de chaque bond du curseur d'écran, la surbrillance ne fait rien d'autre que rejoindre le point de fixation du regard. L'utilisateur suit donc sans difficulté à travers l'écran la course rapide, saltatoire, d'une surbrillance qui ne peut que converger vers le centre de son champ visuel.
Finalement, pour un utilisateur d'un équipement informatique avec une interface graphique en mode vectoriel, le curseur d'écran, en même temps que la surbrillance qui marque l'objet sur lequel le curseur d'écran se trouve, saute d'objet en objet en franchissant instantanément les vides. La théorie prédit que le nouveau mode vectoriel facilite d'autant plus les acquisitions d'objets que les pointages exigés par l'interface sont plus difficiles, ce que confirment les mesures expérimentales.
Le curseur timoré de l'invention utilise donc un mode vectoriel pour ses déplacements. Cependant, l'équipement informatique qui met en oeuvre ce curseur d'écran comporte de préférence également des moyens permettant, à la demande ou en fonction d'un contexte prédéterminé (par exemple après une sélection en mode vectoriel d'une image, passage en mode classique pour traitement de l'image), d'utiliser le mode classique bitmap (quasi continu) de déplacement du curseur d'écran et inversement. De préférence, ce passage d'un mode bitmap à un mode vectoriel et inversement s'effectue par une manipulation simple du périphérique de contrôle afin que toutes les opérations sur l'équipement puisse se faire sans avoir à lâcher ledit périphérique de contrôle. En effet, dans une fenêtre typique d'application, comme MS-Word , par exemple, un utilisateur peut avoir occasionnellement besoin d'effectuer des pointages de pixels dans le corps du document par exemple pour sélectionner des caractères ou des éléments de petite taille au sein d'un dessin complexe. Dans d'autres séries d'actions, il devra effectuer de longues séries de sélection d'objets, qui justifie le mode vectoriel.
Par exemple, pour personnaliser sa barre d'outils dans MS-Word , il va devoir enchaîner un grand nombre de clicks sur des éléments de menu, de l'ordre de la dizaine.

Claims (1)

  1. 31 REVENDICATIONS
    1. Procédé de contrôle de la sélection d'objets dans une interface visuelle humain-machine informatisée, au moyen d'un curseur capable de parcourir un espace de représentation contenant des objets sélectionnables, ledit curseur étant contrôlé par un périphérique d'entrée analogique, notamment une souris ou un gant numérique, les objets sélectionnables étant notamment des éléments de menus, des icônes ou des objets virtuels, ledit curseur, dit curseur continu, pouvant se déplacer de manière continue, selon le mode graphique bitmap usuel, dans l'espace de représentation caractérisé en ce que, dans un mode dit vectoriel, - le contrôle de la sélection s'opère au moyen d'un second curseur, 15 dit curseur timoré, le curseur continu devenant alors inopérant pour la sélection d'objets, - le curseur timoré se déplace en sautant directement d'objet sélectionnable en objet sélectionnable en enjambant instantanément les zones de l'espace de représentation non occupées par des objets sélectionnables, dites zones vides, - à l'intérieur des objets sélectionnables, toutefois, le curseur timoré se déplace de manière continue, à la manière d'un curseur usuel, et parallèlement au curseur continu, et en ce que, dès que le curseur timoré, au sortir d'un objet sélectionnable donné, dit objet d'origine, s'engage dans une zone vide, ledit curseur timoré saute sur l'un des objets sélectionnables, la cible du saut étant soit la frontière la plus proche de l'objet sélectionnable le plus proche dudit objet d'origine dans la direction empruntée par le curseur timoré au moment où il s'engage dans une zone vide, soit la frontière de l'objet d'origine si aucun objet sélectionnable ne figure dans ladite direction.
    2. Procédé selon la revendication 1, caractérisé en ce que, en mode vectoriel, la cible du saut est identifiée par l'analyse de la cinématique courante du curseur timoré au moment où il s'engage dans une zone vide, un algorithme d'analyse, déclenché dès que l'équipement informatique constate que le curseur timoré s'est engagé dans un espace vide, calculant, notamment par régression linéaire dans un espace à au moins deux dimensions, la direction courante du déplacement du curseur timoré ou, dans un espace à une dimension, le sens du déplacement du curseur timoré, dans tous les cas sur la base de la série temporelle mémorisée des dernière positions qu'a occupées ledit curseur timoré juste avant qu'il ne sorte de l'objet qui l'abritait, l'ultime position prise en considération pour le calcul étant chronologiquement celle qui a déclenché l'algorithme parce qu'elle a été la première position à être enregistrée dans une zone vide.
    3. Procédé selon les revendications 1 et 2 caractérisé en ce que, dans un espace à au moins deux dimensions, l'algorithme identifie l'objet sélectionnable vers lequel le curseur timoré doit sauter en calculant une marge de tolérance paramétrable, ladite marge de tolérance pouvant notamment prendre la valeur limite zéro, ladite marge de tolérance étant centrée autour de la direction définie par le mouvement du curseur timoré au moment où il s'est engagé dans le vide, et pouvant notamment revêtir la forme d'un secteur angulaire dans l'espace à deux dimensions ou d'un angle solide dans l'espace à trois dimensions, l'algorithme utilisant le secteur angulaire ou l'angle solide ainsi défini pour déterminer si, dans la direction empruntée par le curseur timoré, ladite direction étant définie avec ladite marge de tolérance, il y a au moins un objet sélectionnable.
    4. Procédé selon la revendication 3, caractérisé en ce que la marge de tolérance définie en mode vectoriel autour de la direction définie par le mouvement du curseur timoré est paramétrable quant à sa valeur minimale, sa valeur maximale et la valeur de son pas incrémental.
    5. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que, en mode vectoriel, la visibilité du curseur timoré et du curseur continu de type bitmap est paramétrable, indépendamment l'un de l'autre, entre un minimum correspondant au cas d'un curseur totalement invisible et un maximum correspondant au cas d'un curseur parfaitement visible, toute valeur intermédiaire correspondant à un niveau de visibilité intermédiaire.
    6. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que, lorsqu'il n'y a pas d'objet sélectionnable dans la direction empruntée par le curseur timoré au moment où il s'engage dans le vide, ladite direction étant assortie de sa marge de tolérance, alors le curseur timoré retourne à l'objet d'origine qu'il était en train de quitter et, de préférence, au point de la frontière dudit objet d'origine qu'il vient de traverser en s'engageant dans le vide.
    7. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que l'arrivée du curseur timoré dans un objet sélectionnable cause au moins une réaction du dit objet sélectionnable choisie parmi au moins une mise en sur-brillance, un déroulement de menu, une exécution d'un programme.
    8. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que le saut du curseur timoré vers un autre objet sélectionnable dépend en outre de la vitesse courante dudit curseur timoré, cette vitesse étant estimée dans la direction courante de son déplacement au moment où il s'engage dans le vide, ledit curseur timoré retournant à son point de départ, au bord de l'objet sélectionnable d'origine, si sa vitesse courante est inférieure en valeur absolue à un seuil paramétrable.
    9. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que le déclenchement du saut du curseur timoré vers un autre objet sélectionnable dépend en outre de l'accélération courante dudit curseur timoré, cette accélération étant estimée dans la direction courante du déplacement du curseur timoré au moment où il s'engage dans le vide, ledit curseur timoré retournant à son point de départ, au bord de l'objet sélectionnable d'origine, si son accélération courante est négative et supérieure en valeur absolue à un seuil paramétrable.
    10. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ceci que le contrôle de la sélection d'objets dans l'équipement informatique peut basculer du mode bitmap au mode vectoriel par action d'un programme fonctionnant dans l'équipement ou par action d'un opérateur de l'équipement.
    11. Procédé selon la revendication 10, caractérisé en ceci que si, au moment où l'on bascule en mode de contrôle vectoriel, le curseur timoré se trouve dans le vide et si aucun objet cible ne peut être à ce moment identifiée, notamment parce que le curseur timoré est stationnaire ou qu'il est en train de se diriger vers une zone vide, alors le curseur timoré saute sur l'objet le plus proche de lui, sans aucune considération de direction.
    12. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce qu'on associe à chaque objet sélectionnable une zone de sécurité centrée sur ledit objet, le saut du curseur timoré s'effectuant entre les zones de sécurité des objets sélectionnables, et l'identification de la cible des sauts s'effectuant à la sortie desdites zones de sécurité.
    13. Procédé selon la revendication 12, caractérisé en ce que la forme et la taille de chaque zone de sécurité sont paramétrables, ladite zone de sécurité pouvant être de forme identique ou différente de l'objet correspondant et de taille inférieure, égale ou supérieure à la taille de l'objet correspondant.
    14. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que l'espace dans lequel s'opère le déplacement du curseur est à au moins une dimension, et notamment, dans le cas d'une dimension, l'objet et son éventuelle zone de sécurité représentant des intervalles, dans le cas de deux dimensions, des surfaces, dans le cas de trois dimensions des volumes.
    15. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que, en mode vectoriel et dans un espace à au moins deux dimensions, si aucun objet sélectionnable ne se trouve dans la direction que le curseur timoré est en train d'emprunter, alors l'algorithme de recherche accroît sa marge de tolérance, dans un espace à deux dimensions en élargissant le secteur angulaire, dans un espace à trois dimensions en élargissant l'angle solide, ledit élargissement progressant d'un pas incrémentai paramétré, jusqu'à trouver un objet sélectionnable, ou s'arrêter si aucun objet sélectionnable n'a été identifié dans la direction du mouvement du curseur timoré alors que la marge de tolérance a atteint une valeur maximale paramétrée.
    16. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que, dans une interface homme-machine auditive plutôt que visuelle destinée notamment aux handicapés de la vision, un mode vectoriel de contrôle des déplacements d'un curseur timoré dans l'espace de travail au moyen d'un périphérique de contrôle analogique, tel qu'une souris, un joystick ou un gant numérique, permet de contrôler la sélection d'objets sélectionnables dans un espace acoustique, les objets sélectionnables étant représentés comme autant de sources acoustique disposées autour de l'utilisateur par un procédé, stéréophonique, quadriphonique ou autre, permettant la spatialisation audible d'un ensemble de sources sonores dans l'espace virtuel ou réel, et revêtant la forme de sources acoustiques émettant chacune un son continu singulier et identifiable, comme par exemple l'écoulement d'un liquide ou un ronronnement de moteur, et caractérisé en ce qu'un curseur timoré acoustique, signalé de manière permanente par un son spécifique propre à en permettre l'identification, tel que le bourdonnement d'une abeille, saute d'objet sélectionnable en objet sélectionnable en enjambant les espace vides de l'espace acoustique, le saut sur un objet sélectionnable provoquant au moins une réaction dudit objet sélectionnable, notamment une augmentation du volume sonore de l'objet sélectionné ou un déclenchement de programme.
    17. Dispositif à type d'équipement informatique comportant des moyens permettant de contrôler la sélection d'objets dans une interface visuelle humain-machine informatisée, au moyen d'un curseur capable de parcourir un espace de représentation contenant des objets sélectionnables, ledit curseur étant contrôlé par un périphérique d'entrée analogique, notamment une souris ou un gant numérique, les objets sélectionnables étant notamment des éléments de menus, des icônes ou des objets virtuels, ledit curseur, dit curseur continu, pouvant se déplacer de manière continue, selon le mode graphique bitmap usuel, dans l'espace de représentation, caractérisé en ce que ledit dispositif comporte des moyens permettant la mise en oeuvre du procédé de l'une quelconque des revendications précédentes dans lequel dans un mode dit vectoriel, - le contrôle de la sélection s'opère au moyen d'un second curseur, dit curseur timoré, le curseur continu devenant alors inopérant pour la sélection d'objets, - le curseur timoré se déplace en sautant directement d'objet sélectionnable en objet sélectionnable en enjambant instantanément les zones de l'espace de représentation non occupées par des objets sélectionnables, dites zones vides, - à l'intérieur des objets sélectionnables, toutefois, le curseur timoré se déplace de manière continue, à la manière d'un curseur usuel, et parallèlement au curseur continu, et en ce que, dès que le curseur timoré, au sortir d'un objet sélectionnable donné, dit objet d'origine, s'engage dans une zone vide, ledit curseur timoré saute sur l'un des objets sélectionnables, la cible du saut étant soit la frontière la plus proche de l'objet sélectionnable le plus proche dudit objet d'origine dans la direction empruntée par le curseur timoré au moment où il s'engage dans une zone vide, soit la frontière de l'objet d'origine si aucun objet sélectionnable ne figure dans ladite direction.
    18. Support informatique comportant un programme de fonctionnement d'un équipement informatique selon le procédé de l'une quelconque des revendications 1 à 16 de contrôle de la sélection d'objets dans une interface visuelle humain-machine informatisée.
FR0350660A 2003-10-08 2003-10-08 Procede et dispositif de controle discret de la selection des objets dans un espace graphique d'une interface visuelle d'ordinateur, support informatique Pending FR2860890A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR0350660A FR2860890A1 (fr) 2003-10-08 2003-10-08 Procede et dispositif de controle discret de la selection des objets dans un espace graphique d'une interface visuelle d'ordinateur, support informatique

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0350660A FR2860890A1 (fr) 2003-10-08 2003-10-08 Procede et dispositif de controle discret de la selection des objets dans un espace graphique d'une interface visuelle d'ordinateur, support informatique

Publications (1)

Publication Number Publication Date
FR2860890A1 true FR2860890A1 (fr) 2005-04-15

Family

ID=34355512

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0350660A Pending FR2860890A1 (fr) 2003-10-08 2003-10-08 Procede et dispositif de controle discret de la selection des objets dans un espace graphique d'une interface visuelle d'ordinateur, support informatique

Country Status (1)

Country Link
FR (1) FR2860890A1 (fr)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4742473A (en) * 1985-07-16 1988-05-03 Shugar Joel K Finite element modeling system
US4812829A (en) * 1986-05-17 1989-03-14 Hitachi, Ltd. Three-dimensional display device and method for pointing displayed three-dimensional image
WO1993022758A1 (fr) * 1992-05-07 1993-11-11 Kensington Microware Limited Procede et appareil pour le positionnement d'un curseur
US5293529A (en) * 1991-03-12 1994-03-08 Matsushita Electric Industrial Co., Ltd. Three-dimensional information handling system
US5298890A (en) * 1990-04-11 1994-03-29 Oki Electric Industry Co., Ltd. Discontinuous movement system and method for mouse cursor
EP0671682A2 (fr) * 1994-03-10 1995-09-13 Microsoft Corporation Dispositif et méthode de positionnement automatique d'un curseur sur une zone de contrôle
US5870079A (en) * 1996-11-12 1999-02-09 Legaltech, Inc. Computer input device and controller therefor
US5990862A (en) * 1995-09-18 1999-11-23 Lewis; Stephen H Method for efficient input device selection of onscreen objects

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4742473A (en) * 1985-07-16 1988-05-03 Shugar Joel K Finite element modeling system
US4812829A (en) * 1986-05-17 1989-03-14 Hitachi, Ltd. Three-dimensional display device and method for pointing displayed three-dimensional image
US5298890A (en) * 1990-04-11 1994-03-29 Oki Electric Industry Co., Ltd. Discontinuous movement system and method for mouse cursor
US5293529A (en) * 1991-03-12 1994-03-08 Matsushita Electric Industrial Co., Ltd. Three-dimensional information handling system
WO1993022758A1 (fr) * 1992-05-07 1993-11-11 Kensington Microware Limited Procede et appareil pour le positionnement d'un curseur
EP0671682A2 (fr) * 1994-03-10 1995-09-13 Microsoft Corporation Dispositif et méthode de positionnement automatique d'un curseur sur une zone de contrôle
US5990862A (en) * 1995-09-18 1999-11-23 Lewis; Stephen H Method for efficient input device selection of onscreen objects
US5870079A (en) * 1996-11-12 1999-02-09 Legaltech, Inc. Computer input device and controller therefor

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"MOUSE-POINTING ASSISTING PROGRAM", IBM TECHNICAL DISCLOSURE BULLETIN, IBM CORP. NEW YORK, US, vol. 37, no. 5, 1 May 1994 (1994-05-01), pages 431, XP000453211, ISSN: 0018-8689 *

Similar Documents

Publication Publication Date Title
US11816303B2 (en) Device, method, and graphical user interface for navigating media content
JP6952877B2 (ja) 拡張現実環境及び仮想現実環境と相互作用するためのシステム、方法、及びグラフィカルユーザインタフェース
NL2019753B1 (en) User interface for receiving user input
DK179932B1 (en) DEVICES, METHODS, AND GRAPHICAL USER INTERFACES FOR NAVIGATING, DISPLAYING, AND EDITING MEDIA ITEMS WITH MULTIPLE DISPLAY MODES
US9697820B2 (en) Unit-selection text-to-speech synthesis using concatenation-sensitive neural networks
KR102174225B1 (ko) 사용자 인터페이스들 사이에 내비게이팅하기 위한 디바이스 및 방법
TWI532976B (zh) 用於產生用於在車輛之互動式通信系統上顯示之多個使用者介面之行動器件及其相關方法及機器可讀媒體
EP3126952B1 (fr) Dispositif d&#39;entrée et interactions d&#39;interface utilisateur
TWI524210B (zh) 基於自然姿勢之使用者介面方法及系統
JP2020013585A (ja) 回転可能入力機構を用いたユーザインタフェース
EP2778885B1 (fr) Procédé de traitement d&#39;un geste composé, dispositif et terminal d&#39;utilisateur associés
WO2016036436A1 (fr) Interfaces utilisateur de chronomètre et de temporisateur
EP1725927A2 (fr) Procede de zoomage incrementiel en temps reel
AU2023100080B4 (en) User interfaces for viewing and refining the current location of an electronic device
WO2016036769A2 (fr) Communication de données d&#39;application de cartographie entre des dispositifs électroniques
TWI515412B (zh) 電子裝置、提供導航指引的語音啟動方法、提供導航指引的方法及機器可讀取媒體
AU2020201629A1 (en) Devices, methods, and graphical user interfaces for navigating, displaying, and editing media items with multiple display modes
EP4327293A1 (fr) Systèmes, procédés et interfaces utilisateur graphiques pour ajouter des effets dans des environnements de réalité augmentée
FR2860890A1 (fr) Procede et dispositif de controle discret de la selection des objets dans un espace graphique d&#39;une interface visuelle d&#39;ordinateur, support informatique
JP2009282936A (ja) 選択式情報提示装置および選択式情報提示処理プログラム
WO2015082817A1 (fr) Procédé de commande de l&#39;interaction avec un écran tactile et équipement mettant en oeuvre ce procédé
US20240045572A1 (en) Device, method, and graphical user interface for navigating media content