Brevet FR2544103A1 — publié le 19841012

i La présente invention se rapporte, d'une manière géné- rale, à des dispositifs et procédés d'entrée d'informations dans un ordinateur et plus particulièrement à ceux qui uti- lisent une surface qui est sensible au contact du doigt d'un utilisateur pour entrer des si gnaux dans le système d'ordina- teur afin de modifier son affichage et son fonctionnement. La plupart des terminaux d'ordinateur utilisent un cur- seur ou élément de repérage qui est affiché sur un écran et que l'opérateur peut déplacer sur l'écran Un curseur est le plus couramment utilisé pour indiquer un emplacement sur l'é- cran o l'opérateur désire effectuer une certaine opération. Par exemple, un terminal d'ordinateur fonctionnant en machine de traitement de textes peut remplacer ou effacer un mot ou une lettre que le curseur recouvre o qu'il désigne L'opéra- teur déplace tout d'abord le curseur jusqu'à l'emplacement désiré sur l'écran d'affichage puis il donne une commande pour exécuter une opération quelconque à cet emplacement. Il existe un certain nombre de dispositifs et techniques couramment utilisés pour entrer ces commandes de l'utilisa- teur dans un terminal d'ordinateur Un clavier ordinaire est le plus courant au moins dans les applications au traitement de texte L'emploi d'une 'souris' a tendance à se générali- ser Une souris est un dispositif tenu à la main que l'on dé- place sur une surface plate adjacente au terminal d'ordina- teur pour provoquer le déplacement du curseur sur une dis- tance et dans une direction proportionnelles au déplacement de la souris Une souris porte également,en généralun ou plusieurs boutons pour transmettre des commandes à exécuter par le terminal d'ordinateur de sorte qu'un utilisateur peut indiquer qu'une action prédéterminée doit être exécutée à l'emplacement de l'écran d'affichage ou visu o le curseur a été positionné par la souris. Des écrans d'affichage à contact sont également utili- sés pour engendrer des signaux de commande et de données en vue de leur entrée dans un système d'ordinateur D'autres dispositifs externes sont notamment les manches à balai, les moulinets, les boules roulantes et analogues Ces disposi- tifs sont souvent utilisés pour jouer avec l'ordinateur en commandant le mouvement d'un "curseur" qui se présente sous la forme d'un tank, d'une mitrailleuse ou analogue Un bou- ton de commande de tir est également prévu, en général, avec le dispositif de commande pour provoquer l'exécution d'une action prédéterminée une fois que le "curseur' a été posi- tionné à l'emplacement oi le joueur désire qu'il se trouve. Un autre dispositif de commande de curseur qui est de plus en plus généralement accepté est un panneau à contact ou à commande par effleurement, qui est prévu soit en tant que partie d'un terminal d'ordinateur adjacent à son clavier soit en tant que dispositif séparé utilisé à côté de lui et interconnecté avec le terminal Un tel panneau est sensible au contact d'un doigt et il est connecté pour provoquer le déplacement de son curseur dans les deux directions X et Y correspondant au déplacement du doigt de l'opérateur sur la surface du panneau Des panneaux à contact typiques fonc- tionnent à l'aide d'une surface électriquement conductrice qui a une résistance donnée par unité de longueur d'un bout à l'autre du panneau La valeur de résistance transmise au terminal de l'ordinateur dépend de l'emplacement de la sur- face touché par l'utilisateur D'autres panneaux à contact fonctionnent sur le principe de la magnétostriction et pro- duisent un signal proportionnel à la distance de l'emplace- ment de la surface touché par l'utilisateur des bords du pan- neau Les panneaux à contact actuellement utilisés pro- duisent le mouvement désiré du curseur qui doit être ensuite suivi d'une autre action appropriée quelconque de l'utilisa- teur, qui doit, par exemple, appuyer sur une touche séparée pour provoquer l'exécution d'une fonction au nouvel emplace- ment du curseur sur l'écran d'affichage. L'un des principaux buts de la présente invention est de réaliser un procédé et un dispositif de commande à pan- neau à contact perfectionnés qui sont plus faciles à utili- ser, d'une construction plus simple et présentent,cependant, des caractéristiques d'exploitation perfectionnées - Ces buts et d'autres buts de l'invention sont atteints -3 au moyen des divers aspects de l'invention suivant lesquels, sommairement, selon un aspect de l'invention, il est prévu un système et un procédé d'exploitation pour permettre au panneau à contact commandant un curseur bidimensionnel de remplir deux fonctions Lorsqu'un utilisateur déplace le doigt sur la surface du panneau à contact, ceci provoque le déplacement normal du curseur mais lorsque le curseur est à l'emplacement désiré de l'écran, l'opérateur n'a pas be- soin de chercher un autre dispositif d'entrée quelconque, tel qu'une touche séparée, pour provoquer l'exécution d'une fonction prédéterminée à cet emplacement de l'écran de la visu L'opérateur, en utilisant le perfectionnement de la présente invention, n'a besoin que d'appliquer un petit coupe bref sur le panneau à contact et ceci est distingué par le système du panneau à contact comme une commande diffé- rente du contact plus long qui accompagne typiquement le dé- placement d'un doigt sur le panneau pour provoquer le dépla- cement du curseur Ceci permet à l'opérateur de conserver le regard fixé sur l'écran de la visu sans avoir à chercher un bouton de commande d'exécution séparé et ceci permet,en outre, de réaliser un système plus simple en supprimant la nécessité d'avoir à utiliser un bouton de commande d'exécu- tion séparé. Un autre perfectionnement apporté au système de panneau à contact selon la présente invention est le traitement des signaux provenant du panneau à contact avant qu'ils soient utilisés pour déplacer le-curseur de façon que le déplacement erratique du doigt de l'utilisateur soit converti en un dé- placement plus régulier du curseur sur l'écran de la visu et de façon que la distance de déplacement du curseur pour-une distance donnée de déplacement du doigt sur le panneau soit rendue dépendante de la vitesse de déplacement du doigt La régularisation esteffectuée selon un mode de réalisation pré- féré, en faisant signaler par le système de panneau à con- tact au terminal d'ordinateur le déplacemnt incrémentiel du doigt dans les directions X et Y par unité de temps, la moyenne de plusieurs signaux de déplacement incrémentiel suc- cessifs étant utilisée pour déplacer le curseur de façon ainsi à régulariser son mouvement La caractéristique de changement d'échelle est fournie, selon un mode de réalisa- tion préféré, en élevant au carré les signaux de distance de déplacement incrémentielle moyenne avant de les utiliser pour déplacer le curseur, provoquant, de ce fait, un plus grand déplacement du curseur pour un déplacement donné du doigt sur le panneau lorsque la vitesse dlun tel déplace- ment du doigt est plus élevée. Un autre perfectionnement, selon un autre aspect de la présente invention, est la combinaison avec la zone du pan- neau à contact utilisée pour commander le déplacement du curseur dans les directions X-Y d'un certain nombre de fonc- tions discrètes de bouton-poussoir, l'àctionnement de l'un quelconque d'un certain nombre de tels boutons-poussoirs étant transmis par le panneau à contact sur la même ligne de signalisation que le signal de déplacement X-Y du curseur et les signaux de commande d'exécution produits par des coups brefs Les signaux des boutons-poussoirs discrets sont sépa- rés des signaux X-Y dans le circuit de sortie commun du pan- neau à contact par le traitement ultérieur Dans un mode de réalisation préféré, un unique panneau à contact est muni de zones séparées dans l'espace pour une série de boutons-pous- soirs et d'une région X-Y La signification d'un contact quel- con que du doigt de l'utilisateur sur le panneau à contact est déterminée à partir de l'emplacement de ce contact,tel qu'exprimé par le signal de sortie commun du panneau à con- tact Dans une forme spécifique d'un tel mode de réalisation, deux feuilles résistives sont normalement maintenues êtroi- tement rapprochées et électriquement connectée pour détec- ter l'emplacement du contact du doigt d 'un utilisateur lors- qu-'il provoque l'entrée en contact de feuilles à un emplace- ment particulier. D'autres buts, caractéristiques et avantages des divers aspects-et modes de réalisation de la présente invention ap- paraîtront à la lecture de la description qui va suivre d'un mode de réalisation préféré de l'invention 1 description qui doit être considérée en combinaison avec les dessins annexés dans lesquels: la Fig 1 représented'une manière générale,un système d'ordinateur portatif dans lequel le système de panneau à contact perfectionné de la présente invention peut être avan- tageusement utilisé; la Fig 2 est un schéma-bloc général du système d'ordi- nateur de la Fig 1; la Fig 3 représente une vue éclatée de l'assemblage mécanique du panneau à contact de l'ordinateur de la Fig 1; la Fig 4 est un schéma du circuit électrique d'un sys- tème utilisant le panneau à contact de la Fig 3; la Fig 5 est un diagramme des temps pour le circuit électronique de la Fig 4; la Fig 6 représente la manipulation de données numé- riques par le circuit de la Fig 4; la Fig 7 représente le format de signaux numériques particuliers du circuit de la Fig 4; la Fig 8 est un organigramme qui représente le fonc- tionnement du circuit de la Fig 4; et la Fig 9 est un diagramme d'états qui illustre le fonctionnement du logiciel d'ordinateur utilisé en combinai- son avec le circuit de la Fig 4 pour traiter les informa- tions obtenues du panneau à contact. On décrira la présente invention en se référant à son application dans un mode de réalisation d'un ordinateur por- tatif perfectionné, représenté d'une manière générale sur la Fig 1 Bien que la présente invention présente une très grande utilisé dans un terminal d'ordinateur quelconque, elle est particulièrement avantageuse dans un système porta- tif du fait du nombre réduit des éléments de circuit qui sont nécessaires pour exécuter un ensemble donné de fonctions désirées Un carter 11 contient un clavier 13 sur le dessus de sa partie avant, ce clavier étant enfermé par un couvercle 15 lorsque l'appareil est transporté Sur la Fig 1, le cou- vercle 15 est représenté dans une position verticale et on voit qu'il contient un dispositif d'affichage ou visu 17 2544103 ' d'un type approprié Le typede visu 17 qui est utilisé dans un tel ordinateur portatif est un écran d'affichage à cristaux liquides (ACL) du fait de sa faible consommation de courant Typiquement, la visu est du type à pixels et est capable d'afficher pluslieurs lignes, par exemple, huit lignes ou davantaged'informations alphanumériques ou d'in- formations graphiques de dimensions semblables. Le système est capable d'afficher un curseur 19, repré- senté sur la Fig 1 sous la forme d'une flèche Naturelle- ment, on peut utiliser d'autres configurations de curseur, telles qu'un petit rectangle, un grand carré ou un cadre rectangulaire entourant une partie importante de l'écran et d'autres formes et dimensions variables en fonction de l'application Dans tous les cas, le curseur peut se dépla- cer sous la commande de 1 'opérateur sur la surface de l'é- cran du dispositif d'affichage ou visu 17. Une feuille graphique 21 qui recouvre la partie mécanique du système de panneau à contact est disposée im- médiatement adjacente au clavier 13 On décrira ci-après en se référant à la Fig 3 les aspects mécaniques d'un ensemble de panneau à contact spécifiqueo L'orientation du panneau à contact, disposé immédiatement adjacent au bord supérieur du clavier 13 et à une plus faible inclinaison, le rend d'une observation et d'un accès très commodes pour l'utilisa- teur et fournit également un ensemble compact qui est indis- pensable pour u-an appareil portatif. Sur la Fig 2 à laquelle on se référera, on a représen té un schéma-bloc général du système d'ordinateur 11 Un bus commun 23 du système, typique dans de tels systèmes, inter- connecte le microprocesseur (UYC 8088) 25 avec les autres éléments fonctionnels principaux du système qui comprennent une mémoire morte (MN) 27, une mémoire à accès sélectif (MAS) 29,une unité à disque (Disque) 31 et un circuit 34 de commande de visu En outre, le clavier 13 est connecté au bus du système par l'intermédiaire d'un système électro- nique approprié et un système 33 de panneau à contact est, de même, connecté au bus 23 dans ce système particulier Le système 33 de panneau h contact de la Fig 2 comporte l'en- semble mécanique de panneau à contact représenté sur la Fig. 3 et son circuit électrique représenté sur la Fig 4 En outre, divers circuits et dispositifs d'entrée/sortie (E/S) 35,tels qu'une imprimante, un modem téléphonique et des dis- positifs périphériques similaires couramment utilisés,sont connectés au bus du système Dans le système particulier dé- crit à titre d'exemple, le microprocesseur 25 est un micro- processeur Intel 8088. On décrira maintenanten se référant à la Fig 3,un en- semble mécanique de panneau à contact particulier On a re- présenté un type résistif de panneau à contact mais, naturel- lement, on peut obtenir des signaux similaires en réponse à un contact appliqué à une surface en utilisant d'autres mé- canismes transducteurs, tels qu'un dispositif magnétostric- tif qui fonctionne en mesurant le temps que met une impul- sion pour se propager d'un point à un autre de la surface en tant qu'indication de l'emplacement du contact et analogue. Derrière la feuille de couverture protectrice 21 est dispo- sée une première feuille résistive 37 suivie d'une feuille d'espacement 39, d'une seconde feuille résistive 41 et d'un élément support 43 formant un substrat rigide Chacune des feuilles résistives est caractérisée par le fait que sa sur- face qui fait face à-l'autre a une conductivité qui a une ré- sistivité uniforme par unité de distance suivant sa surface. Les feuilles 37 et 41 peuvent avoir l'une quelconque des diverses constructions spécifiques dont chacunwfournit des caractéristiques électriques équivalentes Elle peuvent être, par exemple, constituées par des feuilles de polyester revêtues sur leurs surfaces en vis à vis d'une encre au car- bone ou d'une matière appliquée sur elles par dépôt de vapeur, telle qu'un oxyde d'indium-étain Suivant une variante, ces feuilles peuvent être des feuilles conductrices en matière élastomère qui sont imprégnées de matières conductrices telles que du carbone Dans tous les cas, la résistivité par unité de longueur est soigneusement réglée de façon à être uniforme sur toute la surface de chaque feuille et sa valeur est choisie en fonction des besoins du circuit électrique particulier avec lequel fonctionne le panneau à contact. Un potentiel électrique est appliqué à l'une des feuilles 37 et 41 entre ses bords opposés dans la direction X et un potentiel électrique est appliqué à l'autre feuille entre ses bords opposés dans la direction o Des bandes mé- talliques ou en une autre matière ayant une conductivité électrique élevée 45 et 47 sont placées sur la surface ré- sistive de la feuille 41 le long de ses bords transversaux opposés pour provoquer l'application d'une tension appliquée à des bornes 49 et 51 dans la direction X de la feuille 41. De même, des bandes conductrices 53 et 55 sont placées sur les bords longitudinaux opposés de la feuille 37 provoquant, de ce fait, la production d'un gradient de potentiel entre ces bords, dans la direction Y, lorsqu'une tension est ap- pliquée à des bornes 57 et 59. Afin d'assurer que les feuilles 37 et 41 ne se touchent pas accidentellement, une grille de petites bosses en ma- tière diélectrique est disposée par sérigraphie sur l'une des feuilles, représentée sur la Fig 3 comme étant la feuille 41 Ces bosses sont disposées à environ 5 mm les unes des autres dans une configuration symétrique sur toute la surface de la feuille et elles ont une hauteur inférieure à 0,025 mm et un diamètre d'environ 0,1 mn Cet espacement et ces dimensions permettent que les surfaces électriquement conductrices en vis à vis des feuilles 37 et 41 entrent en contact l'une avec l'autre lorsqu'on applique une pression du doigt, d'une force désirée, en un point quelconque de la surface de la feuille 37 par l'intermédiaire de la mince feuille indicatrice souple 21 La feuille 37 est,naturelle- ment,elle-mame flexible pour permettre un tel mouvement phy- sique et un-tel contact physique. L'ensemble de panneau à contact de la Fig 3 est utili- sé pour engendrer un certain nombre de signaux indépendants au moyen de l'unique jeu commun des quatre bornes 49, 51, 57 et 59 La surface bidimensionnelle du panneau à contact est spatialement divisée en zones discrètestelles que la zone 63 de commande de curseur à deux dimensions XY et une 254410-3 série de zones de boutons ou touches discrètes 65, 67, 69, 71, 73, 75, 77 et 79 Il est possible de prévoir un nombre supérieur ou inférieur de zones discrètes selon l'applica- tion du système d'ordinateur et selon les dimensions dispo- nibles de la surface de panneau à contact Comme on l'expli- quera cidessous en se référant à la Fig 4, celle de ces zones sur laquelle l'utilisateur a posé le doigt est identi- fiée en déterminant les coordonnées X-Y du point de contact entre les surfaces résistives des feuilles 37 et 41. Afin d'aider à la réalisation de cette discrimination, une mince feuille d'espacement non conductrice 39 est posi- tionnée entre les feuilles électriquement résistives 37 et 41 Des ouvertures sont formées dans la feuille 39, ces ou- vertures ayant les mêmes configurations que les indications portées par la surface de la feuille 21 pour permettre le repérage des différentes zones de bouton et de la zone de commande du curseur X-Y La feuille d'espacement 39 n'est pas absolument indispensable mais elle facilite la distinc- tion,par le système électronique que l'on décrira ci-après, des différentes zones discrètes. Sur la Fig 4 à laquelle on se référera maintenant, on a représenté un schéma électrique dans lequel le panneau à contact de la Figure 3 est représenté électriquement par des résistances tracées à l'intérieur d'un cadre 81 en traits interrompus Une résistance 83 représente la résistance de contact produite lorsque les feuilles 37 et 41 sont poussées l'une contre l'autre à un point particulier par la pression du doigt d'un utilisateur L'emplacement d'un tel contact est représenté schématiquement sur la Fig 4 par une con- nexion électrique à des emplacements particuliers de la ré- sistance de la feuille 41 dans la direction X et de la résis- tance de la feuille 37 dans la direction Y L'emplacement de la connexion entre les deux résistances représentatives des surfaces 37 et 41 varie tant dans la direction X que dans la direction Y lorsque l'emplacement de la pression de con- tact appliquée à la surface bidimensionnelle du panneau à contact est changé. Une tension d'alimentation +V est sélectivement appli- quée aux surfaces des feuilles rêsistives 37 et 41 sous la commande de quatre transistors Q 1 i, Q 2, Q 3 et Q 4 Ces tran- sistors fonctionnent en interrupteurs Les transistors Q 1 est connecté entre la borne 49 et le potentiel de la masse et il est maintenu dans un état conducteur ou non conducteur en fonction du niveau de tension d'un conducteur 85 qui est connecté par l'intermédiaire d'une résistance d la borne de base du transistor Q 1 De même, le transistor Q 2 est connec- té entre la borne 59 et le potentiel de la masse tandis que sa base est connectée par l'intermédiaire d'une résistance à une ligne de commande 87 Le transistor Q 3 est connecté entre la source de tension positive +V et la borne 51, tan- dis que sa base est connectée par l'intermdiaire d'une ré- sistance à la ligne 87 le transistor Q 4 est connecté entre la source d'alimentation positive +V et la borne 57 tandis que sa base est connectée à un circuit 89 par l'intermédiaire d'une résistance série. Les signaux de commande servant à mettre ces quatre transistors à l'état conducteur et à l'état non conducteur sont émis par une unité de traitement centrale (UTC) 91 sous la forme d'un signal de commande TPD sur une ligne de sortie 93 et d'un signal de CONTROLE DU PANNEAU sur une ligne Dans le cas du système particulier qui est décrit, l'u- nité de traitement 91 est, de préférence, un microprocesseur Intel 8051 qui comporte une certaine quantité de mémoire morte (MM) et de mémoire à accès sélectif (MAS) Un signal de commande TPD à deux niveaux appliqué sur la ligne 93 est transmis par l'intermédiaire d'un inverseur 97 dont la sortie produit un signal de commande sur la ligne 87 Le signal de commande de la ligne 87 est également transmis par l'intermé- diaire d'un inverseur 99 qui produit un signal de commande sur la ligne 89 Les inverseurs 97 à 99 sont, de préférence, constitués par des éléments de circuits intégrés à MOS com- plémentaires Les transistors Q 3 et Q 4 sont du type PNP et les transistors Q 1 et Q 2 sont du type NPN Le signal de CON- TROLE DU PANNEAU à deux niveaux transmis sous la ligne 95 2544 1 03 est appliqué à une entrée d'une porte NI 101 et à la base, par l'intermédiaire d'une résistance série, d'un transistor Q 5 Une seconde entrée de la porte NI 101 est la ligne 87. Le transistor Q 5 est utilement connecté entre la borne 59 et le potentiel de la masse par l'intermédiaire d'une résis- tance série et il est commandé dans ses états conducteur et non conducteur par un signal appliqué sur la ligne 95 La sortie de la porte NI 101 fournit un signal de sortie sur la ligne 85. Comme on l'expliquera plus complètement ci-après, les coordonnées X et Y du point de contact d'un doigt sur les feuilles 37 et 41 sont déterminées au cours d'étapes chrono- logiquement séparées Au cours d'une première période de temps, les transistors Qi et Q 2 sont rendus conducteurs pour appliquer une tension aux bornes de la résistance X 41, tan- dis que la résistance Y 37 sert de détecteur pour transmettre la tension qui existe à l'emplacement de la feuille résistive o le contact s'est produit Ce signal est transmis par la borne 59 qui est connectée à l'entrée non inverseuse d'un amplificateur opérationnel 103 dont la sortie 105 est direc- tement connectée à son entrée inverseuse L'amplificateur 1 _ sert d'étage séparateur afin que la résistance 37 de l'axe des Y ne soit pas elle-même modifiée par la charge car,autrement,elle ne pourrait pas servir à indiquer la tension au point de sa connexion avec la résistance 41 de l'axe des X. De même, la lecture de la position du point de contact suivant l'axe des Y est effectuée en rendant les transistors Q 2 et Q 3 conducteurs pour appliquer-une tension aux bornes de la résistance 37 La résistance 41 de l'axe des X sert de mécanisme pour transmettre la tension au point de contact avec la résistance Y, cette transmission s'effectuant par l'intermédiaire de la borne 49 qui est connectée à l'entrée non inverseuse d'un second amplificateur opérationnel 107. La sortie 109 de l'amplificateur est connectée directement en retour à son entrée inverseuse. Les tensions analogiques produites sur les lignes 105 et 109 sont proportionnelles respectivement à la coordonnée X et à la coordonnée Y de l'interconnexion entre les feuilles résistives X et Y, 41 et 37 Ces signaux sont appliques l'r. après l'autre à un convertisseur d'analogique en numérique (A/N) 111 par l'intermédiaire d'un multiplexeur 113 (commutat teur) suivi d'un amplificateur séparateur et d'un circuit ré- sistance-condensateur, comme représenté Le multiplexeur 113 reçoit sur une ligne 115 provenant de l'unité de traite- ment 91 un signal de commande indiquant si le signal de la ligne 105 ou celui de la ligne 109 doit être transmis au con- vertisseur A/N 111 Un signal appliqué sur une ligne 117 qui provient également de l'unité de traitement 91 indique égale- ment au multiplexeur 113 le moment o il doit choisir l'un ou l'autre des signaux Un signal de commande émanant de l'u- nitê de traitement 91 et appliqué sur une ligne 119 est trans- * mis au convertisseur A/N 111 pour déterminer le moment o il doit commencer sa conversion De même, un autre signal appli- qué sur une ligne 121 détermine le moment o la valeur de conversion du convertisseur doit âtre lue Une version numé- rique des tensions analogiques des lignes 105 et 109 est ainsi présentée séquentiellement à un bus de données du sys- tème 123 de l'unité de traitement 91 Ce bus de système est connecté,par l'intermédiaire d'une mémoire-tampon appropriée ,au bus 23 du système de l'unité de traitement principale 25 (représentée sur la Fig 2). On décrira maintenant,à l'aide du diagramme des temps de la Fig 5 et de l'organigramme de la Fig 8,le fonctionne- ment du circuit de la Fig 4 pour obtenir les coordonnées X et Y d'une connexion particulière entre les résistances X et Y 37 et 41 La Fig 5 représente la relation chronolo- gique des signaux de sept lignes différentes de la Fig 4, ces lignes étant identifiées sur la Fig 5 A un temps ini- tial t O, le signal CONTROLE DU PANINEAU de la ligne 95 passe à un haut niveau (de son état O à sont état 1) de même que le signal de commande TPD de la ligne 93 Comme on peut le voir sur le schéma logique de la Fig 4, cette condition a pour effet que les transistors QI, Q 2 et Q 4 sont à l'état bloqué (non conducteur) tandis que les transistors Q 3 et Q 5 sont dans leur état passant (conducteur) Ceci a pour effet d'appliquer une tension à l'entrée non inverseuse de l'am- plificateur 103 si les feuilles résistives X et Y se touchent à un point quelconque Ceci produit une tension positive sur la ligne 127 de sortie de l'amplificateur 103 transmettant un signal SUR PANNEAU à l'unité de traitement 91 On suppose aux fins de cet exemple qu'il y a une fermeture du circuit entre les deux résistances 37 et 41 à un certain point et qu'ainsi le signal SUR PANNEAU (courbe (B) de la Fig 5) suit la même forme que le signal CONTROLE DU PANNEAU (courbe (A)>. Au temps tl, le signal CONTROLE DU PANNEAU de l'unité de traitement 91 est amené à retourner à son état de bas ni- veau ou état O et le multiplexeur 113 est connecté pour re- cevoir le signal analogique de la position X de la ligne 105 par les signaux appropriés qui lui sont appliqués sur les lignes 115 et 117 par l'unité de traitement 91 A cet instant, la combinaison d'un signal de bas niveau CONTROLE DU PANNEAU et du haut niveau qui est maintenu du signal TPD de la Fig. 5 (C) a pour effet, comme on peut le voir en examinant les circuits logiques de la Fig 4, de faire passer les transis- tors QI et Q 2 à l'état conducteur tandis que les autres tran- sistors Q 2, Q 3 et Q 5 passent à l'état bloqué ou non conduc- teur La tension au point de la résistance 41 qui est en con- tact avec la résistance 37 est ainsi transmise par l'intermé- diaire de l'amplificateur opérationnel 103 et du multiplexeur 113 à l'entrée du convertisseur A/N 111 Au temps t 2,l'ins- truction est donnée au convertisseur 111 de commencer sa con- version et à un temps t 3,il reçoit l'instruction de trans- mettre la valeur de la tension de la ligne 105 au bus de don- nées 123 sous une forme numérique qui représente la coordon- née X du point de contact. Egalement au temps t 3, le signal TPD retombe à un bas niveau et le multiplexeur 113 est commuté pour recevoir le signal analogique de la position Y transmis sur la ligne 109. Les circuits logiques de la Fig 4 ont pour effet, dans ces conditions, de faire passer les trasistors Q 1 et Q 3 à l'état non conducteur tandis que le transistor Q 5 reste non conduc- teur et que les transistors Q 2 et Q 4 passent & l'état conduc- teur La résistance X est alors utilisée pour appliquer à l'amplificateur 107 la valeur de la tension au point de la résistance 37 o un contact a fté établi par l'utilisateur en appuyant à un emrplacemient de ela surface du panneau à con- tact Au temps t 4,le convertisseur A/N 111 reçoit l'instruc- tion de commencer sa conversion etau temps t 5 i 1 reçoit l'instruction de transférer la valeur numérique de la ten- sion analogique de la position Y de la ligne 109 au bus de données 123. A ce stade, les deux coordonnées X et Y d'un point de contact sur le panneau à contact ont été déterminées et sont disponibles pour être transmises à l'unité de traitement hôte 25 (Fig 2) par l'intermédiaire du bus 23 du système. Cependant, comme représenté sur les Fig 5 et 8,il est pré- férable d'effectuer un contrÈle final pour s'assurer qu'il existe une fermeture de circuit entre les résistances 37 et 41 à la fin du cycle Le cycle dure environ 3 millisecondes dans cet exemple particulier et il est préférable de n'ac- cepter les valeurs de coordonnées X et Y que si le contact a duré au moins pendant cette période Dans la négativeil est peu probable que les données soient des données valides Par conséquent, au temps t 6, le signal CONTROLE DU PANNEAU et le signal TPD repassent à un haut niveau et si le signal SUR PANNEAU passe également à un haut niveau, comme indiqué sur la Fig 5, le système sait alors que le contact détecté sur le panneau à contact était un contact effectif et que les valeurs X et Y peuvent être transmises au système pour être exploitées. La forme de l'information numérique engendrée par l'u- nité de traitement 91 et transmise au bus 23 du système a été représentée sur la Fig 7 Deux multiplets 131 et 133 sont transmis immédiatement l'un après l'autre par l'unité de traitement 91 Le multiplet (octet) de données 133 con- tient une représentation numérique des données tandis que le multiplet (octet) d'état 131 immédiatement précédent identifie les données Il y a trois types de données trans- mises de cette manière Le premier type sert à indiquer qu'une des touches ou boutons 65 à 79 à contact de la Fig 3 a été touché et à identifier lebouton actionné L'unité de traitement 91 compare les informations de coordonnées engen- drées de la manière décrite ci-dessus aux limites X et Y con- nues de chacune de ces zones de bouton-poussoir Elle en- gendre alors dans le multiplet d'état 131 un code indiquant qu'une zone de bouton quelconque a été touchée et elle en- gendre dans le multiplet de données 133 pour ce type d'infor- mations l'identité du bouton particulier qui a été actionné. Si l'unité de traitement 91 détermine que les coordon- nées X-Y reçues se trouvent dans la zone 63 de commande de curseur du panneau à contact de la Fig 3 e l'existence d'in- formations de commande de curseur est indiquée dans le mul- tiplet d'état 131 de la Fig 7 et les informations relatives aux coordonnées X-Y exactes du point de contact au cours d'un cycle donné sont incluses dans le multiplet de données 133. Etant donné que les coordonnées X et Y sont calculées toutes les 30 à 40 millisecondes, dans un mode de réalisation parti- culier, le déplacement d'un doigt sur la zone 63 du panneau à contact a pour effet que l'unité de traitement 91 transmet périodiquement de nouvelles informations de coordonnées X et Y en tant que partie du multiplet 133 A un premier instant, le multiplet 131 indiquera qu'une valeur de coordonnée X est indiquée dansle multiplet 133 et l'instant suivant que la valeur de coordonnées indiquée est dans la direction Y et ainsi de suite Cette information est ensuite utilisée par l'unité de traitement h 8 te 25 avec le matériel ou le logiciel habituel de commande de curseur pour provoquer le déplacement du curseur sur la visu 17 sur une distance et dans une direc- tion qui sont fonction du déplacement du doigt sur la zone 63 du panneau à contact Ceci constitue le second des trois types de données engendrées par l'unité de traitement 91 à partir des informations X-Y ainsi obtenues du panneau à con- tact. Dans un mode de réalisation préféré de ce second type d'informations, l'unité de traitement 91 transmet dans le multiplet de données 133 le déplacement différentiel plu- tôt que la position X-Y absolue, c'est-à-dire que la dis- tance de déplacement de la fermeture d'un circuit entre les feulles résistives 37 et 41 depuis que la dernière lecture a été effectuée est indiquée En outre, il est souhaitable de ne pas appliquer les signaux différentiels directement au matériel ou logiciel commandant le curseur étant donné que ceci aurait pour effet de faire suivre au curseur un trajet erratique dans le cas o le doigt de l'utilisateur ne sui- vrait pas un trajet régulier Par conséquent, l'unité de traitement 91 effectue une certain égalisation des valeurs de déplacement X et Y différentiel successivement acquises en transmettant au bus 31 du système une moyenne de plu- sieurs lectures différentielles O La Fig 6 représente les éléments 135, 137 et 139 d'un registre interne à l'unité de traitement 91 ainsi que les -éléments 141, 143 et 145 d'un autre registre interne Chaque nouvelle valeur de déplacement ME différentiel est introduite dans le premier étage 135 du premier registre tandis que chaque nouvelle valeur de déplacement Y incrémentiel est introduite dans le premier étage du second registre Au cours de chaque cycle de curseur successif, ces valeurs sont décalées dans les registres, de gauche à droite puis détruites. La valeur de déplacement X différentiel transmise par l'unité de traitement 91 au bus 23 du système au moyen du multiplet 133 est la moyenne des trois valeurs contenues dans les élé- ments 135, 137 et 139 du registre De même, la valeur du dé- placement Y incrémentiel est déterminée en établissant la moyenne des trois dernières valeurs incrémentielles enregis- trées dans les éléments 141, 143 et 145 du registre. Il est également souhaitabledans la plupart des appli- cations,de prévoir une caractéristique de changement d'é- chelle des déplacements du curseur en réponse au déplacement du doigt dans la zone X-Y 63 du panneau & contact Ainsi, l'unité de traitement hôte 25 avant d'appliquer les valeurs X et Y incrémentielles moyennes au logiciel ou au matériel 2544 103 habituel de commande de curseur manipule ces valeurs à l'aide d'une grandeur proportionnelle à la vitesse de dé- placement du contacte Une technique préférée consiste à éle- ver ces valeurs mathématiquementau carré puis à multipler ce résultat par une constante appropriée (qui peutêtre l'u- nité> Ceci a pour effet que le curseur se déplace plus loin sur l'écran 17 de la visu pour une distance donnée de dépla- cement du point de contact sur le panneau à contact lorsque la vitesse de ce déplacement s'accroît On peut voir que, du fait que chaque valeur X et Y incrémentielle représente le déplacement du point de contact pendant une période de temps fixe qui est le temps du cycle de mesure des valeurs X et Y, l'élévation au carré de ces valeurs différentielles avant de les appliquer au matériel ou au logiciel habituel de commande decurseur déplace le curseur sur une distance qui dépend de la vitesse de déplacement du point de contact. Si l'utilisateur désire que le curseur se déplace sur une courte distance, il déplace le doigt lentement sur la sur- face 63 du panneau à contact Un déplacement rapide du doigt a pour effet que le curseur se déplace plus loin pour la même distance de déplacement du doigt. Nous référant à nouveau au format de données représen- té sur la Fig 7, le troisième et dernier type d'informations transmis de cette manière par l'unité de traitement 91 au bus 23 du système est une information indiquant qu'un coup bref a été appliqué à la zone 63 X-Y du panneau à contact En d'autres termes, une fois que l'unité de traitement 91 a dé- terminé à partir des coordonnées X et Y qui lui sont pré- sentées qu'une fermeture de circuit particulière entre les surfaces résistives 37 et 41 se trouve à l'intérieur de la zone 63 de commande du curseur X-Y, elle effectue alors d'autres investigations en effectuant des interrogations successives pour déterminer ( 1) si le temps de fermeture est supérieur ou inférieur à un temps fixe particulier, ha- bituellement de l'ordre de quelques centaines de millise- condes et ( 2) si la fermeture de circuit a été déplacée sur une distance plus ou moins supérieure à une certaine dis- tance définie dans la direction X ou à une autre certaine distance définie dans la direction Y pendant cet intervalle de temps fixe particulier Si le temps de fermeture est s Dpé- rieur à cette période de temps fixe particulière ou si le déplacement du contact est supêrieur à l'une de ces certaines distances X et Y définies, le contact est alors interprété comme une commande de déplacment ddu curseur et le secoid type de mot de données décrit ci-dessus en se référant à la Fig 7 esttransmis. Cependant, si la fermeture de circuit à une durée infé- rieure au temps prédéterminé et si le déplacement du contact est inférieur aux certaines distances X et Y définies, un coup bref est détecté et une forme différente de données selon la Fig 7 est transmise au bus 23 du système Le mul- tiplet d'état 131 indique alors une autre touche à contact (bouton poussoir); c'est-à-dire que le coup tapé est traité simplement comme une autre zone de bouton-poussoir mais un bouton-poussoir sépare n'a pas été nécessaire pour engendrer ce signal Le multiplet de données 133 indique par un code propre qu'il s'agit d'un coup tapé Bien que l'emploi à la fois du temps et de la distance de déplacement du contact pour différencier un coup bref d'un signal de déplacement du curseur soit préféré pour la plupart des applications, l'emploi d'un seul de ces facteurs ou de l'autre est satis- faisant pour certaines applications, Ainsila zone 63 de déplacement du curseur X-Y remplit la fonction supplémentaire d'engendrer un signal du type bouton-poussoir qui est très avantageusement utilisé par l'unité de traitement hôte 25 comme signal d'exécution du type qui suit normalement le repositionnement du curseur sur un écran de visu d'ordinateur Ainsi, l'utilisateur n'a pas besoin de quitter l'écran des yeux pour trouver un autre bouton qu'il doit pousser pour provoquer une exécution dé- sirée à l'emplacement du curseur mais il lui suffit d'appli- quer un coup bref sur la zone X-Y 63 o son doigt est déjà place. Un autre avantage que présente la génération du signal 2544 1 03 tapé de cette manière est qu'elle simplifie le circuit élec- trique La simplification entraînant une réduction du nombre des éléments de circuit présente un très grand intérêt dans le cas d'un ordinateur portatif et, dans d'autres domaines d'application,elle entraîne des économies financières. Une annexe jointe donne une liste en code d'origine d'un programme de commande de l'unité de traitement 91 qui lui permet d'exécuter toutes les fonctions de commande du système et de traitement des données que l'on a décrites ci- dessus comme étant exécutées par cette unité de traitement. Cette annexe est écrite en langage d'assemblage Intel pour le microprocesseur 8051 Le programme de commande pour cer- taines des étapes d'exécution représentées dans l'organi- gramme de la Fig 8 est donné dans les parties de l'annexe désignées états 80, 81, 90 et 91 ainsi que dans certaines des sous-routines. Les calculs décrits ci-dessus comme étant exécutés par l'unité de traitement 91 sont représentés dans le diagramme d'états de la Fig 9 qui montre le fonctionnement de l'en- semble pris globalement du logiciel de commande de l'annexe. Les opérations exécutées par le logiciel de l'annexe dans les parties désignées états 10 et 1 sont représentées par un cercle 151 sur la Fig 9 Dans cet état, le système est inactif pendant qu'il exécute ses cycles répétitifs d'inter- rogation du panneau à contact pour déterminer si une ferme- ture de circuit entre les feuilles résistives 37 et 41 s'est produite Lorsqu'une fermeture de circuit est détectée du fait que SUR PANNEAU est retourné, le système suit un tra- jet 153 jusqu'aux états 20 et 21 indiqués dans un cercle 155, si cette fermeture de circuit se trouve dans la zone X-Y 63 du panneau à contact Si la fermeture de circuit est détectée, au cours des états 10 et 11, comme étant située dans l'une des zones de bouton-poussoir 65 à 79, le système suit alors un trajet 157 jusqu'à un état 30 représenté par un cercle 159 Lorsqu'il est dans l'état 30,le système in- dique simplement en sortiesous un format que l'on a décrit en se référant à la Fig O 7, la zone de bouton-poussoir parti- 2544 1 03 culière qui a été pressée tant que le signal SUR PAINEAU reste à un haut niveau. Si le système se trouve dans létat 155 par suite d'une formeture de circuit dans la zone 63 de commande de curseur X-Y, il détermine si la fermeture de circuit présente les caractéristiques d'un coup bref d'exécution ou, au contraire, d'une commande de déplacement du curseur, conformément aux critères examinés ci-dessuso S'il est déterminé qu'il s'agit d'un coup bref, le système suit un trajet 161 jusqu'à des états 50 et 51 représentés par un cercle 163 D'autre part, s'il est déterminé que la fermeture de circuit est une ins- truction destinée à provoquer un mouvement X-Y, le système suit un trajet 165 jusqu'aux états 40 et 41 représentés sur la Fig 9 par un cercle 167 Lorsqu'il est dans les états 40 et 41,le système continue à produire en sortie des valeurs de déplacement X et Y différentiel sous la forme de signaux numériques dans le format que l'on a précédemment décrit en se référant à la Fig 7. Lorsque le système est dans les états 40 et 41, un cycle d'exécution au cours duquel a été détectée la dispari- tion du signal SUR PAN 1 EAU a pour effet que le système suit un trajet 169 jusqu'aux états 50 et 51 Lorsque le système est dans ces deux derniers états, il retourne aux états 40 et 41 suivant un trajet 171 si le signal SUR PANNEAU ne reste absent que pendant un temps inférieur à un temps prédétermi- né (compte M) Cette caractéristique fournit la capacité d'accepter le "patinage'; en d'autres termes, le doigt de l'opérateur en se déplaçant sur la zone X-Y 63 peut s'écar- ter temporairement de la surface ou n'appliquer pendant une courte période de temps qu'une pression trop faible pour provoquer une fermeture de circuit sans que ceci provoque le passage du système à un autre état Cependant, dès que le système détecte que le signal SUR PANNEAU a été absent pen- dant une période supérieure à un temps prédéterminé, le sys- tème, fonctionnant dans les états 50 et 51,retourne par un trajet 173 aux états initiaux 10 et 11. Une autre caractéristique du logiciel de l'annexe est, 2544 1 03 21. comme représenté sur son diagramme d'états de la Fig 9, le passage des états 50 et 51,par un trajet 175,à l'état 30 e lorsque le signal SUR PANNEAU est rétabli en un temps infu- rieur au temps prédéterminé mais,par suite du déplacement du point de contact de la zone X-Y 63 à l'une des zones 65-79 (Fig 3),dans l'une de ces zones de bouton. Bien que l'on ait décrit les divers aspects de la pré- sente invention en se référant à un mode de réalisation pré- féré, il est bien entendu que la présente invention et ses divers aspects ne sont limités que dans la mesure définie par les revendications annexées. ANNEXE Mar 31 13:11 1983 tpad a 51 Page 1 GAVILAN 21/3/83 Richard B Ravel copyright 1983 gavilan computer corzoration ___ _ _ _ _ _ * p 2 3 -'sur panneau' (détecter contact sur panneau) p 2.4 'tpd' (mise en fonction axes des X)( 1 = x, O =y) : _ -_ _ _ _ __ ; Entrer ici pour la t 8 che de panneau à contact puis effectuer un branchement a l'état approprié do touchpad: mov mov clr subb jnc call dotpdl: mov mpv jmp psw,n rbl a,tpdstate c a,n tpd state 80 do tpdl pad check a,tpdstate dptr,n tpd _jmp _tbl *a+dptr ; tpd_jmp_ tbl: ajmp tpdsl O choisir bloc de registres 1 mettre état dans 'a' effacer report comp état en cours avec n tpd_ état 80 NOTER que n tpd_état 80 <> O x O 80 branchement si état 80 ou sup puis- qu'on NE VEMT PAS contr 6 ler sur panneau mettre indicateur sur panneau remettre état dans 'a' préparer pour branchement à table effectuer branchement au moyen de la table ci-dess ous ère état inactif & 1 re détection sur panneau Mar 31 13:11 ajmp ajmp ajmp ajmp ajmp ajmp ajmp ajmp ajmp ajmp ajmp ajmp 1983 tpad a 5 l Page 2 tpd sl 1 tpd_s 20 tpd_s 21 tpd S 30 tpds 40 tpd_s 41 tpds O 50 tpd_s 51 tpd B S 80 tpd S 81 tpd_s 90 tpds 91 déterminer touche ou panneau-xy ddterminer si toujours sur panneau signaler coup bref ou mouvement-xy état relâchement touche lectures mouvement-xy signaler mouvement-xy ou sortir effectuer lecture xy mouvement-xy ou état relâchement coup bref' commencer conversion x: lire conversion x;préparer pour y commencer conversion y lire conversion y ETAT 10 tpdsi O: jb statusoonpadtpd_s 10 a rav padcount, N 2- branchement si on est sur panneau on doit obtenir 2 valeurs sur pan- neau avant d'agir sur la valeur du panneau à contact TOUTES LES SORTIES NORPIJ 3 LS SE FONT PAR CE POINT tpd exit: mov tpd_timer,n tpd_sample_rate; préparer temps de retour jmp main; sortir et revenir ultérieurement Venir ici si on est sur panneau On ; doit venir ici deux fois avant d'agir. tpd_s 1 i Oa: # 4 10 3 Mar 31 13:11 1983 tpad a 51 Page 3 jnb status adcactive,tpd_s 10 b 1 branchement si convertisseur A/N i (adc) n'est pas en service _____ TOUTES LES SORTIES POUR CONV A/N (ADC) OCCUPE S'EFFECTUENT PAR CE POINT adc busyexit: mov tpdtimer,n adc wait; ré-essayer dans lms (conv A/N(adc) ; occupé) jmp main; revenir bient 6 t tpdsl Ob: djnz padcount,tpdexit; on doit obtenir 2 valeurs sur panneau avant d'agir sur la valeur mov tpd ret state,n tpd_state 11; préparer retour à état 11 COMENCER LA CONVERSION X-Y S$EFFECTUE ICI start_ xyconv: setb status adc active; exclure toute autre activité du conv. A/N mov r O,n padon loc -; préparer emplacement de 'padon' (con- tr 6 le du panneau) mov a,n padon O; préparer arrêt détection sur panneau movx er O,a; arrêt détection sur panneau, maintenant prêt pour préparer conversion x mov r O,n xchannel; préparer enregistrement canal x dans conv A/N movx er O,a; enregistrer canal x; données sans si- ; gnification mov tpd_state,n tpdstate 80; revenir et commencer conversion x TOUTES LES PREPARATIONS XY ATTENDENT SORTIE A CE POINT _ _ xy_setupexit: mov tpdtimer,n xy_setup; commencer conversion dans 1 ms jmp main f effectuer autre chose en attendant _ ____ __ _ _ ___ __ __ __ _ _ _ _ _ _ _ 2544 1 03 Mar 31 13:11 1983 tpad a 51 Page 4 ; ETAT 11 l Revenir ici après avoir effectué une lecture x et y i 1 tpd_ sll: jb status onpad,tpdslla; branchement si on est encore sur panneau mov tpd_state,n O tpd statel O; ce doit être des parasites, recom- imp tpd exit mencer sortir et revenir ultérieurement where am i déterminer si touche ou panneau-xy S'il y a un retour à partir de ce point,ce doit être un mouvement-xy. Sinon where am i signale une touche et retourne à l'état de relâche- ment de touche ( 30) et la détermination de CET Tf E adresse de retour aura été effectuée. ; tpd_sllb: call flush deltas; mettre à zéro tous les deltas et initialiser les récepteurs de x et y mov pad count,n tap count; préparer comptage délai de coup bref tpdsuc: mov tpd_state,n tpd-state 20; préparer retour à état 20 jmp tpd exit; sortir et revenir ultérieurement $W$ tpd_slla: call Mar 31 13:11 1983 tpad a 51 Page 5 Richard B Ra':el GAVILAN 21/3/83 ETAT 20 __ _ ; Dtermn Lier s'il s'agit d'un coup bref ou d'un mouvement-xy o tpd S 20: jb status onpad,tpd_s 20 c; branchement si on est sur panneau ; - SIGNALER UN COUP BREF passer ici en séquence si non sur panneau==>signaler un'coup bref' reporttap: mov b,n xytap; indiquer un'coup bref' mov a,n touchkey; le genre est une touche call to 8088; transmettre mov psw,n rbl; restaurer bloc de registres 1 ; Faire produire un 'clic' par l'avertisseur sonore call click; faire produire un clic par l'aver- tisseur sonore pour signaler un ; 'coup bref' tpd S 2 Ob: mov padcount, n release count; préparer pour état rel&chement xy ; ou coup bref mov tpd state,n O tpdstate 50; retourner à l'état de relâchement pour un coup bref Mar 31 13:11 1983 tpad a 51 Page 6 jmp tpd_exit sortir et revenir ultérieurement ; Aboutir ici si l'on n'est pas sûr d'un 'coup bref' ou d'un mouvement xy et effectuer une autre lecture tpd S 20 c: jb status adcactive,adcbusy_exit l O; branchement si convertisseur A/N occupé et retourner état 20 tpd S 20 d: mov tpdret state,n O tpd__state 2 l; retourner à état 21 jmp startxy_conv; commencer une conversion à I ETAT 21 à à à g contrôler si non sur panneau; si non sur panneau signaler un coup bref; sinon, contrôler déplacement ou expiration délai tpd_s 21: jnb status onpad,reporttap; branchement si on N'est PAS sur panneau call calc deltas calculer deltas et décaler dans canaux contrôler déplacement x mov a, latest_x clr c subb a,first_x jnc tpd_s 2 Ib déplacer x le plus récent dans 'a' mettre report pour arith à complé- ment à 2 lire 81 er delta' branchement si delta est positif 2544 1 03 Mar 31 13:11 1983 tpad a 51 Page 7 tpd_s 21 a: cpl inc clr tpd_s 21 b: subb jnc a a c complémenter 'a' (complément & 1) complément à 2 effacer report an min_ dx tpds 21 g comparer 1 er dx à dx min branchement si 1 er dx≥dx min (ceci signifie un déplacement) Passer ici en séquence pour contr 6 ler le mouvement y o tpd_s 21 c: mov a,latest y clr c subbhh a, first y jnc tpd_s 2 le tpd S 21 d: cpl a inc a clr c tpd_s 21 e: subb jnc a,n min dy tpd_s 21 g déplacer y le plus récent dans 'a' mettre report pour arith à complément a 2 lire,ler delta' branchement si delta est positif complémenter 'a' (complément à 1) complément à 2 effacer le report comparer er_dy à dymin : branchement si 1 er dy≥dy_ min (ceci signifie un déplacement) passer en séquence et contrôler pour déterminer s'il est temps de ; considérer que ce ne peut pas être un coup bref tpds 21 f: djnz pad_counttpd_silc branchement si on N'EST PAS resté ici trop longtemps RETOURNER A ETAT 20 ET EFFECTUER UNE NOUVELLE LECTURE aller à sortie tpd 2 44 103 Mar 31 13:11 tpad a 51 Pge 8 Aller ici si déplacement ou si temps trop long pour un coup bref *SIGNALER DOIGT APPUYE tpd S 21 g: clr a mov b, a mov a,n deltax call to 8088 mov psw,n rbl : _ __________________- O chargé dans 'b' ==> doigt appuyé sur panneau' indiquer delta x signaler 8088 doigt appuyé restaurer bloc de registres 1 SIGNALER DELTAS Il faut établir la moyenne de deltas avant de les transmettre I signaler deltas: MOYENNE DES DELTAS à _ Cette routine établit la moyenne des 3 deltas x et des 3 deltas y. Les restes respectifs sont également propages avgdeltas: mov average dx, n O mov r O,n dxl avgxl: mov a,&r O add a,n excess_ 128 mov b, n 3 commencer avec moyenne O adresse de dxl dans r O 1 er delta dans 'a' créer excès de 128 préparer pour division 2544 103 Mar 31 13:11 1983 tpad a 51 Page 9 div ab add a,averagedx mov average Adxa mov a,b add a,remainder x mov remainderx,a inc r O cjne r O,n dx 3 + 1,avgxl diviser ==> a/b accumuler moyenne accumuler moyenne reste dans 'a' accumuler reste (toujours positif) sauvegarder reste accumulé préparer pour delta suivant branchement si pas encore 3 deltas Passer en séquence lorsque la moyenne des deltas x a été effectuée et établir la moyenne des restes de l'ajouter au delta. NOTE: 'a' contient déjà le reste x ; avg_x 2: mov b,n 3 div ab mov remainder x,b add a,average dx clr c subb a n excess 128 mov averagedx,a préparer pour dividion diviser ==> a/b sauvegarder nouveau reste ajouter au reste dont la moyenne a déjà été établie préparer pour arith à complement à 2 faire de delta un nombre en complé- ment à 2 sauvegarder la nouvelle moyenne I 1 est temps maintenant d'effectuer la moyenne des deltas y ====> NOTE: r O contient l'adresse de dyl à la suite de la routine ci-dessus avg yl: mov averagedy,n O avg y 2: mov a, r O add a,n excess 128 mov b,n 3 div ab commencer avec moyenne O 1 er delta chargé dans 'a' créer un excès de 128 préparer pour division diviser ==> a/b Mar 31 13:11 1983 tpad a 51 Page 10 add a,average dy mov average_dy,a mov ab add a,remainder y mov remainder y,a inc r O cjne r O, n dy 3 + 1,avg_y 2 accumuler moyenne accumuler moyenne reste chargé dans 'a' accumuler reste (toujours positif) sauvegarder reste accumulé préparer pour delta suivant branchement si pas encore 3 deltas ;à ____ passer en séquence lorsque la moyenne des deltas y a été effectuée et établir la moyenne des restes et l'ajouter au delta NOTE: 'a' contient déjà le resteyavgy 3: - mov b,n'3 div ab m"v remainderyb add a,averagedy clr c subb a,n excess_ 128 préparer pour division diviser ==> a/b sauvegarder le nouveau reste ajouter la moyenne du reste préparer pour arithm en complément à 2 faire de delta un nombre en complé- ment à 2 SIGNALER DELTA Y SI NON= O NOTE: 'a' contient déjà la moyennedy tpd_s 21 h: jz tpds 21 i mov b,a mov a,n delta y call to 8088 mov psw,n rbl branchement si delta est O (pas de : signalisation) données dans 'b' indiquer valeur deltay transmettre la moyenne de delta y restaurer bloc de registres 1 SIGNALER DELTA X SI NON= O ; 2544 1 03 Mar 31 13:11 1983 tpad a 51 Page 11 tpd_s 21 i: 510 V jz mov "ov call mov tpds 21 j: "o V tpd S 21 k: jmp a,averagedx tpd_s 21 j b,a a,n delta x to_ 8088 psw,n rbl moyenne de la valeur x dans 'a' branchement si delta est 0 (pas de signalisation) données dans 'b' indiquer delta x transmettre la moyenne de delta x restaurer bloc de registres 1 tpd,state, n tpd_state 40; retourner à l'état de signalisation du mouvement-xy tpd exit $W$ ; Richard B Ravel sortir et revenir ultérieurement GAVILAN 21/3/83 ETNT 30 : _ _ _ _ _ __-_ _ tpds 30: jnb status onpad,tpds 30 a; branchement si ON N'EST PAS sur panneau jmp tpd exit; sortiret revenir ultérieurement venir ici si non sur peanneau I 1 est temps de tout recommencer à l'état 10 ; tpd_s 30 a: mov tpdstate,n tpd_statel O; préparer retour à état 10 Mar 31 13:11 tpad a 51 Page 12 mov pad count,n 2 l tpda 30 b: jmp tpexit on doit détecter 2 valeurs sur pan- neau avant de traiter la valeur du 1 panneau à contact sortir et revenir ultérieurement W Richard B Ravel $ GAVILAN 2 I/3/83 ETAT 40 Si non sur panneau, signaler doigt soulevé (non sur panneau) aller à l'état 50 et attendre expiration du délai de relâchement Si sur panneau effectuer une autre lecture et transmettre les deltas tpd_s 40: jb status onpad,tpds 4 Cb; branchement si sur panneau et contr 6 ler si conv A/N (adc) est occupé SIGNALER DOIGT SOULEVE W 2544 103- Mar 31 13:11 tpad a 51 Page 13 a ba a,n deltay to_ 8088 psw,n rbl tpd _s 20 b O chargé dans 'b' ==> doigt soulevé ALLER A ETAT 50 status adc active,tpd _s 40 c branchement si conv A/N (adc)est occupé jmp adc busy_exit : revenir prochainement (lms) tpd _ 40 c: mov tpd ret state, ntpd _state 41 retourner à état 41 après lecture xy jmp start_xy conv; retourner exécuter une conversion xy ETAT 41 _ _ _ ; Si sur panneau calculer les deltas, établir leurs moyennes et les - transmettre Si non sur panneau signaler doigt soulevé (non sur pan- neau) et aller à l'état 50 tpd S 41: jnb status onpad,tpds 40 a; branchement si non sur panneau et signaler doigt soulevé puis ALLER A ETAT 50 tpd S 40 a: clr mov mov call mov jmp tpd _s 4 b: jnb 2544 103 Mar 31 13:11 1983 tpad a 51 Page 14 Passer en séquence ici si encore sur panneau,calculer les deltas, établir leurs moyennes et les transmettre si elles ne sont pas nulles et ; RETOURNER A ETAT 40 tpd_s 41 a: call calc deltas jmp reportdeltas calculer les deltas et décaler dans canaux établir les moyennes de deltas et les transmettre RETOURNER A ETAT 40 Richard B Ravel GAVILAN - 21/3/83 ; ETAT 50 _ _ _ _ _ _ _ _ _ _ _ _ _ _ Etat de relâchement de mouvement_xy et de coup bref ; On doit détecter un 'compte de relâchement' de valeurs non sur panneau consécutives avant de retourner à l'état 10 S'il se produit un retour surle panneau, il faut alors déterminer s'il est sur le panneauxy ou sur une touche S'il est sur une touche, le signaler et aller à l'état 30 S'il est sur le panneauxy, effacer les deltas,signaler ; doigt appuyé et aller à état 40 pour transmettre de nouveaux deltas. tpds 50: jnb status onpastpd_s 5 Oc, branchement si non sur panneau ; Passer en séquence ici si sur panneau Préparer l'exécution d'une lecture xy - $W$ Mar 31 13:11 1983 tpad a 51 Page 15 tpd_s 50 a: jnb status adc active, tpd_s 50 b branchement si conv A/N (adc) est occupé et REVENIR A ETAT 50 jmp adcbusy_exit; revenir dans Ims (conv A/N occupé) tpd_s 5 Ob: mov tpd_retstate,n tpdstate 51; REVENIR A ETAT 51 APRES LECTURE jmp startxy conv; commencer une conversion xy Venir ici si non sur panneau au moment de l'entrée dans cet état tpd_s 5 Oc: djnz padcount,tpd_s 3 Ob; branchement si délai NON expiré et retourner d'ici à état 50 (ceci est une sortie normale) ; Passer en séquence ici si délai expiré et si on est prêt à revenir au début du temps de comptage de sorte qu'on peut détecter un nouveau coup bref. tpd_s 50 d: jmp tpds 3 Oa RETOURNER A ETAT 10 ETAT 51 Contrôler si sur panneau Si encore sur panneau déterminer s'il s'agit du panneauxy ou d'une touche. tpd_s 51:' jb status onpad,tpd_s 5 lb branchement si encore sur panneau 2544 103 Mar 31 13:11 1983 tpad a 51 Page 16 Passer en séquence ici si non sur panneau et vérifier s'il est déjà temps de revenir & état 10 ; tpd_s 51 a: mov tpdstate,n tpd state 50; préparer retour & état 50 jmp tpds 50 c; contrôler expiration délai d'attente tpd_s Slb: call where am i déterminer s'il s'agit d'une touche ou du panneauxy f S'il se produit un retour & partir de ce point, ce doit être ; un mouvementxy Sinon wheream i signale une touche et retourne l'état de rel&chement de touche ( 30) et la détermination de CETTE adresse de retour aura été effectuée. tpd_s 51 c: call flush deltas on SIGNALER DOIGT APPUYE clr a mov ba mov a,n O deltaz x call to 8088 mov psw,n rbl jmp tpds 21 j : _ ___ ___ ; $W$ Richard B Ravel mettre à zéro tous les deltas et initialiser les récepteurs de x et y 0 O chargé dans 'b' ==> doigt appuyé (sur panneau) indiquer delta x informer 8088 doigt appuyé restaurer bloc de registres 1 RETOURNER A ETAT 40 GAVILAN 21/3/83 Na 81 Mar 31 13:11 1983 tpad a 51 Page 17 -: : ETAT 80 - _-__________ tpd S 80: mov r O,n start conuy; préparer commencement conversion x movx er O,a; commencer conversion (données sont xxx) mov tpd _state,n tpd _state 81; retourner à état 81 TOUTES LES CONVERSIONS XY ATTENDENT ICI LA SORTIE xy_conv_exit: mov tpd _timerrn xyconversion; retour dans approximativement 0,5 ms imp main; sortir pendant quelque temps e EILT 81 _-___ ; Retourner ici lorsque la conversion x a été faite La lire et préparer la conversion y. tpds 81: mov r O,n readconv movx a,er O mov latestx,a préparer lecture valeur x lire valeur x sauvegarder cette nouvelle valeur x Préparer la conversion y tpd_s 81 la: clr p 2 4 mov r O,nychannel changer panneau à contact à axe y préparer enregistrement canal y dans conv A/N 2544 1 03 mar 31 13:11 1983 tpad a 51 Page 18 movx r O,a enregistrer canal y dans conv A/N (données sont xxx) mov tpdstate,n"TPD state 90; revenir et commencer la conversion y jmp xysetup_exit; sortir pour quelque temps ; $W$ Richard B Ravel ; GAVILAN 21/3/83 ETAT 90 Commencer la conversion y tpd S 90 mov r O,n startconv; préparer commencement conversion y movx er O,a; commencer conversion y(données sont xxx) mov tpd_state,n tpd_state 91; retourner àl'état 91 et lire y jimp xy_conv _exit; sortir pour un bref instant ; ETAT 91 ;Lire la conversion y ; Lire la conversion y tpds 91: clr status upper key mov r 0,n readconv movx a,er O jb acc 7,tpds 9 la admettre touche inférieure préparer lecture conversion y lire valeur y branchement si touche inférieure préparer état touche supérieure seth status upper key Mar 31 13:11 1983 tpada 51 Page 19 décaler la valeur y brute de 2 bits (division par 4) pour désensibiliser la direction y tpds 91 la: clr rrc clr rrc mov clr Mov c; effacer le report a; diviser par 2 c; effacer le report a; diviser à nouveau par 2 (total 4) latest y,a; sauvegarder nouvelle valeur y statusadcactive; fin de l'utilisation du conv A/N tpd_state,tpd_ret_state; retour à routine qui a demandé la jmp dotouchpad Richard B Ravel conversion retour à la routine ayant demandé la conversion GAVILAN 21/3/83 -; SOUS-ROUTINES O ED U_____________ o CONTROLE DU PANNEAU : __ _ _ _ _ __ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ ; Cette routine sert à contr 6 ler l'existence d'un contact 'sur panneau'. L'état 'sur panneau' est mis en conséquence Cette routine laisse le panneau à contact dans un état 'hors fonction' Cet état est un ; ; Mar 31 13:11 1983 tpad a 51 Page 20 état dans lequel l'axe des x est choisi et le signal de contrôle du panneau 'padon' est & un haut niveau Avant une conversion, le signal ; 'padon' doit être ramené à zéro. padcheck: mev mev movx setb e clr mov padwaitl: djnz r O,n"padon loc a,n"padon-1 r 0,a p 2.4 status onpad b,n" 080 h b,padwaitl préparer emplacement'padon' préparer condition'padon' porter 'padon' à haut niveau axe des x sur panneau à contact admettre non sur panneau préparer pour une boucle d'attente attendre pendant environ 275 lis jnb p 2 3,off pad onpad setb status onpad offpad ret saut si non sur panneau indiquer sur panneau pour échantil- lonnage du courant CALC DELTAS & DECALER DANS CANAL Cette routine calcule les deltas pour x et y et décale les deltas ; dans le canal d'une position à chaque fois et elle ajoute la nouvelle valeur Le delta le plus ancien est éliminé par décalage en sortie. Mar 31 13:11 1983 pad a 51 Page 21 le dernierx et le derniery sont mis & jour avec les valeurs les plus récentes Les deltas sont des entiers de 8 bits signés en comn- ;pldment & 2. cal deltas: calcdeltas: mov a,latesty clr c subb a,lasty calc deltl: mov b,a mov lasty,latest y obtenir valeur y la plus récemment dé- calée du conv A/N préparer pour arithm & complément à 2 calculer nouveau deltay laisser delta Ly dans 'b' pour décalage mettre à jour derniery _Calculer ma ntenant delta x Calculer maintenant delta x calcdelt 2: mov a,latest x - clr c subb a,lastx obtenir valeur x brute la plus récente : du conv A/N préparer pour arithmo complément à 2 calculer nouveau delta x laisser deltax dans 'a' pour décalage calc delt 3: nov lastx,latest x a doit contn le nouveau a' doit contenir le nouveau b' doit contenir le nouveau mettre à jour dernier x delta x delta y Décaler les valeurs delta x shiftpipe: mov dxl,dx 2 mov dx 2,dx 3 mov dx 3,a décaler le plus ancien en sortie et l'intermédiaire dans le plus ancien décaler premier delta dans delta interm 4 diaire décaler nouveau delta en entree 2544 1 03 Mar 31 13:11 1983 pad a 51 Page 22 décaler les valeurs delta y mov dyl,dy 2 mov dy 2,dy 3 mov ret décaler le plus l'intermédiaire décaler premier intermédiaire décaler nouveau dy 3,b ancien en sortie et dans le plus ancien delta dans delta delta en entrée EFFACER DELTAS ; Cette routine vide les mémoires-tampons delta et initialise les dernières valeurs x et y et les valeurs x et y en cours (qui sont les mêmes pour la première lecture) flush-deltas: m Ov r O,n dxl-1 flush 1: inc "ov cjne mov mov mov mov mov mov ret r O er O,n O O r 0,n dy 3,flush 1 firstx,latest x firsty,latest_y last x,latestx lasty,latesty remainder x,80 remainder y,80 préparer premier delta-1 O chargé dans delta branchement si non exécuté maintenir lèrevaleur x i ère maintenir ère valeury ceci est la première valeur prise ceci est la première valeur prise aucun reste x encore pour la moyenne aucun reste y encore pour la moyenne retour après exécution %OERE ADI I 44 Mar 31 13:11 1983 tpad a 51 Page 23 Mar 31 13:11 1983 tpad a 5 l Page 23 Cette routine détermine si le doigt est appuyé sur une touche ou sur ; le panneauxy S'il est sur une touche, elle signale la touche, re- monte la valeur de retour hors de la pile et passe à l'état 30 Si le doigt n'est pas sur une touche, elle retourne à la routine appe- lante par l'intermédiaire de la variable 'tpd ret state'. ; désignation des touches 0 2 panneau-xy 1 3 panneau-xy 4 6 8 (extrême droite) 7 9 ==> NOTE: les touches de la rangée ; les touches de la rangée supérieure sont PAIRES inférieure sont IMPAIRES Commencer contrôle auborddroit dela colonne O where am i: r O,n O O b,latestx a,n tpd col O max x c a,b where 6 admettre comme étant dans colonne O contrôler coordonnée x à gauche de max col O? préparer pour soustraction max col-x le + récent branchement si dans colonne O report est mis si x le + récent> max col ; Passer en séquence si n'est pas b contient encore x le + récent wherel: dans colonne O haut: bas: mov mov mov clr subb jnc o b 2544 1 03 Mar 31 13:11 1983 tpad a 51 Page 24 inc r O mov a,n tpdcol 1 max x clr c subb a,b jnc where 6 admettre comme étant dans colonne 1 & gauche de max col 1 ? préparer pour soustraction max col-x le + récent s branchement si dans colonne 1 report est mis si x le + récent>max col ; Passer en séquence si n'est 'b' contient encore x le + where 2: where 2: m"v a, n tpd_maxxy clr c subb a,b jc where 3 ret pas dans colonne 1 récent à gauche de max panneau-xy? préparer pour soustraction max _panneau-xy-x_le + récent branchement si NON dans panneau-xy report est mis si x le + récent>max col retour à routine appelante si on EST sur panneau-xy Passer en séquence si n'est pas dans panneau-xy 'b' contient encore x le + récent ; where 3: inc mov clr subb jnc r O a,n tpdco 12 max x c a,b where 6 admettre comme étant dans colonne 2 à gauche de maxcol 2 ? préparer pour soustraction max col-x le + récent branchement si dans colonne 2 report est mis si x le + récent>max col ; Passer en séquence si n'est pas dans colonne 2 'b' contient encore x le + récent 2544 1 03 Mar 31 13:11 1983 tpad a 51 Page 25 where 4: r O a,n tpd_co 13 max x c a, b where 6 admettre comme étant dans colonne 3 & gauche de maxcol 3 ? préparer pour soustraction max col-x le + récent branchement si dans colonne 3 report est mis si x le + récent>max col Passer en séquence si n'est pas dans colonne 3 'b' contient encore x le plus récent where 5: where 5: inc r O ON DOIT ETRE dans la colonne 4 Etant donné que nous savons que le doigt est dans une zone de touche, il doit se trouver dans l'une de ces colonnes Doubler le numéro - ; de colonne pour obtenir des nombres pairs. where 6: mov a,ro; colonne O à 4 ri a; multiplier par 2 (on admet que les bits ; les plus élevés sont des 0) jb status upper key,where?; branchement si une touche supé- rieure (PAIRE) Passer en séquence ici si touche inférieure et ; incrémenter pour obtenir la valeur IMPAIRE es touches infrieures sont impaires Inc a p les touches inférieures sont impaires SIGNALER UNE TOUCHE : where 7: inc mov clr subb inc 25441 03 L 7 Mar 31 13:11 1983 tpad a 51 Page 26 mov b,a mov a,n"touchkey ce sont les données de touche c'est l'état de touche à; ___ remonter l'adresse de retour de la pile étant donné qu'on retourne l'état de relâchement de touche ( 30) et non à la routine appelante cette adresse doit être remontée hors de la pile avant d'appeler la ; '8088 ' étant donné qu'on n'utilise qu'un seul niveau d'appels de sous- routine (pour la conservation de la pile). pop first x pop first x cet emplacement de mas n'est pas utilisé à ce moment dans la machine à l'état tpd cet emplacement de mas n'est pas u- tilisé à ce moment dans la machine à l'état tpd call to 8088 mov psw, n rbl ; faire produire un 'clic' pour call click transmettre touche à 8088 restaurer le bloc de registres 1 l'avertisseur sonore faire produire un clic par l'avertis- seur sonore pour un'coup bref' mov tpd_state,n tpd_state 30; RETOURNER A ETAT DE RELACHEMENT DE TQUCHE ( 30) jmp -tpd exit; sortir;revenir ultérieurement CLIC Cette routine sert seulement à préparer l'avertisseur sonore pour Mar 31 13:11 1983 tpad a 51 Page 27 qu'il produise un 'clic' Ce clic est destiné à indiquer un 'coup bref' ou l'actionnement ; d'une touche click: click: mov cycle_lsb, n O Od Oh mov tonelenght,n 2 mov scount,n 20 mov cyclemsb,n 20 mov spkr_state,n 2 setb etl valeur d'interruptionpourminuteur'à comptage progressif' unetrès courte durée du son un son raisonnablement bas retenir le son raisonnablement bas préparer tâche du haut-parleur pour qu'elle fonctionne jusqu'à achèvement mettre en fonction l'interruption du 'minuteur 1 ' retour à la routine appelantel et l'avertisseur doit maintenant émettre un clic ret : -; g- REVENDICATIONS 1 Un dispositif d'entrée et de commande conçu pour être utilisé avec un système d'ordinateur numérique ( 11) ayant une visu ( 17) et un système capable d'engendrer un curseur ( 19) et de le déplacer sur l'écran de la visu en réponse à des signaux d'entrée, ce dispositif constituant un disposi- tif auxiliaire à un clavier quelconque ( 13) et étant carac- térisé en ce qu'il comporte: une surface ( 21) sensible au contact qui produit un unique signal électrique indiquant la position dans deux dimensions d'un contact appliqué à cette surface; des moyens ( 63-79) prévus en combinaison avec cette surface pour définir plusieurs zones séparées dans l'espace sur cette surface; des moyens ( 151) recevant ce signal de position de contact pour engendrer un signal propre à chacune des zones d'une série de diverses zones sé- parées ( 65-79)lorsqu'uncontactestappliqué à un quelconque emplacement de la zone, de sorte que chacune des diverses zones joue le rÈle d'un interrupteur unipolaire à bouton- poussoir et engendre un unique signal en fonction/hors fonc- tion qui sert à commander le système d'ordinateur; et des moyens ( 91) recevant ce signal de position de contact pour engendrer chronologiquement des signaux de position repré- sentatifs d'un changement résultant du déplacement d'un con- tact sur la surface à l'intérieur d'uneautre ( 63) desdites zones séparées dans l'espace de façon ainsi à produire un signal qui peut être utilisé par le système de déplacement du curseur du système d'ordinateur pour provoquer le dépla- cement du curseur sur une distance proportionnelle au dépla- cement du contact sur ladite autre zone ( 63) de la surface. 2 Dispositif d'entrée et de commande auxiliaire selon la revendication 1, caractérisé en ce qu'il comporte, en outre, des moyens ( 91) qui reçoivent le signal de position de con- tact lorsqu'il est engendré par un contact à l'intérieur de ladite autre zone ( 63) desdites zones séparées dans l'es- pace pour engendrer encore un autre signal particulier lors- qu'un contact est appliqué à cette autre zone pendant un temps bref inférieur à un temps donné, les moyens généra- teurs de signaux de position chronologiques étant, en outre, agencés de façon à ne pas répondre à un contact appliqué & cette zone à moins qu'il reste appliqué à cette autre zone pendant un temps supérieur audit temps donné, de sorte que cette autre zone est utilisée pour engendrer deux types de signaux différents selon la durée du contact avec ladite autre zone. 3 Dispositif d'entrée et de commande auxiliaire selon la revendication 2, caractérisé en ce que les moyens générateurs de signaux chronologiques comprennent des moyens pour engen- drer des signaux de distance de déplacement incrémentielle par unité de temps destinés à être appliqués au système de commande du curseur du système d'ordinateur. 4 Dispositif d'entrée et de commande auxiliaire selon la revendication 3, caractérisé en ce que les moyens générateurs de signaux de distance de déplacement incrémentielle com- prennent des moyens ( 135-145) pour établir la moyenne de plu- sieurs lectures de distance de déplacement incrémentielle - successives avant d'appliquer un signal incrémentiel au sys- tème de commande du curseur de sorte que le mouvement éven- tuellement erratique du contact sur cette autre zone ( 63) de la surface est régularisé avant que le mouvement soit communiqué au curseur. Dispositif d'entrée et de commande auxiliaire selon la revendication 3, caractérisé en ce que les moyens générateurs de signaux de distance de déplacement incrémentielle com- prennent des moyens pour élever au carré chaque valeur incré- mentielle avant de l'appliquer au système de commande du curseur, de sorte que la distance dont le curseur se déplace surl'écran de la visu ( 17) pour une distance de déplacement donnée du contact sur ladite autre surface ( 63) dépend de la vitesse de ce-déplacement. 6 Dispositif d'entrée et de-commande auxiliaire-selon la revendication 1, caractérisé en ce que la surface ( 21) sen- sible au contact comprend des première et seconde feuilles rectangulaires ( 37, 41) disposées adjacentes l'une à l'autre, chacune de ces feuilles ayant une résitivité électrique don- L 544103 née par unité de longueur sur sa surface qui fait face à l'autre feuille; et des moyens d'espacement non conducteurs ( 61) portés par la surface résistive d'une des feuilles ( 41) dans une configuration qui maintient normalement les feuilles résistives espacées mais leur permet de venir en contact l'une avec l'autre en réponse à un contact appliqué sur la face arrière d'une première des feuilles, l'une au moins des feuilles étant suffisamment flexible pour pouvoir être déformée en réponse à un tel contact pour produire un con- tact entre les surfaces résistives;et en ce que les moyens définissant des zones comprennent une feuille d'espacement électriquement non conductrice disposée entre les première et seconde feuilles, cette feuille étant munie d'ouvertures traversantes dans les emplacements des diverses zones ( 63- 79) séparées dans l'espace et une représentation visible étant formé sur la surface opposée de ladite première feuille représentative qui montre les diverses zones sépa- rées dans l'space. 7 Dispositif d'entrée et de commande auxiliaire selon la revendication 6, caractérisé en ce qu'une paire de bords op- posés ( 45,47 > de la surface réaistive d'une des feuilles ( 41) est électriquement connectée d'une manière appropriée pour engendrer le signal de position de contact et l'autre paire de bords opposés ( 53, 55) de l'autre feuille ( 37) est électriquement connectée d'une manière appropriée pour en- gendrer le signal de position de contact, de sorte que la surface résistive d'une des feuilles mesure une position de contact dans la direction "X" et que la surface résistive de l'autre feuille mesure la position de contact dans la direction "Y". 8 Un dispositif d'entrée et de commande conçu pour être utilisé avec un système d'ordinateur numérique ( 11) ayant une visu ( 17) et un système capable d'engendrer un curseur ( 19) et de le déplacer sur l'écran de la visu en réponse à des signaux d'entrée, ce dispositif constituant un disposi- tif auxiliaire à un clavier quelconque ( 13) et étant carac- térisé en ce qu'il comporte: une surface ( 21) sensible au contact qui produit un signal électrique indiquant la posi- tion dans deux dimensions d'un contact appliqué à cette sur- face; des moyens ( 91) recevant ce signal de position de con- tact pour engendrer chronologiquement des signaux de posi- tion représentatifs d'un changement résultant du déplacement d'un contact sur la surface lorsque le contact reste appli- qué à la surface pendant un temps supérieur à un temps prédé- terminé; et des moyens ( 91) recevant le signal de position de contact pour n'engendrer un signal de coup bref indépen- dant des signaux de position chronologiques que lorsque le contact n'est appliqué à la surface que pendant un temps in- férieur au temps prédéterminé de sorte que le signal de coup bref peut être utilisé par le système d'ordinateur pour exé- cuter une réponse sélectionnée par un déplacement précédent du curseur sur l'écran de la visu ( 17) sans qu'il soit néce- saire d'utiliser un interrupteur séparé. 9 Dispositif d'entrée et de commande auxiliaire selon la revendication 8, caractérisé en ce que les moyens généra- teurs de signaux chronologiques comprennent des moyens pour engendrer des signaux de distance de déplacement incrémen- tielle par unité de temps destinés à être appliqués au sys- tème de commande du curseur du système d'ordinateur. Dispositif d'entrée et de commande auxiliaire selon la revendication 9, caractérisé en ce que les moyens générateurs de signaux de distance de déplacement incrémentielle com- prennent des moyens ( 135-145) pour établir la moyenne de plu- sieurs lectures de distance de déplacement incrémentielle successives avant d'appliquer un signal incrémentiel au sys- tème de commande du curseur de sorte que le mouvement éven- tuellement erratique du contact sur la surface est régulari- sé avant que le mouvement soit communiqué au curseur. 11 Dispositif d'entrée et de commande auxiliaire selon la revendication 9, caractérisé en ce que les moyens générateurs de signaux de distance de déplacement incrémentielle com- prennent des moyens pour élever au carré chaque valeur incré- mentielle avant de l'appliquer au système de commande du cur- seur, de sorte que la distance dont le curseur se déplace sur l'écran de la visu ( 17) pour une distance de déplacement don- née du contact sur ladite surface dépend de la vitesse de ce déplacement. 12 Un dispositif d'entrée et de commande conçu pour être utilisé avec un système d'ordinateur numérique ( 11) ayant une visu ( 17) et un système capable d'engendrer un curseur ( 19) et de le déplacer sur l'écran de la visu en réponse à des signaux d'entrée, ce dispositif constituant un disposi- tif auxiliaire à un clavier quelconque ( 13) et étant carac- térisd en ce qu'il comporte: une surface ( 21) sensible au contact qui produit un signal électrique indiquant la posi- tion dans deux dimensions d'un contact appliqué à cette sur- face; des moyens ( 91) recevant ce signal de position de con- tact pour engendrer chronologiquement des signaux de posi- tion représentatifs d'un changement résultant du déplacement d'un contact sur la surface lorsque le contact reste appli- qué à la surface pendant un temps supérieur à un temps prédé- terminé ou se déplace sur une distance supérieure à unecer- taine distance pendant ce temps prédéterminé; et des moyens ( 91) recevant le signal de position de contact pour engendrer un signal de coup bref indépendant des moyens de position chronologiques lorsque ledit contact existe sur la surface pendant un temps inférieur au temps prédéterminé et se dé- place sur une distance inférieure à la certaines distance pendant ce temps prédéterminé de sorte que le signal de coup bref peut être utilisé par le système d'ordinateur pour exé- cuter une réponse sélectionnée par un déplacement précédent du curseur sur l'écran de la visu ( 17) sans qu'il soit né- cessaire d'utiliser un interrupteur séparé.