Brevet FR2929725A1 — publié le 20091009

L'invention apporte une solution pour piloter une application logicielle avec un périphérique de pointage spécifique, tel qu'une souris à six axes, lorsque cette application logicielle ne prend pas en charge ce périphérique spécifique. ARRIERE PLAN DE L'INVENTION L'invention concerne l'utilisation d'un périphérique tel que la souris à six axes décrite dans les docu- ments de brevet FR2858072 et FR2881238. Cette souris comporte un boîtier mobile en translation dans un plan selon deux axes perpendiculaires, comme les souris standard. Mais ce boîtier est aussi mobile en rotation autour de ces deux axes et autour d'un troisième axe perpendicu- laire à ceux-ci. Ce boîtier est encore pourvu d'une molette qui constitue son sixième axe de déplacement. Cette souris est destinée à la manipulation d'objets virtuels numériques tridimensionnels, présentés par une application logicielle, telle qu'une application de conception assistée par ordinateur. La souris peut par exemple piloter l'application de manière à être couplée à un objet tridimensionnel sélectionné par l'utilisateur. Dans ce cas, les mouvements que l'utilisateur impose au boîtier de la souris ainsi que l'actionnement de la molette, se traduisent par des déplacements correspondants de l'objet qu'il manipule. Cette souris peut aussi être utilisée pour se dé-placer dans un espace tridimensionnel numérique. Les mouvements du boîtier se traduisent alors par des déplace- ments et modifications de l'orientation du point de vue depuis lequel cet espace tridimensionnel est présenté par l'application. Avec tout périphérique de pointage, la présence d'un pilote ou "driver" dans le système d'exploitation de l'ordinateur est nécessaire pour mettre en forme les don- nées brutes délivrées par le périphérique lorsqu'il est déplacé. S'il s'agit d'une souris standard, à deux axes de translation, la grande majorité des applications logi- cielles existantes sont capables d'interpréter directe- ment les données mises en forme par le pilote de cette souris. Dans le cas d'un périphérique spécifique tel qu'une souris à six axes de mobilité, la présence du pi- lote est en soi insuffisante pour piloter une application donnée en exploitant chaque axe de mobilité. En effet, les périphériques de pointage comportant plus de deux ou trois axes de déplacement, tels que la souris à six axes, sont relativement peu courants. Il existe certes un standard de mise en forme des données délivrées par les pilotes de tels périphériques, connu sous l'acronyme HID-CMA, correspondant à "Human Interface Device Controler Multi Axes". Mais il s'avère que ce standard n'est pas implé- menté, ni dans les systèmes d'exploitation actuels, ni dans les applications actuelles. Ainsi, en pratique il n'existe pas de standard:idat_Lon utilisable quant à la forme des données délivrées par le pilote permettant d'en faire des instructions directement interprétables par toute application. C'est pourquoi piloter une application avec une souris à six. axes nécessite que la prise en charge de cette souris ait été prévue lors de la conception et de l'écriture de cette application. L'application peut aussi être conçue pour recevoir un composant logiciel supplémentaire dédié, appelé "plugin", et assurant le couplage du pilote du périphérique spécifique avec cette application. Dans ce cas, l'utilisateur doit se procurer le composant logiciel approprié, qui doit avoir été dévelop- pé spécialement pour le périphérique spécifique et pour l'application considérés. Mais lorsqu'un tel composant n'existe pas, l'utilisateur ne peut simplement pas utiliser son périphérique spécifique avec son application. En d'autres termes, pour qu'un tel périphérique spécifique tel qu'une souris à six axes puisse être commercialisé de façon viable, il est nécessaire de le fournir avec autant de plugins qu'il existe d'applications susceptibles d'être pilotées. Compte tenu de la grande quantité d'applications tridimensionnelles et de leurs mises à jour très fréquentes, il est extrêmement coûteux de développer et de tenir à jour une quantité de plugins suffisante pour offrir une compatibilité réelle avec la majorité des applications existantes. OBJET DE L'INVENTION Le but de l'invention est de proposer une solution pour remédier aux inconvénients ci-dessus. RESUME DE L'INVENTION A cet effet, l'invention a pour objet un procédé pour piloter, à partir d'instructions spécifiques représentatives de mouvements d'un périphérique spécifique de pointage tel qu'une souris à six axes de déplacements et issues de ce périphérique spécifique, une application lo- gicielle exécutée par un ordinateur, cette application étant pilotable avec des instructions dites interprétables issues d'un périphérique de saisie tel qu'un clavier alphanumérique, dans lequel les instructions spécifiques sont converties en temps réel en des instructions compor- tant des instructions interprétables du type de celles issues du périphérique de saisie, en appliquant un jeu de règles de conversion mémorisées dans l'ordinateur. Avec cette solution, les instructions issues du pilote du périphérique de pointage spécifique qui n'est pas pris en charge par cette application, peuvent être converties en des instructions du même type ou du même format que celles qui lui. sont adressées lorsqu'elle est pilotée au moyen de raccourcis clavier adressés depuis un périphérique de saisie qu'elle prend en charge. Le péri- phérique de pointage spécifique peut ainsi piloter une application qui ne le prend a priori pas en charge. La conversion est. assurée en appliquant des règles de conversion enregistrées dans une mé;noire non volatile de l'ordinateur, telle que son disque dur. Du fait qu'elles sont mémorisées dans l'ordinateur, ces règles de conversion peuvent facilement être modulées ou modifiées. Lorsqu'on choisit de piloter une application donnée, des règles de conversion correspondant à cette application pour pouvoir la piloter peuvent facilement être enregis- trées dans l'ordinateur. L'invention concerne un procédé tel que défini ci-dessus, dans lequel les instructions spécifiques converties qui sont adressées à l'application comportent des instructions interprétables du même type que les ins- tructions adressées à cette application lorsqu'elle est pilotée depuis un périphérique de pointage. Les instructions converties peuvent ainsi avoir la même forme que des instructions issues d'un autre périphérique de pointage délivrant des données représenta- tives de ses déplacements. Les instructions adressées à l'application sont alors directement représentatives d'amplitudes de déplacements. Ceci réduit la quantité de données à convertir et à transférer afin de diminuer le temps de latence de l'émulation pour en améliorer la fluidité. Ce temps de latence peut encore être réduit en exploitant les axes couplés que l'application est capable de prendre en charge lorsqu'elle prend en charge un périphérique du type périphérique de pointage. L'invention concerne un procédé tel que défini ci-dessus, dans lequel les instructions spécifiques converties qui sont adressées à l'application comportent des instructions interprétables du même type que les ins- trustions adressées à cette application lorsqu'elle est pilotée depuis une souris à deux axes de déplacements. Avec cette solution, le procédé est applicable à toute application prenant en charge les souris à deux axes, ce qui est le cas la majorité des applications. Mais de plus, l'émulation offre ainsi une très bonne fluidité sur au moins les deux axes de mouvements correspondant à cette souris. L'invention a également pour objet un procédé tel que défini ci-dessus, dans lequel les instructions spéci- fiques converties qui sont adressées à l'application comportent des instructions interprétables du même type que les instructions interprétables adressées à cette application lorsqu'elle est pilotée depuis un clavier alphanumérique. Les instructions converties peuvent ainsi avoir la forme des instructions issues de raccourcis clavier qui sont prévus dans la très grande majorité des applications, ce qui étend encore son champ d'application. Avantageusement, les instructions converties corn- prennent des instructions du même type que celles issues d'un périphérique de pointage, complétées par des instructions du même type que celles issues d'un périphérique de saisie tel qu'un clavier. Le procédé est ainsi notamment adapté à toute ap- plication prenant en charge un clavier et une souris à deux axes. Mais il apporte un niveau de fluidité élevé en exploitant la plus grande quantité possible d'instruc- tions issues du périphérique de pointage. L'invention a également pour objet un procédé tel que défini ci-dessus, dans lequel la conversion est assurée avec un jeu de règles de conversion mémorisé dans une base de données enregistrée dans l'ordinateur et compor- tant plusieurs jeux de règles de conversion associés chacun à une application à piloter. L'invention a également pour objet un procédé tel que défini ci-dessus, dans lequel la conversion est assurée en appliquant un jeu de règles de conversion sélec- tionné pour correspondre à l'application logicielle active, et dans lequel le basculement d'une application active vers une autre application active provoque la sélection d'un autre jeu de règles de conversion associé à cette autre application active pour effectuer la conver- Sion. Les règles de conversion étant sélectionnées en fonction de l'application active, plusieurs applications ne prenant pas en charge le périphérique de pointage spécifique peuvent être pilotées par celui-ci, de façon transparente pour l'utilisateur puisque les règles de conversion utilisées sont les règles propres à l'application qui est active. En particulier, l'utilisateur peut basculer d'une application logicielle active vers l'interface graphique du système d'exploitation et réciproquement, de manière complètement transparente. L'invention a également pour objet un procédé tel que défini ci-dessus, dans lequel chaque jeu de règles de conversion comporte une règle de conversion associée à chaque axe de déplacement du périphérique de pointage spécifique. L'invention a également pour objet un procédé tel que défini ci-dessus, dans lequel chaque règle de conversion comporte une instruction élémentaire interprétable associée à au moins un axe de déplacement du périphérique de pointage spécifique. L'invention a également pour objet un procédé tel que défini ci-dessus, dans lequel au moins une règle de conversion est mémorisée dans l'ordinateur après avoir été établie en exécutant un procédé d'apprentissage comportant une première étape de sélection d'un axe de dé-placement du périphérique de pointage spécifique, une seconde étape de pilotage de l'application depuis un péri- phérique qu'elle prend en charge pour exécuter une fonction à associer à cet axe de déplacement et durant la-quelle les instructions interprétables issues du périphérique pris en charge sont capturées, et une troisième étape de détermination de la règle de conversion par dif- férentiation des instructions capturées. BREVE DESCRIPTION DES FIGURES - la figure 1 est. un schéma bloc représentatif du procédé de pilotage selon :L'invention ; - la figure 2 est un schéma bloc montrant les étapes d'une opération de traduction du procédé selon l'invention. DESCRIPTION DETAILLEE DE L'INVENTION L'idée à la base de l'invention est d'émuler le pilotage d'une application donnée par un périphérique de pointage spécifique, qui est ici une souris à six axes, en utilisant les modes de pilotage de cette application via les raccourcis clavier de cette application et éventuellement via une souris standard. Les déplacements de la souris à six axes sont convertis en temps réel en des instructions interprétables par l'application active, c'est à dire en des instructions du même type et du même format que celles adressées à cette application lorsqu'elle est pilotée via une souris standard et/ou via ses raccourcis clavier. La conversion est assurée en appliquant des règles de conversion d'un jeu de règles de conversion associé à l'application active. Ces règles sont mémorisées dans une base de données enregistrée dans une mémoire non volatile de l'ordinateur exploitant l'application et au-quel est reliée la souris destinée à piloter cette application. Lors du basculement d'une application active vers une autre application active, le jeu de règles de conver- sion est actualisé pour utiliser le jeu de règles de conversion propre à cette autre application active, qui est également mémorisé dans la base de données. La base de données peut être fournie prérenseignée, mais elle peut aussi être renseignée par l'utilisa- teur, en exécutant une routine d'apprentissage guidée pour établir et mémoriser dans cette base de données, les règles de conversion à associer à une application donnée. Par exemple, il est courant dans les applications logicielles tridimensionnelles que le raccourci clavier consistant à enfoncer les touches "Ctrl" et "Flèche Haute" pilote la fonction de rotation autour d'un axe horizontal d'un objet tridimensionnel présenté par cette application. Dans ce cas, les données brutes délivrées par le périphérique lorsqu'il tourne autour de son axe horizontal sont converties en des instructions du même type que celles adressées à l'application lorsque les touches "Ctrl" et "Flèche Haute" sont enfoncées, qui constituent des instructions interprétables par cette application. Lorsque l'utilisateur bascule vers une nouvelle application active, l'émulation prend en compte cette modification pour utiliser les règles de conversion propres à la nouvelle application active. Ainsi, lorsque l'application active nécessite d'enfoncer les touches "Ait" et "Flèche Haute", au lieu de "Ctrl" et "Flèche Haute" pour faire pivoter l'objet autour d'un axe horizontal, les données du périphérique spécifique pivotant autour de son axe horizontal sont converties en des instructions du même type que celles adressées à l'application lorsque les touches "Ait" et "Flèche Haute" sont enfoncées, ces dernières constituant des instructions interprétables par la nouvelle application active. La détermination de l'application active néces- saire à l'activation du jeu règles de conversion adéquat est par exemple effectuée à partir d'un registre tenu à jour par le système d'exploitation, et dans lequel est mémorisée une désignation. de l'application couramment active. Cette application active peut être une application tridimensionnelle, un jeu vidéo ou autre. Mais cette application active peut également être l'interface graphique du système d'exploitation, ce qui permet alors à l'utilisateur de basculer d'une application tridimension- nelle vers le système d'exploitation, pour y commander l'ouverture d'un fichier par cette application, sans de-voir manipuler deux périphériques de pointage distincts. Le procédé est ici présenté dans le cadre de l'utilisation d'un périphérique de pointage spécifique qui est une souris comportant une base et un boîtier mobile par rapport à cette base selon six axes. Mais il s'applique à une multitude de périphérique de pointage spécifiques, en particulier à ceux pré-sentant au moins trois axes de déplacement, et à ceux présentant au moins quatre axes de déplacements. Ce procédé s'applique ainsi aussi bien à une sou-ris à six axes dépourvue de base fixe et délivrant des données représentatives de déplacements selon ces six axes. Il s'applique également au cas d'une télécommande ou pointeur relié sans fil à l'ordinateur, du type wiimote, un tel pointeur étant mobile dans l'espace tridimensionnel et délivrant des données représentatives de ses déplacements et rotations dans cet espace. Le périphérique spécifique de pointage représenté schématiquement par le bloc 1 dans la figure 1 est une souris tridimensionnelle, comportant par exemple une base fixe et un boîtier mobile par rapport à cette base selon six axes, et qui délivre des données représentative de ses déplacements selon ces six axes. Elle peut être déplacée dans un plan selon deux axes x et y perpendiculaires, dits axes de translation standard, et elle comporte une molette pouvant être asso- ciée à une fonction de translation selon un troisième axe z perpendiculaire aux deux premiers. Elle est également apte à détecter et transmettre des informations représentatives de mouvements de rotation de son boîtier autour chacun de ces trois axes. Lorsque l'utilisateur manipule cette souris, elle transmet des données représentatives des déplacements qu'elle subit, qui sont éventuellement mises en forme par un pilote avant d'être adressées au bloc 2 constituant l'interface de l'émulateur. Chaque transmission comporte des instructions spécifiques se présentant sous la forme d'un ensemble de données représentatives du déplacement qu'a subi la souris sur ses six axes, depuis la dernière transmission. Comme visible dans le schéma bloc de la figure 1, les données délivrées au bloc 2 sont décomposées par un séquenceur 3 en des déplacements élémentaires, qui sont ensuite transmis au bloc 4 pour y être convertis en des instructions interprétables par l'application active 6. Ces instructions interprétables sont ensuite adressées, via le système d'exploitation 7, à l'application active 6, qui exécute alors la ou les fonctions associées au mouvement. A cet effet, le séquenceur 3 décompose chaque en- semble de données qui lui est adressé par le bloc 2 en une série de déplacements élémentaires, qui se succèdent dans le temps, et dont la. somme correspond à la totalité du déplacement décrit par cet ensemble de données. Chaque déplacement élémentaire se déroule soit selon un axe soit selon deux axes couplés, et a une amplitude plus ou moins importante. Les axes couplés sont typiquement les translations selon les axes x et y qui sont les degrés de mobilité d'une souris standard, la majorité des applications étant capable d'interpréter des instructions dites couplées pour ces axes, c'est à dire représentatives de translations ayant des composantes sur chacun de ces deux axes. Pour décomposer un ensemble de données, le sé- quenceur 3 effectue une lecture dans la base de données 8 qui lui retourne les axes couplés pour l'application considérée, via le bloc 10. Puis il établit une suite comportant des déplacements élémentaires simples, c'est-à-dire se produisant selon seulement un axe, et lorsque l'application le permet, des déplacements élémentaires se produisant conjointement sur deux axes. Dans l'exemple suivant, l'ensemble de données adressé par le bloc 2 est représenté par le vecteur [+2; +5; 0; +3; +2; 0] dont les composantes correspondent suc- cessivement aux amplitudes des translations selon les axes x, y et z, et des rotations autour de ces axes. La décomposition de cet ensemble de données pour une application dont les axes de translation selon x et selon y sont couplés est la série de déplacements élémen- taires Txy(+2; +5), Rx(+3), Ry(+2), dans laquelle Txy(+2; +5) désigne une translation couplée sur les axes x et y, Rx(+3) et Ry(+2) désignant des rotations respectivement autour des axes x et y. Comme le montre cet exemple, chaque déplacement élémentaire est défini par la donnée d'un axe de mouvement noté Am et d'une amplitude notée Vm. La grandeur Am peut valoir Tx, Ty, Tz, Rx, Ry ou Rz, et la grandeur Vm étant une amplitude, il s'agit d'une valeur numérique. Lorsqu'il s'agit d'un déplacement élémentaire sur deux axes couplés, il est défini par la donnée de ces variables pour chacun des deux axes couplés, comme dans l'exemple ci-dessus. Une fois que les déplacements élémentaires ont été établis par le séquenceur 3, ils sont transférés au bloc 4 pour être convertis en des instructions interprétables par l'application active. A réception dans le convertisseur 4 d'un déplace-ment élémentaire, une lecture dans la base de données 8 fournit la règle de conversion à appliquer pour le convertir en une instruction interprétable par l'application active. Une telle règle de conversion définit la syntaxe à utiliser pour former l'instruction interprétable à associer au déplacement élémentaire traité, pour l'applica- tion actuellement active. Cette syntaxe comporte typiquement une instruction introductive, une instruction élémentaire, et une instruction de conclusion la clôturant. Elle comporte le cas échéant deux instructions élémentaires lorsqu'il s'agit d'un déplacement élémentaire sur deux axes couplés. Comme représenté en figure 2, le convertisseur compare d'abord l'axe de mouvement du déplacement élémentaire reçu, avec l'axe de mouvement du déplacement élé- mentaire précédent, au bloc 9 pour déterminer s'il y a eu un changement d'axe. Si le déplacement élémentaire précédent était nul, le bloc 11 génère l'instruction introductive asso- ciée au déplacement élémentaire à convertir. Par exemple, si la règle de conversion indique que l'instruction introductive à associer au déplacement traité Txy(+2; +5), est une instruction représentative de l'enfoncement du clic d'une souris standard, noté Clic(+), alors le bloc 11 génère l'instruction Clic(+). Si le déplacement: élémentaire précédant se produisait sur un autre axe, le bloc 11 génère l'instruction de conclusion du déplacement élémentaire précédant, puis l'instruction introductive du déplacement élémentaire en cours de traitement. Par exemple, le mouvement précédent était une rotation horizontale notée Rx(+3) convertie en une instruction interprétable du type Ctrl(+), FH(+), FH(+), FH(+) correspondant à un raccourci clavier consistant à enfon- cer la touche Ctrl puis à enfoncer trois fois la Flèche Haute du clavier, notée FH. Si la règle de conversion de ce déplacement précédent spécifie que l'instruction interprétable doit être terminée par une instruction de relâchement de la touche Ctrl, notée Ctrl(-), alors la séquence produite par le bloc 11 est Ctrl(--) suivie de Clic(+). La ou les instructions élémentaires interprétables sont générées au bloc 12. Dans le cas du déplacement Txy(+2; +5), la règle de conversion mentionne par exemple deux instructions élémentaires, notées Sx() et Sy() et correspondant respectivement à une translation selon l'axe x et selon l'axe y. Dans ce cas, le bloc 12 génère successivement les instructions élémentaires Sx(+2) et Sy(+5) représentati- ves de translations sur les axes x et y d'une souris standard. Les instructions établies au bloc 11 et au bloc 12 sont transmises, au fur et à mesure au bloc tampon 13, dans lequel elles sont concataînées aux instructions pré- cédentes. A intervalles réguliers, par exemple toutes les trente millisecondes, les données du bloc tampon 13 sont adressées à l'application active qui opère alors la fonction correspondante. Ainsi, la séquence de déplacements élémentaires Txy(+2; +5), Rx(+3), Ry(+2) est convertie au bloc 4 en une séquence d'instructions interprétables par l'application active, et correspondant à la succession des trois séquences suivantes : Clic(+)/Sx(+2)/Sy(+5)/Clic(-) Alt(+)/FH(+)/FH(+-/FH(+)/Alt(-) Alt(+)/FD(+)/FD(+)/Alt(-) La première séquence correspond aux instructions 20 interprétables représentatives d'un déplacement d'une souris standard dans le plan. La seconde séquence correspond au raccourci clavier consistant à enfoncer les touches Alt, et Flèche Haute trois fois de suite. La troisième séquence correspond aux instructions adressées à 25 l'application sur enfoncement de la touche Alt et de la touche flèche droite, notée FD, deux fois de suite. Comme le montrent ces séquences converties, l'émulation prend en compte et convertit les amplitudes des déplacements du périphérique spécifique. 30 Lorsqu'il s'agit d'axes correspondant à une sou-ris standard, les amplitudes de ces déplacements sont converties en des instructions interprétables qui intègrent elles-mêmes une ou des variables d'amplitude, ce qui permet de palus de réduire la quantité de données 35 converties à adresser à l'application. 15 Lorsqu'il s'agit d'axes correspondant à des raccourcis clavier, les amplitudes de ces déplacements sont converties en des instructions interprétables dans les-quelles les instructions élémentaires sont répétées un nombre de fois proportionnel à l'amplitude du déplace-ment. Dans l'exemple ci-dessus, la seconde et la troisième séquence correspondent à des axes de, rotation non couplés pour l'application considérée. Mais l'application peut être prévue pour permettre de coupler les rotations autour de l'axe horizontal et vertical, par exemple dans le cas où elles sont provoquées avec les raccourcis consistant à enfoncer les touches Ctrl et FH, et les touches Ctrl et FD, respective- ment. Dans ce cas, la séquence de déplacements élémentaires Txy(+2; +5), Rx(+3), Ry(+2) est convertie au bloc 4 en une séquence d'instructions interprétables correspondant à la succession des deux séquences suivantes : Clic(+) / Sx(+2) / Sy(+5) / Clic(-) Ctrl(+)/FH(+)/FH(+)/FH(+)/FD(+)/FD(+)/Ctrl(-) Comme on le voit, le fait de tirer parti du cou- plage d'axes, y compris dans le cadre de raccourcis cla- vier, permet de réduire la quantité d'instructions devant être traitées par l'application, ce qui d'améliore encore la fluidité de l'émulation. On notera que cette fluidité peut encore être ac- crue en panachant les instructions élémentaires présentes dans la séquence, comme dans l'exemple ci-dessous, de ma- nière à obtenir un mouvement de rotation plus fluide. Ctrl.(+)/FH(+)/FD(+)/FH(+)/FD(+)/FH(+)/Ctrl(-) Avantageusement, l'émulation comporte un mode dit d'axe dominant schématisé par le bloc 16 dans la figure 1. Lorsque ce mode est activé, la décomposition du bloc 3 filtre les données de déplacement qui lui sont adressées par le bloc 2 pour en supprimer les composantes de mouvement ayant une amplitude faible, avant de convertir l'en- semble en une suite de déplacements élémentaires. Par exemple, un ensemble de données représenté par le vecteur de déplacement [+5; +1; 0; 0; +4; +1] est alors filtré pour devenir [+5; 0; 0; 0; ,+4; 0] avant d'être découpé en une série de déplacements élémentaires, à savoir Tx(+5), Ry(+4), au niveau du bloc 3. L'activation de ce mode dominant permet d'améliorer l'interaction d'une part en supprimant les composantes parasites du mouvement pour améliorer la précision de pilotage, et d'autre part en réduisant la quantité de données à convertir pour diminuer le temps de réaction de l'émulation. Le programme d'émulation est par exemple fourni sur un support d'enregistrement informatique tel qu'un disque compact comportant l'émulateur incluant la base de donnes 8, le tout étant avantageusement fourni avec le périphérique spécifique. Cette base de données 8 peut être fournie soit prérenseignée, soit être renseignée par l'utilisateur au moyen d'un logiciel d'apprentissage également fourni avec le périphérique. Lorsque cette base de données est renseignée, elle comporte un jeu de règles de conversion pour chaque application à piloter. Chaque jeu de règles de conversion indique les axes qui sont couplés, et donne pour chaque déplacement élémentaire la règle de conversion à appliquer. Chaque règle de conversion définit le format à respecter pour établir une instruction interprétable as- sociée à l'axe de déplacement considéré. Typiquement, une telle règle de conversion est définie par la donnée d'une instruction d'introduction, d'une instruction élémentaire et d'une instruction de conclusion. Le logiciel d'apprentissage implémente une démarche dans laquelle l'utilisateur est guidé pour établir et mémoriser dans la base de données 8 un jeu de règles de conversion associé à une application que l'utilisateur souhaite piloter avec la souris à six axes. Pour ce faire, l'utilisateur lance, le logiciel d'apprentissage, qui lui demande de sélectionner l'appli- cation qu'il souhaite piloter. L'apprentissage est guidé et lui demande de sélectionner une catégorie de mouvement du périphérique spécifique, c'est à dire un axe de déplacement, ou bien la combinaison de deux axes de déplace-ment. Le logiciel d'apprentissage demande ensuite à l'utilisateur de piloter l'application via un périphérique autre que la souris à six axes, de manière à exécuter la fonction de cette application qu'il veut piloter via la catégorie de déplacement de la souris qu'il a précé- demment sélectionné. Par exemple, si la fonction est une rotation au-tour de l'axe horizontal, l'utilisateur va par exemple utiliser le raccourci clavier Ctrl FH de l'application pour faire tourner l'objet autour d'un axe horizontal. Lors de l'exécution de la fonction, l'utilisateur peut choisir un déplacement de l'objet, mais cette fonction peut être tout autre, comme par exemple l'ajustement de la taille de l'objet tridimensionnel présenté par l'application. Pendant cette opération, le logiciel d'apprentis-sage capture la séquence d'instructions interprétables qui est adressée à l'application pour exécuter la fonction demandée. Une fois cette opération terminée, le logiciel d'apprentissage analyse la séquence d'instructions inter- prétables pour en extraire la syntaxe comportant notamment l'instruction d'introduction, l'instruction élémentaire et l'instruction de conclusion. S'il s'agit du raccourci clavier Ctrl FH, les instructions extraites sont Ctrl(+), FH(+) et Ctrl(-). Dans ce cas, ces instructions qui constituent la règle de conversion associée aux mouvements du périphérique pivotant autour d'un axe horizontal, pour ,l'application considérée, sont enregistrées dans la base de données 8, le cas échéant après validation par l'utilisateur. La même démarche est ensuite exécutée pour chaque catégorie de mouvement de la souris tridimensionnelle, afin de constituer un jeu complet de règles de conversion pour l'application considéré, et de le mémoriser dans la base de données. Dans l'exemple ci-dessus, l'apprentissage est présenté dans le cadre d'une application pilotable par des raccourcis clavier, mais comme indiqué plus haut, l'apprentissage peut faire intervenir le clavier et la souris conjointement. De plus, il est à noter que l'apprentissage peut être effectué avec tout périphérique pris en charge par l'application. En particulier, cet apprentissage peut être effectué avec un périphérique de pointage spécifique autre que celui que l'utilisateur souhaite utiliser. Par exemple, partant d'une application pilotable depuis un périphérique de pointage spécifique ayant six potentiomètre associés chacun à un axe, l'utilisateur peut utiliser ce dernier pour effectuer l'apprentissage de manière à pila- ter cette application avec une souris à six axes. REVENDICATIONS1. Procédé pour piloter, à partir d'instructions spécifiques ([+2; +5; 0; +3; +2; 0]) représentatives de mouvements d'un périphérique spécifique de pointage (1) tel qu'une souris à six axes de déplacements et issues de ce périphérique spécifique, une application logicielle (6) exécutée par un ordinateur, cette application étant pilotable avec des instructions dites interprétables is- sues d'un périphérique de saisie tel qu'un clavier alpha- numérique (Alt(+)/FH(+)/FH(+)/FH(+)/Alt(-)/Alt(+)/FD(+)/ FD(+)/Alt(-)), dans lequel les instructions spécifiques ([+2; +5; 0; +3; +2; 0]) sont converties en temps réel en des instructions comportant des instructions interpréta- bles du type de celles issues du périphérique de saisie (Alt(+)/FH(+)/FH(+)/FH(+)/Alt(--)/Alt(+)/FD(+)/FD(+)/Alt(-)), en appliquant un jeu de règles de conversion mémorisé dans l'ordinateur. 2. Procédé selon la revendication 1, dans lequel les instructions spécifiques converties qui sont adressées à l'application (6) comportent des instructions interprétables (Clic(+)/Sx(+2)/Sy(+5)/Clic(-)) du même type que les instructions adressées à cette application (6) lorsqu'elle est pilotée depuis un périphérique de pain- tage. 3. Procédé selon la revendication 2, dans lequel les instructions spécifiques converties qui sont adressées à l'application (6) comportent des instructions interprétables (Clic(+)/Sx(+2)/Sy(+5)/Clic(-)) du même type que les instructions adressées à cette application (6) lorsqu'elle est pilotée depuis une souris à deux axes de déplacements. 4. Procédé selon la revendication 3, dans lequel les instructions spécifiques converties qui sont adres- Sées à l'application (6) comportent des instructions in-terprétables (Alt(+)/FH(+)/FH(+)/FH(+)/Alt(-)) du même type que les instructions interprétables adressées à cette application (6) lorsqu'elle est pilotée depuis un clavier alphanumérique. 5. Procédé selon l'une des revendications 1 à 4, dans lequel la conversion est assurée avec un jeu de règles de conversion mémorisé dans une base de données (8) enregistrée dans l'ordinateur et comportent plusieurs jeux de règles de conversion associés chacun à une appli- cation (6) à piloter. 6. Procédé selon la revendication 5, dans lequel la conversion est assurée en appliquant un jeu de règles de conversion sélectionné pour correspondre à l'application logicielle active (6), et dans lequel le basculement d'une application active (6) vers une autre application active provoque la sélection d'un autre jeu de règles de conversion associé à cette autre application active (6) pour effectuer la conversion. 7. Procédé selon la revendication 6, dans lequel chaque jeu de règles de conversion comporte une règle de conversion associée à chaque axe de déplacement (Tx, Ty, Tz, Rx, Ry, Rz) du périphérique de pointage spécifique (1). 8. Procédé selon l'une des revendications 5 à 7, dans lequel chaque règle de conversion comporte une instruction élémentaire (FH(+), Txy(+2; 25)) interprétable associée à au moins un axe de déplacement (Tx, Ty, Tz, Rx, Ry, Rz) du périphérique de pointage spécifique (1). 9. Procédé selon l'une des revendications précé- dentes, dans lequel au moins une règle de conversion est mémorisée dans l'ordinateur après avoir été établie en exécutant un procédé d'apprentissage comportant une première étape de sélection d'un axe de déplacement (Tx, Ty, Tz, Rx, Ry, Rz) du périphérique de pointage spécifique (1), une seconde étape de pilotage de l'application (6)depuis un périphérique qu'elle prend en charge pour exécuter une fonction à associer à cet axe de déplacement et durant laquelle les instructions interprétables (Clic(+)/Sx(+2)/ Sy(+5)/Clic(-)/Alt(+)/FD(+)/FH(+)/FH(+)/ Alt(-)/Alt(+)/FH(+)/FH(+)/Alt(-)) issues du périphérique pris en charge sont capturées, et une troisième étape de détermination de la règle de conversion par différentiation des instructions capturées.