FR2695222A1 - Generic keyboard with configuration modifiable according to the user. - Google Patents
Generic keyboard with configuration modifiable according to the user. Download PDFInfo
- Publication number
- FR2695222A1 FR2695222A1 FR9309665A FR9309665A FR2695222A1 FR 2695222 A1 FR2695222 A1 FR 2695222A1 FR 9309665 A FR9309665 A FR 9309665A FR 9309665 A FR9309665 A FR 9309665A FR 2695222 A1 FR2695222 A1 FR 2695222A1
- Authority
- FR
- France
- Prior art keywords
- tray
- code
- switch
- switches
- series
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/0202—Constructional details or processes of manufacture of the input device
- G06F3/0219—Special purpose keyboards
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/023—Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/023—Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
- G06F3/0238—Programmable keyboards
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Input From Keyboards Or The Like (AREA)
Abstract
L'invention concerne un système de clavier à configuration modifiable pour appareil (24) de traitement de données Il comprend une base (10) servant à accepter un ou plusieurs plateaux (20) d'une série et à transmettre des données audit appareil de traitement de données; un plateau pourvu d'une série d'actionneurs et de commutateurs, chaque actionneur étant associé à un ou plusieurs commutateurs, chaque commutateur étant dans un état choisi parmi plusieurs, ledit plateau étant en outre pourvu de moyens de spécification d'un code d'identification de plateau (20) indiquant l'identité dudit plateau (20), ladite base (10) étant pourvue de moyens servant à recevoir dudit plateau (20) ledit code d'identification de plateau; un moyen de production d'un code de balayage indiquant l'identité et l'état d'un commutateur dont l'état a varié, au moins un code de balayage étant associé à chaque commutateur; et un moyen de couplage (51, 52), dudit système de clavier audit appareil de traitement de données, qui envoie ledit code d'identification de plateau et lesdits codes de balayage par un trajet unique de données.A configurable keyboard system for a data processing apparatus (24) includes a base (10) for accepting one or more platters (20) from a series and transmitting data to said processing apparatus. of data; a plate provided with a series of actuators and switches, each actuator being associated with one or more switches, each switch being in a state chosen from among several, said plate being further provided with means for specifying a code of; tray identification (20) indicating the identity of said tray (20), said base (10) being provided with means for receiving from said tray (20) said tray identification code; means for producing a scan code indicating the identity and state of a switch whose state has changed, at least one scan code being associated with each switch; and means for coupling (51, 52), from said keyboard system to said data processing apparatus, which sends said platter identification code and said scan codes through a single data path.
Description
La présente invention concerne un clavier et, plus particulièrement, unThe present invention relates to a keyboard and, more particularly, to a
système de clavier, destiné à un appareil de traitement de données, dont la keyboard system, intended for a data processing device, the
configuration peut être modifiée.configuration can be changed.
Les ordinateurs personnels sont typiquement utilisés avec des claviers alphanumériques à configurations fixes, qui sont adaptés à de nombreuses applications De nombreux autres types d'ordinateurs qui utilisent des claviers, par exemple des caisses enregistreuses de supermarchés, utilisent eux aussi des claviers à configurations fixes Les claviers à configurations fixes offrent l'avantage qu'un utilisateur de clavier s'habitue à frapper une touche ou une combinaison de touches particulières pour donner à l'ordinateur des instructions d'effectuer une fonction particulière En revanche, pour de nombreux programmes d'application, le nombre de touches disponibles d'un clavier à configuration fixe est relativement important par rapport au nombre réellement nécessaire pour l'application Cette caractéristique rend difficile à des enfants, et même à des adultes qui ne sont pas familiarisés avec l'utilisation d'ordinateurs, de choisir la touche ou la combinaison de touches particulières nécessaires Personal computers are typically used with alphanumeric keyboards with fixed configurations, which are suitable for many applications. Many other types of computers which use keyboards, for example supermarket cash registers, also use keyboards with fixed configurations. Fixed-configuration keyboards have the advantage that a keyboard user gets used to hitting a particular key or combination of keys to give the computer instructions to perform a particular function. However, for many application, the number of keys available on a keyboard with a fixed configuration is relatively large compared to the number actually necessary for the application This characteristic makes it difficult for children, and even adults who are not familiar with the use of '' computers, choose the key or the key combination by required
pour exécuter une fonction souhaitée. to execute a desired function.
En outre, les claviers alphanumériques classiques ne sont pas adaptés à certaines applications Par exemple, pour mettre en oeuvre un programme de simulation de piano, il est souhaitable que la configuration de clavier simule aussi fidèlement que possible un clavier de piano De même, pour mettre en oeuvre un programme comme une simulation d'un avion à réaction, il est souhaitable que le clavier simule les commandes de la cabine de pilotage Alors qu'il est possible à des développeurs d'application de distribuer des claviers spécialisés pour travailler avec leurs applications spécifiques, les dépenses encourues par l'utilisateur de programme réduiraient les avantages résultant du fonctionnement des In addition, conventional alphanumeric keyboards are not suitable for certain applications. For example, to implement a piano simulation program, it is desirable that the keyboard configuration simulate as accurately as possible a piano keyboard. Similarly, to put implement a program like a simulation of a jet plane, it is desirable that the keyboard simulate the controls of the cockpit While it is possible for application developers to distribute specialized keyboards to work with their applications expenses incurred by the program user would reduce the benefits of operating the
applications sur des ordinateurs universels. applications on universal computers.
Certains autre programmes d'applications par exemple le Lab View, un produit de National Instruments Corp de Austin, Texas, qui fonctionne sur un ordinateur Apple Macintosh d'Apple Computer Co de Cupertino, Californie, simulent un panneau de commande d'un instrument de laboratoire en effectuant une représentation graphique de ce dernier sur un écran d'ordinateur Ces programmes permettent à l'utilisateur "d'actionner une touche" ou "de tourner un bouton" en utilisant une souris pour déplacer un curseur vers la "touche" ou le "bouton" affiché sur l'écran de l'ordinateur, en utilisant le bouton de la Certain other application programs, for example the Lab View, a product of National Instruments Corp of Austin, Texas, which runs on an Apple Macintosh computer from Apple Computer Co of Cupertino, California, simulate a control panel of a laboratory by making a graphic representation of the latter on a computer screen These programs allow the user to "press a key" or "to turn a button" using a mouse to move a cursor to the "key" or the "button" displayed on the computer screen, using the button on the
souris pour actionner la touche ou le bouton. mouse to operate the key or button.
Cependant, ce type d'interaction "graphique" ne fournit pas la même "impression" qu'un clavier physique, et il n'est donc pas souhaitable dans de However, this type of "graphical" interaction does not provide the same "impression" as a physical keyboard, and therefore is not desirable in
nombreuses situations.many situations.
Alors que des représentations graphiques peuvent apporter une amélioration par rapport à des claviers classiques à configuration inaltérable, l'utilisation d'une souris pour déplacer un curseur dans une position d'écran désignée comme touche ou bouton implique principalement le sens de la vision Dans de nombreuses situations, un clavier qui est mis en oeuvre par des moyens tactiles est plus naturel et donc plus facile à mettre en oeuvre Par exemple, il serait pratiquement impossible d'effectuer une simulation de piano sur un ordinateur en utilisant un clavier à simulation graphique mis en oeuvre par souris Et, alors qu'il peut être possible d'effectuer une simulation d'avion en utilisant un "panneau de commande" à simulation graphique mis en oeuvre par une souris, ce type d'interface d'entrée ne permet pas à l'opérateur de la simulation de piloter l'avion simulé While graphical representations may provide an improvement over conventional keyboards with unalterable configuration, the use of a mouse to move a cursor to a screen position designated as a key or button mainly involves the sense of vision. many situations, a keyboard that is operated by tactile means is more natural and therefore easier to implement For example, it would be practically impossible to perform a piano simulation on a computer using a graphical simulation keyboard implemented by mouse And, while it may be possible to carry out an aircraft simulation using a graphically simulated "control panel" implemented by a mouse, this type of input interface does not allow the simulation operator to pilot the simulated aircraft
comme un avion réel serait piloté par un pilote réel. like a real plane would be flown by a real pilot.
Une tentative de remédier aux inconvénients des claviers à configurations fixes est décrite dans le brevet US no 4 688 020 de Kuehneman et al Ce brevet décrit un clavier à configuration modifiable incluant une base et une surface de clavier o des touches sont disposées sur la surface de clavier Chacune des touches est associée à un commutateur de touche et un recouvrement couvre les commutateurs de touches qui ne sont pas reliés à des touches, de sorte que seules des touches choisies sont accessibles Le clavier contient un processeur dans lequel sont mémorisées des tables de touches qui définissent la fonction de chacune des touches accessibles Cependant, une modification de configuration dans l'appareil décrit par Kuehneman et al est peu commode; l'utilisateur doit enlever un panneau de recouvrement, faire sortir des touches individuelles à l'aide d'un tournevis, placer les touches à des emplacements souhaités et remplacer l'ancien panneau de recouvrement par un nouveau panneau qui correspondent à la nouvelle configuration des touches L'utilisateur choisit ensuite parmi un certain nombre de tables de touches choisies au préalable dans la mémoire du clavier, ou bien l'utilisateur peut programmer sa propre table de touches en reliant les modules d'interface du clavier à une console de développement De nombreux utilisateurs ne sont pas compétents techniquement pour configurer un clavier et pour programmer les tables de touches nécessaires pour définir les fonctions de chacune des touches accessibles du clavier Alors que de nombreuses tables prédéfinies de touches peuvent être fournies aux utilisateurs, le nombre limité qui peut être fourni limite la flexibilité dont dispose un An attempt to remedy the drawbacks of keyboards with fixed configurations is described in US Patent No. 4,688,020 to Kuehneman et al. This patent describes a keyboard with modifiable configuration including a base and a keyboard surface where keys are arranged on the surface of keyboard Each key is associated with a key switch and an overlap covers the key switches which are not connected to keys, so that only selected keys are accessible The keyboard contains a processor in which key tables are stored which define the function of each of the accessible keys However, a configuration modification in the device described by Kuehneman et al is not very convenient; the user must remove a cover panel, remove individual keys using a screwdriver, place the keys in desired locations and replace the old cover panel with a new panel that corresponds to the new configuration of the keys The user then chooses from a certain number of key tables chosen beforehand in the memory of the keyboard, or else the user can program his own key table by connecting the interface modules of the keyboard to a development console De many users are not technically competent to configure a keyboard and to program the key tables necessary to define the functions of each of the accessible keys of the keyboard While many predefined key tables can be provided to users, the limited number which can be provided limits the flexibility that a
utilisateur pour modifier la configuration du clavier. user to change the keyboard layout.
Ainsi, le système de clavier de Kuehneman et al. charge l'utilisateur de toute la difficulté de la nouvelle configuration et exige que la modification s'effectue entièrement au clavier. Le brevet US N 4 692 740 de Washizuka et al. décrit un clavier qui peut être relié de façon interchangeable au corps d'un calculateur électronique programmable Lorsque des saillies de choix de mode poussent un ou plusieurs commutateurs de choix de mode sur le corps des calculateurs, le calculateur détecte le type de clavier qui lui est attaché Cependant, ce clavier souffre de l'inconvénient que sa mise en oeuvre à l'aide du corps du calculateur exige deux trajets de signaux, un trajet identifier un mode, et un autre pour identifier une touche actionnée, et l'interface entre le clavier et l'ordinateur, telle qu'elle est réalisée pour la majeure partie des ordinateurs personnels universels, n'offre qu'un trajet unique de signaux Ainsi, il serait impossible d'utiliser le clavier décrit par Washizuka et al avec un ordinateur universel sans modifier l'interface du Thus, the keyboard system of Kuehneman et al. loads the user with all the difficulty of the new configuration and requires that the modification be carried out entirely on the keyboard. US Patent No. 4,692,740 to Washizuka et al. describes a keyboard which can be interchangeably connected to the body of a programmable electronic computer When mode selection projections push one or more mode choice switches on the body of the computers, the computer detects the type of keyboard that is attached However, this keyboard suffers from the drawback that its implementation using the computer body requires two signal paths, a path to identify a mode, and another to identify a key pressed, and the interface between the keyboard and the computer, as it is realized for the majority of the universal personal computers, offers only a single path of signals Thus, it would be impossible to use the keyboard described by Washizuka et al with a universal computer without modifying the interface of the
clavier à l'ordinateur.computer keyboard.
C'est donc le but premier de l'invention que de réaliser un clavier dont la configuration soit facile à modifier La modification de configuration devrait être facile à réaliser par des utilisateurs qui ne sont pas des techniciens et des programmes spéciaux nécessaires devraient être fournis pour un environnement avec lequel la plupart des programmeurs d'applications sont familiers et pour lesquels de It is therefore the primary object of the invention to provide a keyboard whose configuration is easy to modify. The configuration modification should be easy to carry out by users who are not technicians and necessary special programs should be provided for an environment with which most application programmers are familiar and for which
nombreux outils de développement son disponibles. many development tools are available.
C'est un deuxième but de l'invention que la liaison réalisée entre le clavier et l'ordinateur soit type normalisé généralement disponible dans les It is a second object of the invention for the connection made between the keyboard and the computer to be a standard type generally available in
ordinateurs universels.universal computers.
Ces buts sont atteints selon l'invention grâce à un système, qui peut se présenter sous le premier ou deuxième aspect de l'invention, et à un procédé qui peut se présenter sous le troisième, le quatrième ou le cinquième aspect de l'invention. Selon le premier aspect, il est réalisé un système de clavier à configuration modifiable destiné à un appareil de traitement de données, caractérisé en ce qu'il comprend: a une base servant à accepter un ou plusieurs plateaux d'une série et à transmettre des données audit appareil de traitement de données; b un plateau pourvu d'une série d'actionneurs et de commutateurs, chaque actionneur étant associé à un ou plusieurs commutateurs, chaque commutateur étant dans un état choisi parmi plusieurs, ledit plateau étant en outre pourvu de moyens de spécification d'un code d'identification de plateau indiquant l'identité dudit plateau, ladite base étant pourvue de moyens servant à recevoir dudit plateau ledit code d'identification de plateau; c un moyen de production d'un code de balayage indiquant l'identité et l'état d'un commutateur dont l'état a varié, au moins un code de balayage étant associé à chaque commutateur; et d un moyen de couplage dudit système de clavier audit appareil de traitement de données, ledit moyen de couplage envoyant ledit code d'identification de plateau et lesdits codes de balayage par un trajet These objects are achieved according to the invention thanks to a system, which can be presented under the first or second aspect of the invention, and to a method which can be presented under the third, fourth or fifth aspect of the invention. . According to the first aspect, there is provided a keyboard system with modifiable configuration intended for a data processing apparatus, characterized in that it comprises: has a base serving to accept one or more trays of a series and to transmit data to said data processing apparatus; b a plate provided with a series of actuators and switches, each actuator being associated with one or more switches, each switch being in a state chosen from among several, said plate being further provided with means for specifying a code d 'tray identification indicating the identity of said tray, said base being provided with means serving to receive from said tray said tray identification code; c means for producing a scan code indicating the identity and the state of a switch whose state has varied, at least one scan code being associated with each switch; and means for coupling said keyboard system to said data processing apparatus, said coupling means sending said tray identification code and said scan codes by a path
unique de données.unique data.
De façon générale, l'invention peut comprendre In general, the invention can include
les modalités suivantes.the following modalities.
Le moyen de spécification d'un code d'identification de plateau peut consister en saillies situées à l'arrière d'un plateau qui activent mécaniquement les commutateurs de la base, ou bien les codes d'identification peuvent être réalisés par des circuits électroniques du plateau qui peuvent être dans un ou plusieurs états, les états étant transmis à la base lorsque les plateaux sont insérés et que la puissance de l'énergie est appliquée au clavier. Un microprocesseur peut être utilisé pour balayer une matrice de commutateurs, l'état d'un commutateur particulier dépendant de l'activation éventuelle d'un actionneur correspondant sur le plateau ou la base Un code de balayage représente l'emplacement de matrices d'un commutateur correspondant à une touche activée. Des codes de balayage et des codes d'identification de plateau sont rendus disponibles à un appareil de traitement de données à partir du clavier par l'intermédiaire d'un câble normalisé d'interface d'un ordinateur à un clavier Un programme d'exécution de l'appareil de traitement de données détermine le caractère à afficher et/ou à déposer dans un tampon de clavier de l'appareil de traitement de données en utilisant une table correspondant à un code d'identification de plateau reçu du clavier en traduisant chaque code de balayage reçu en son The means for specifying a tray identification code may consist of projections located at the rear of a tray which mechanically activate the switches of the base, or else the identification codes can be produced by electronic circuits of the platter which can be in one or more states, the states being transmitted to the base when the platters are inserted and the power of the energy is applied to the keyboard. A microprocessor can be used to scan a matrix of switches, the state of a particular switch depending on the possible activation of a corresponding actuator on the plate or the base A scanning code represents the location of matrices of a switch corresponding to an activated key. Scan codes and tray identification codes are made available to a data processor from the keyboard via a standard computer interface cable to a keyboard Execution program of the data processing device determines the character to be displayed and / or deposited in a keyboard buffer of the data processing device using a table corresponding to a tray identification code received from the keyboard by translating each scan code received in sound
caractère approprié.appropriateness.
De façon plus spécifique l'appareil conforme à ce premier aspect peut présenter les modalités décrites ci-dessous. Le moyen de spécification d'un code d'identification de plateau peut comprendre en outre un moyen de transmission, situé sur ledit plateau, More specifically, the device conforming to this first aspect can present the methods described below. The means for specifying a tray identification code may further comprise a transmission means, located on said tray,
d'un code d'identification de plateau à ladite base. a tray identification code at said base.
Le système peut comprendre en outre, dans l'appareil de traitement de données, un moyen d'association, à une combinaison particulière d'un code de balayage et d'un code d'identification de The system may further include, in the data processing apparatus, means for associating, with a particular combination of a scan code and an identification code of
plateau, d'une chaîne d'un ou plusieurs caractères. tray, of a string of one or more characters.
Ladite base peut inclure en outre a une série d'actionneurs et de commutateurs, chaque commutateur étant dans un état parmi plusieurs; et b un moyen de production d'un code de balayage afin d'indiquer l'identité et l'état d'un commutateur dont l'état a varié, au moins un code de balayage The base may further include a series of actuators and switches, each switch being in one of several states; and b means for producing a scan code in order to indicate the identity and the state of a switch whose state has varied, at least one scan code
étant associé à chaque commutateur. being associated with each switch.
Dans ce cas, il peut être prévu que au moins l'un desdits commutateurs de ladite base et dudit plateau indique un état particulier et ledit état particulier est envoyé par ledit moyen audit appareil de traitement de données en vue d'un couplage. Le moyen de spécification dudit code d'identification de plateau, présent dans chaque plateau, peut consister en une série de saillies sur ledit plateau et le moyen de réception, dans ladite base, dudit code d'identification de plateau peut consister en une série de commutateurs d'identification de plateau, un commutateur d'identification de plateau étant activé par une saillie d'identification de plateau In this case, it can be provided that at least one of said switches of said base and of said tray indicates a particular state and said particular state is sent by said means to said data processing apparatus for coupling. The means for specifying said tray identification code, present in each tray, can consist of a series of projections on said tray and the means for receiving, in said base, said tray identification code can consist of a series of tray identification switches, a tray identification switch being activated by a tray identification projection
lorsque ladite base a accepté ledit plateau. when said base has accepted said plateau.
Le système peut comprendre en outre un moyen de production d'un code particulier non identifié à un commutateur dudit plateau, ledit code particulier indiquant la présence d'un code d'identification de plateau. Dans ce cas, ledit code particulier peut indiquer la présence dudit code d'identification de plateau parce qu'il possède une relation prédéterminée dans le The system may further comprise means for producing a particular code not identified at a switch of said tray, said particular code indicating the presence of a tray identification code. In this case, said particular code can indicate the presence of said tray identification code because it has a predetermined relationship in the
temps avec ledit code d'identification de plateau. time with said tray identification code.
Ladite relation prédéterminée peut comprendre le fait que ledit code particulier précède ledit code d'identification de plateau, ledit code particulier étant transmis par ledit moyen de couplage avant la transmission, par ledit moyen de couplage, dudit code d'identification de plateau. ou bien, en variante, ladite relation prédéterminée peut comprendre le fait que ledit code particulier suit le code d'identification de plateau, ledit code particulier étant transmis par ledit moyen de couplage après la transmission, par ledit moyen de couplage, du code d'identification de plateau. Il peut être associé à au moins un commutateur dudit plateau une série de codes spécifiant un état Said predetermined relationship may include the fact that said particular code precedes said tray identification code, said particular code being transmitted by said coupling means before the transmission, by said coupling means, of said tray identification code. or alternatively, said predetermined relationship may include the fact that said particular code follows the tray identification code, said particular code being transmitted by said coupling means after the transmission, by said coupling means, of the code tray identification. It can be associated with at least one switch of said tray a series of codes specifying a state
dudit plateau.of said tray.
Ledit commutateur au moins unique peut alors indiquer un état particulier, ledit état particulier étant envoyé par ledit moyen de couplage audit moyen Said at least single switch can then indicate a particular state, said particular state being sent by said coupling means to said means
de traitement de données.data processing.
Pour un plateau particulier, ledit plateau particulier peut comprendre en outre un moyen de production d'un premier code d'une série de codes d'identification de plateau d'une manière telle que ledit plateau particulier peut produire un code quelconque de ladite série de codes d'identification For a particular tray, said particular tray can further comprise means for producing a first code of a series of tray identification codes in such a way that said particular tray can produce any code of said series of identification codes
de plateau.of tray.
Un utilisateur dudit système peut alors spécifier ledit premier code d'une série de codes d'identification de plateau afin de placer ainsi ledit A user of said system can then specify said first code of a series of tray identification codes in order to thus place said
plateau dans l'un des états de la série. plateau in one of the states of the series.
Le système peut comprendre en outre un moyen de produire un éclairage lors de l'activation d'un ou The system may further include means for providing illumination upon activation of one or more
plusieurs actionneurs.several actuators.
Le système peut comprendre un moyen de production d'un bruit lors de l'actionnement d'un ou plusieurs The system may include a means of producing a noise upon actuation of one or more
desdits actionneurs.of said actuators.
Ledit code d'identification de plateau comprend un ou plusieurs souscodes indépendants, le sous-code ou chacun d'eux étant déterminé par un état d'un circuit séparé, ledit circuit étant susceptible d'être dans un état parmi plusieurs. Dans ce cas, on peut prévoir que les états Said tray identification code comprises one or more independent subcodes, the subcode or each of them being determined by a state of a separate circuit, said circuit being capable of being in one of several states. In this case, we can predict that the states
desdits circuits peuvent être choisis indépendamment. said circuits can be chosen independently.
Les états d'un ou plusieurs desdits commutateurs peuvent être modifiés en actionnant lesdits The states of one or more of said switches can be changed by actuating said switches
actionneurs associés auxdits commutateurs. actuators associated with said switches.
Les états d'un ou plusieurs desdits commutateurs peuvent être modifiés par un coulissement desdits The states of one or more of said switches can be changed by sliding said
actionneurs associés auxdits commutateurs. actuators associated with said switches.
Les états d'un ou plusieurs desdits commutateurs peuvent être modifiés par une rotation desdits The states of one or more of said switches can be changed by rotating said switches
actionneurs associés auxdits commutateurs. actuators associated with said switches.
Les états d'un ou plusieurs des commutateurs peuvent être modifiés en serrant lesdits actionneurs The states of one or more of the switches can be changed by tightening said actuators
associés auxdits commutateurs.associated with said switches.
Chaque actionneur de ladite série peut être d'une ou plusieurs configurations, d'une ou plusieurs Each actuator of said series can be of one or more configurations, of one or more
couleurs, et d'une ou plusieurs textures. colors, and one or more textures.
De façon avantageuse, le système peut comprendre en outre un moyen d'association d'un message Advantageously, the system can further comprise a means for associating a message.
particulier à un code de balayage particulier. particular to a particular scan code.
Dans ce cas, ledit moyen d'association peut comprendre une table mémorisée dans la mémoire dudit appareil de traitement de données, ladite table produisant une traduction, dudit code de balayage particulier, qui forme ledit message particulier. Ledit appareil de traitement de données peut alors afficher ledit message particulier après ladite traduction. Dans le cas de la modalité avantageuse décrite plus haut, ledit moyen d'association peut déterminer ledit message particulier par une combinaison dudit code de balayage particulier et de ladite In this case, said association means can comprise a table stored in the memory of said data processing apparatus, said table producing a translation, of said particular scanning code, which forms said particular message. Said data processing apparatus can then display said particular message after said translation. In the case of the advantageous modality described above, said association means can determine said particular message by a combination of said particular scanning code and said
identification de plateau.tray identification.
Le système peut comprendre en outre un ou plusieurs plateaux additionnels, chacun desdits plateaux additionnels étant pourvu d'une série d'actionneurs et de commutateurs, chaque actionneur étant associé à un ou plusieurs commutateurs, chaque commutateur étant dans un état d'une série, chacun desdits plateaux additionnels comprenant des moyens de spécification d'un code d'identification de plateau indiquant l'identité dudit plateau, ladite base étant pourvue de moyens de réception, à partir dudit The system may further comprise one or more additional plates, each of said additional plates being provided with a series of actuators and switches, each actuator being associated with one or more switches, each switch being in a state of a series, each of said additional trays comprising means for specifying a tray identification code indicating the identity of said tray, said base being provided with means for receiving, from said
plateau, dudit code d'identification de plateau. tray, said tray identification code.
Ledit plateau peut comprendre en outre un moyen de spécification d'un emplacement X-Y à utiliser par Said plate may further comprise a means of specifying an X-Y location to be used by
ledit appareil de traitement de données. said data processing apparatus.
Ce moyen de spécification peut comprendre un This means of specification may include a
panneau à touches.touch panel.
On peut prévoir qu'au moins l'un desdits actionneurs de ladite série d'actionneurs peut être activé d'au moins une première manière et une deuxième manière, et ladite première manière comprend une manière consistant à serrer, tourner, appuyer ou faire glisser, et ladite deuxième manière comprend une manière différente consistant à serrer, tourner, It can be provided that at least one of said actuators of said series of actuators can be activated in at least a first way and a second way, and said first way comprises a way consisting in tightening, turning, pressing or sliding. , and said second way comprises a different way consisting in tightening, turning,
appuyer ou faire glisser.press or drag.
Dans ce cas, une activation selon une première manière peut produire un premier code de balayage, une activation selon une deuxième manière produisant un In this case, activation in a first way can produce a first scan code, activation in a second way producing a
deuxième code de balayage.second scan code.
Ledit plateau peut être configuré de façon à fonctionner selon un programme particulier d'ordinateur qui est exécuté sur ledit appareil de Said tray can be configured to operate according to a particular computer program which is executed on said
traitement de données.data processing.
la Dans ce cas, au moins certains desdits actionneurs dudit plateau peuvent être conçus mécaniquement de manière à fonctionner avec ledit la In this case, at least some of said actuators of said plate can be designed mechanically so as to operate with said
programme particulier.particular program.
Ledit code d'identification de plateau peut être envoyé par ledit système de clavier audit appareil de traitement de données en réponse à une demande dudit Said tray identification code can be sent by said keyboard system to said data processing apparatus in response to a request from said
appareil de traitement de données.data processing device.
Ledit moyen de spécification, inclus dans chaque plateau, du code d'identification de plateau peut comprendre des liaisons électriques produisant une valeur de signal représentative dudit code d'identification de plateau, ledit moyen récepteur comprenant, dans ladite base, des liaisons électriques correspondantes pour Said means for specifying, included in each tray, the tray identification code may comprise electrical connections producing a signal value representative of said tray identification code, said receiving means comprising, in said base, corresponding electrical connections for
recevoir ladite valeur de signal.receive said signal value.
Ledit plateau peut être un premier plateau et le système peut comprendre en outre un deuxième plateau, ladite base acceptant simultanément ledit premier plateau et ledit deuxième plateau, ledit premier plateau et ledit deuxième plateau formant ensemble une matrice logique de commutateurs desdits deux plateaux, et ledit premier plateau envoyant un premier code d'identification de plateau et le deuxième plateau incluant un moyen de spécification d'un deuxième code d'identification de plateau qui est combiné audit premier code d'identification de plateau afin d'envoyer un code unique d'identification de plateau Said tray may be a first tray and the system may further comprise a second tray, said base simultaneously accepting said first tray and said second tray, said first tray and said second tray together forming a logic matrix of switches of said two trays, and said first tray sending a first tray identification code and the second tray including means for specifying a second tray identification code which is combined with said first tray identification code in order to send a unique code for tray identification
par ledit trajet unique de données. by said single data path.
Les états d'un ou plusieurs commutateurs peuvent être modifiés en réponse à des signaux vocaux d'un utilisateur, Un ou plusieurs des commutateurs peuvent être The states of one or more switches may be changed in response to voice signals from a user, One or more of the switches may be
actionnés par la lumière.operated by light.
Les états de l'un desdits commutateurs qui sont actionnés par la lumière peuvent être modifiés en empêchant une lumière d'atteindre un capteur de The states of one of said switches which are operated by light can be changed by preventing light from reaching a light sensor.
l'actionneur associé à l'un desdits commutateurs. the actuator associated with one of said switches.
Selon un deuxième aspect de l'invention, il est réalisé un système à clavier à configuration modifiable destiné à un appareil de traitement de données caractérisé en ce que ledit système comprend a une base servant à accepter un ou plusieurs plateaux d'une série et à transmettre des données audit appareil de traitement de données; b un premier plateau pourvu d'une première série d'actionneurs et de commutateurs et un deuxième plateau pourvu d'une deuxième série d'actionneurs et de commutateurs, chaque actionneur étant associé à un ou plusieurs commutateurs de chacun desdits plateaux d'actionneurs, chaque commutateur se trouvant dans un état d'une série, ledit premier plateau étant en outre According to a second aspect of the invention, there is provided a keyboard system with modifiable configuration intended for a data processing apparatus characterized in that said system comprises a base serving to accept one or more trays of a series and to transmitting data to said data processing apparatus; b a first plate provided with a first series of actuators and switches and a second plate provided with a second series of actuators and switches, each actuator being associated with one or more switches of each of said actuator plates, each switch being in a state of a series, said first plate being further
pourvu de moyens de spécification d'un premier sous- provided with means for specifying a first sub-
code d'identification de plateau indiquant l'identité dudit premier plateau, ledit deuxième plateau étant en outre pourvu de moyens de réception dudit premier sous-code d'identification de plateau et de spécification d'un deuxième sous-code d'identification de plateau, indiquant l'identité dudit deuxième plateau, ladite base étant pourvue d'un moyen de réception dudit premier et dudit deuxième sous-codes d'identification de-plateau à partir dudit deuxième plateau; c un moyen de production d'un code de balayage indiquant l'identité et l'état d'un commutateur dont l'état a varié, au moins un code de balayage étant associé à chaque commutateur; d un moyen de couplage dudit système de clavier audit appareil de traitement de données, ledit moyen de couplage envoyant ledit premier et ledit deuxième sous-codes d'identification de plateau, et lesdits tray identification code indicating the identity of said first tray, said second tray being further provided with means for receiving said first tray identification sub-code and for specifying a second tray identification sub-code , indicating the identity of said second tray, said base being provided with means for receiving said first and said second tray identification sub-codes from said second tray; c means for producing a scan code indicating the identity and the state of a switch whose state has varied, at least one scan code being associated with each switch; means for coupling said keyboard system to said data processing apparatus, said coupling means sending said first and said second tray identification sub-codes, and said
codes de balayage par un trajet unique de données. scan codes by a single data path.
Selon un troisième aspect de l'invention, il est fourni un procédé de réalisation d'un système à configuration modifiable destiné à un appareil de traitement de données, ledit procédé comprenant les étapes consistant à: a réaliser une base servant à accepter un ou plusieurs plateaux d'une série et à transmettre des données audit appareil de traitement de données b réaliser un ou plusieurs plateaux, chaque plateau étant pourvu d'une série d'actionneurs et de commutateurs, chaque actionneur étant associé à un ou plusieurs commutateurs, chaque commutateur étant dans un état d'une série, chaque plateau comprenant en outre des moyens de spécification d'un code d'identification de plateau indiquant l'identité dudit plateau, ladite base comprenant un moyen de réception desdits codes d'identification de plateau à partir According to a third aspect of the invention, there is provided a method for producing a system with modifiable configuration intended for a data processing apparatus, said method comprising the steps consisting in: producing a base serving to accept one or more trays of a series and for transmitting data to said data processing device b making one or more trays, each tray being provided with a series of actuators and switches, each actuator being associated with one or more switches, each switch being in a state of a series, each tray further comprising means for specifying a tray identification code indicating the identity of said tray, said base comprising means for receiving said tray identification codes from
desdits plateaux.said plates.
c produire un code de balayage indiquant l'identité et l'état d'un commutateur dont l'état a varié, au moins un code de balayage étant associé à chaque commutateur; et d envoyer audit appareil de traitement de données lesdits codes d'identification de plateau et lesdits codes de balayage par un trajet unique de donnés. Selon un quatrième aspect de l'invention, il est fourni un procédé de réalisation d'un système à configuration modifiable destiné à un appareil de traitement de données, ledit procédé comprenant les étapes consistant à: a réaliser une base servant à accepter un ou plusieurs plateaux d'une série et à transmettre des données audit appareil de traitement de données b réaliser un ou plusieurs plateaux, chaque plateau étant pourvu d'une série d'actionneurs et de commutateurs, chaque actionneur étant associé à un ou plusieurs commutateurs, chaque commutateur étant dans un état d'une série, chaque plateau comprenant en outre des moyens de spécification d'un code d'identification de plateau indiquant l'identité dudit plateau, ladite base comprenant un moyen de réception desdits codes d'identification de plateau à partir c producing a scan code indicating the identity and the state of a switch whose state has varied, at least one scan code being associated with each switch; and sending said tray identification codes and said scanning codes to said data processing apparatus by a single data path. According to a fourth aspect of the invention, there is provided a method for producing a modifiable configuration system intended for a data processing apparatus, said method comprising the steps consisting in: producing a base serving to accept one or more trays of a series and for transmitting data to said data processing device b making one or more trays, each tray being provided with a series of actuators and switches, each actuator being associated with one or more switches, each switch being in a state of a series, each tray further comprising means for specifying a tray identification code indicating the identity of said tray, said base comprising means for receiving said tray identification codes from
desdits plateaux.said plates.
c produire un code de balayage indiquant l'identité et l'état d'un commutateur dont l'état a varié, au moins un code de balayage étant associé à chaque commutateur; d produire un code particulier non identifié à un commutateur de l'un desdits plateaux, ledit code particulier indiquant la présence d'un code d'identification de plateau; e produire un code d'identification de plateau, et c producing a scan code indicating the identity and the state of a switch whose state has varied, at least one scan code being associated with each switch; d producing a particular unidentified code at a switch of one of said platforms, said particular code indicating the presence of a platform identification code; e produce a tray identification code, and
f produire ledit code de balayage.f producing said scan code.
Selon un cinquième aspect de l'invention, il est fourni un procédé de réalisation d'un système de clavier susceptible d'une nouvelle configuration, destiné à un appareil de traitement de données, ledit procédé comprenant les étapes consistant à a réaliser une base servant à accepter un ou plusieurs plateaux d'une série et à transmettre des données audit appareil de traitement de données b réaliser un premier et un deuxième plateaux, chaque plateau étant pourvu d'une série d'actionneurs et de commutateurs, chaque actionneur étant associé à un ou plusieurs commutateurs, chaque commutateur étant dans un état d'une série d'états, ledit premier plateau comprenant en outre un moyen de spécification d'un premier sous-code d'identification de plateau indiquant l'identité dudit plateau, ledit deuxième plateau étant en outre pourvu de moyens de réception dudit premier sous-code d'identification de plateau et de spécification d'un deuxième sous-code d'identification de plateau indiquant l'identité dudit deuxième plateau, ladite base comprenant des moyens de réception dudit premier et dudit deuxième sous-codes d'identification de plateau à partir dudit deuxième plateau; c produire un code de balayage indiquant l'identité et l'état d'un commutateur dont l'état a varié, au moins un code de balayage étant associé à chaque commutateur; et According to a fifth aspect of the invention, there is provided a method for producing a keyboard system capable of a new configuration, intended for a data processing apparatus, said method comprising the steps consisting in producing a base serving accepting one or more plates from a series and transmitting data to said data processing device b producing a first and a second plate, each plate being provided with a series of actuators and switches, each actuator being associated with one or more switches, each switch being in a state of a series of states, said first tray further comprising means for specifying a first tray identification sub-code indicating the identity of said tray, said second tray also being provided with means for receiving said first tray identification sub-code and for specifying a second identifier sub-code tray ation indicating the identity of said second tray, said base comprising means for receiving said first and said second tray identification sub-codes from said second tray; c producing a scan code indicating the identity and the state of a switch whose state has varied, at least one scan code being associated with each switch; and
d envoyer ledit premier et ledit deuxième sous- d send said first and said second sub-
codes d'identification de plateau et lesdits deuxièmes tray identification codes and said second
codes de balayage par un trajet unique de données. scan codes by a single data path.
Les buts, particularités et avantages de la présente invention ressortiront mieux de la The aims, features and advantages of the present invention will emerge more clearly from the
description qui suit d'un exemple de mode de description which follows of an example of
réalisation préféré et des dessins dans lesquels la FIG 1 est une vue en perspective éclatée d'un clavier à configuration modifiable selon un mode de réalisation de la présente invention Le clavier est preferred embodiment and of the drawings in which FIG 1 is an exploded perspective view of a keyboard with modifiable configuration according to an embodiment of the present invention The keyboard is
représenté relié à un ordinateur serveur. shown connected to a server computer.
La FIG 2 a représente une vue détaillée de dessus FIG 2a shows a detailed top view
d'un plateau de clavier.of a keyboard tray.
La FIG 2 b représente une vue détaillée de FIG 2b shows a detailed view of
derrière d'un plateau de clavier.behind a keyboard tray.
La FIG 2 c représente un circuit à l'intérieur du plateau destiné à spécifier un élément FIG 2 c represents a circuit inside the plate intended to specify an element
d'identification de plateau.tray identification.
La FIG 3 est un schéma de l'électronique de FIG 3 is a diagram of the electronics of
clavier.keyboard.
La FIG 4 est un schéma logique du sous-programme d'interruption fonctionnant sur l'ordinateur serveur FIG 4 is a logic diagram of the interrupt routine running on the server computer
de manière à lire la donnée venant du clavier. so as to read the data coming from the keyboard.
La FIG 5 a représente une touche rotative. FIG 5a shows a rotary key.
La FIG 5 b représente une touche coulissante. La FIG 6 représente une table de traduction de clavier. La FIG 7 représente un clavier configuré pour être utilisé avec un programme de calculateur FIG 5b shows a sliding button. FIG 6 shows a keyboard translation table. FIG 7 shows a keyboard configured for use with a computer program
fonctionnant sur l'ordinateur serveur. running on the server computer.
La FIG 8 est un schéma logique du programme de microprocesseur qui balaye une matrice de commutateurs et d'un commutateur qui détermine la touche ou les touches actionnées ou relâchées et lit le code de plateau, et qui transmet le code de plateau ou le code de touche à l'ordinateur serveur, en même temps qu'un préfixe servant à indiquer quand le code de plateau FIG. 8 is a logic diagram of the microprocessor program which scans a matrix of switches and a switch which determines the key or keys pressed or released and reads the tray code, and which transmits the tray code or the code key on the server computer, along with a prefix to indicate when the tray code
doit être transmis.must be transmitted.
La FIG 1 représente une vue éclatée d'un clavier à configuration modifiable selon un premier mode de réalisation Le clavier consiste en deux éléments de base, une base 10 et un plateau 20 Le plateau 20 peut être monté en le faisant coulisser dans un évidement de la base 10 dans le sens représenté par la flèche 40 Le plateau 20 est maintenu en place dans la base par des guides de coulissement 50 en saillie depuis les côtés d'un évidement 30 de la base 10, les guides concordant avec des évidements 60 ménagés dans le côté du plateau 10 Lorsque le plateau 20 est totalement inséré dans l'évidement 30 de la base, le plateau 20 FIG 1 shows an exploded view of a keyboard with modifiable configuration according to a first embodiment The keyboard consists of two basic elements, a base 10 and a tray 20 The tray 20 can be mounted by sliding it in a recess of the base 10 in the direction represented by the arrow 40 The plate 20 is held in place in the base by sliding guides 50 projecting from the sides of a recess 30 in the base 10, the guides coinciding with recesses 60 provided in the side of the tray 10 When the tray 20 is fully inserted in the recess 30 of the base, the tray 20
est verrouillé en place par des verrous mécaniques 70. is locked in place by mechanical locks 70.
Les verrous mécaniques peuvent être rétractés en actionnant des boutons de libération 71, en permettant ainsi au plateau d'être libéré Le trajet de signaux entre la base 10 et un ordinateur serveur 24 est réalisé par un câble 18 pourvu d'un connecteur 19 relié à une douille 25 de l'ordinateur serveur 24 La combinaison de connecteur et de douille est d'un type utilisé classiquement pour relier des claviers à des appareils de traitement de données comme un ordinateur 24. La FIG 2 a représente un plateau 20 Le plateau consiste en un ensemble de touches et d'autres actionneurs De nombreuses configurations peuvent envisagées pour le plateau En outre, les touches elles-mêmes peuvent être d'une forme, d'une couleur, ou d'une texture quelconque En plus des touches, il est possibled'utiliser des coulisseaux 29, des boutons tournants 27, des billes de poursuite, des manipulateurs ou commutateurs à tiges et d'autres actionneurs, chacun de ces actionneurs pouvant être dans l'un de deux états discrets ou davantage Par exemple, un coulisseau peut se trouver dans une position parmi plusieurs, un commutateur peut être en fonction ou hors fonction et un commutateur sensible à la pression peut être enfoncé en utilisant une pression parmi plusieurs pressions discrètes Alors qu'un commutateur sensible à la pression peut être enfoncé au moyen d'une pression variable continue, des commutateurs internes traduisent la pression variable continue en une série de pressions discrètes Des touches à configurations complémentaires comme les touches numérotées 32 à 36 peuvent être groupées entre elles De plus, des actionneurs qui répondent à plus d'un type d'effets peuvent être inclus Par exemple, il peut exister des boutons tournants qui peuvent également être enfoncés, ou des poignées d'un manipulateur qui peuvent être serrées ou être déplacées. Selon une variante de mode de réalisation, un commutateur peut être sensible à des sons, de sorte que son état est modifié en fonction du niveau sonore ou de la hauteur d'un son; ceci peut être mis en oeuvre en utilisant des techniques bien connues de The mechanical locks can be retracted by actuating release buttons 71, thus allowing the tray to be released. The signal path between the base 10 and a server computer 24 is produced by a cable 18 provided with a connector 19 connected to a socket 25 of the server computer 24 The connector and socket combination is of a type conventionally used for connecting keyboards to data processing devices such as a computer 24. FIG 2 a represents a tray 20 The tray consists in a set of keys and other actuators Many configurations can be envisaged for the tray In addition, the keys themselves can be of any shape, color, or texture In addition to the keys, there it is possible to use slides 29, rotary knobs 27, tracking balls, manipulators or switches with rods and other actuators, each of these actuators being able to be in the one of two or more discrete states For example, a slider may be in one of several positions, a switch may be on or off and a pressure sensitive switch may be depressed using one of several discrete pressures While pressure-sensitive switch can be pressed by means of continuous variable pressure, internal switches translate continuous variable pressure into a series of discrete pressures Keys with additional configurations such as the keys numbered 32 to 36 can be grouped together In addition, actuators which respond to more than one type of effect may be included. For example, there may be rotary knobs which may also be depressed, or handles of a manipulator which may be tightened or moved. According to an alternative embodiment, a switch can be sensitive to sounds, so that its state is modified as a function of the sound level or the pitch of a sound; this can be implemented using well known techniques of
reconnaissance des sons.sound recognition.
Selon un autre mode de réalisation, un commutateur particulier peut être actionné par la lumière; par exemple, l'état du commutateur peut être déterminé par le fait qu'une lumière atteint ou non un capteur d'actionneur du commutateur particulier Dans ce cas, si l'utilisateur empêche une lumière ambiante de parvenir au commutateur (par exemple en plaçant un doigt au-dessus de l'actionneur), l'état du According to another embodiment, a particular switch can be actuated by light; for example, the state of the switch can be determined by whether a light reaches a particular switch actuator sensor or not In this case, if the user prevents ambient light from reaching the switch (for example by placing a finger above the actuator), the status of
commutateur est modifié.switch is changed.
Un clavier à configuration modifiable peut être configuré spécialement pour fonctionner avec des programmes d'ordinateurs particuliers Par exemple, la FIG 1 représente un clavier qui peut être utilisé dans un programme servant à aider les enfants à apprendre des formes, et la FIG 7 représente un clavier selon une configuration qui peut être utilisée A keyboard with an editable configuration can be specially configured to work with particular computer programs. For example, FIG 1 shows a keyboard that can be used in a program to help children learn shapes, and FIG 7 shows a keyboard in a configuration that can be used
pour un programme de calculateur.for a computer program.
La FIG 2 b représente une vue en perspective de l'arrière du plateau 20 Un connecteur 51 est disposé sur l'arrière du plateau 20 pour relier un connecteur complémentaire 52 situé à l'arrière de l'évidement 30 de base afin de permettre une transmission de signaux du plateau à la base Des saillies 21 d'identification FIG 2b shows a perspective view of the rear of the tray 20 A connector 51 is arranged on the back of the tray 20 to connect a complementary connector 52 located at the rear of the base recess 30 to allow a transmission of signals from the platform to the base Identification projections 21
de plateau sont disposées à l'arrière du plateau 20. tray are arranged at the rear of the tray 20.
Lorsque le plateau 20 est inséré dans la base 10, un commutateur 17 d'identification de plateau situé à l'arrière de l'évidement 30 de base est actionné pour chaque saillie 21 d'identification de plateau du plateau 20 Le nombre et l'emplacement des saillies 21 d'identification de plateau sont particuliers à un plateau spécifique de façon à identifier le plateau couplé à la base 10 On peut comprendre qu'un utilisateur peut disposer d'un procédé lui permettant de configurer lui-même des saillies d'identification de plateau, par exemple des pattes en plastique qui peuvent être brisées ou des broches en saillie qui peuvent être insérées dans des trous aménagés à l'arrière du plateau. Selon un autre mode de réalisation possible, un circuit d'identification de plateau électronique est disposé dans le plateau 20 Plusieurs bits sont assignés pour identifier le plateau Comme illustré à la FIG 2 c, dans un tel mode de réalisation, une masse et un signal de 5 volts sont fournis au plateau 20 par When the tray 20 is inserted into the base 10, a tray identification switch 17 located at the rear of the base recess 30 is actuated for each projection 21 of the tray identification of the tray 20 The number and the location of the projections 21 for identifying the tray are specific to a specific tray so as to identify the tray coupled to the base 10 It can be understood that a user can have a method allowing him to configure himself the projections of tray identification, for example plastic tabs which can be broken or protruding pins which can be inserted into holes in the rear of the tray. According to another possible embodiment, an electronic board identification circuit is arranged in the board 20 Several bits are assigned to identify the board As illustrated in FIG 2 c, in such an embodiment, a ground and a signal of 5 volts are supplied to the plate 20 by
la base 10 par des broches 53 et 54 respectivement. the base 10 by pins 53 and 54 respectively.
L'identification de plateau est envoyée du plateau à la base par les connecteurs 51, 52 A la FIG 2 c, deux bits d'identification de plateau sont représentés comme envoyés à la base par les broches 55 et 56 des connecteurs 51, 52 Chaque bit de l'identification de plateau peut être dans l'un de deux états, à la masse ou à environ 5 volts, selon celles des broches 53, 54 qui est relié à des broches des connecteurs 51, 52 A la FIG 2 c, le bit envoyé par la broche 55 est d'environ 5 volts, (la résistance de la broche 54 à la broche 55 peut être omise) et le bit fourni par la The tray identification is sent from the tray to the base by the connectors 51, 52 In FIG 2 c, two bits of tray identification are represented as sent to the base by the pins 55 and 56 of the connectors 51, 52 Each bit of the tray identification can be in one of two states, grounded or around 5 volts, depending on which of pins 53, 54 which is connected to pins of connectors 51, 52 In FIG 2 c, the bit sent by pin 55 is around 5 volts, (the resistance from pin 54 to pin 55 can be omitted) and the bit supplied by the
broche 56 est à la masse.pin 56 is grounded.
Selon un autre mode de réalisation éventuel, un utilisateur peut disposer d'un commutateur à boîtier à double rangée de broches, ou DIP, pour modifier l'identification de plateau d'une manière telle qu'il puisse relier sélectivement chaque bit de l'élément d'identification de plateau à la masse ou au signal de volts. Chaque plateau peut se trouver dans plusieurs états, qui peuvent être choisis par un coulisseau ou un autre actionneur sur le plateau ou la base Par exemple, pour un plateau d'un programme d'apprentissage d'enfants, chaque état du plateau peut According to another possible embodiment, a user can have a switch with a double row pin housing, or DIP, to modify the tray identification in such a way that it can selectively link each bit of the platen identification element to ground or to volt signal. Each tray can be in several states, which can be chosen by a slide or another actuator on the tray or the base For example, for a tray of a children's learning program, each state of the tray can
correspondre à un niveau différent de difficultés. correspond to a different level of difficulty.
Dans un mode de réalisation, un code différent de In one embodiment, a code different from
plateau est assigné à chacun de ces états. board is assigned to each of these states.
Selon une variante de mode de réalisation, deux cas sont utilisés: un code de plateau pour identifier le plateau et un code de niveau de plateau pour According to an alternative embodiment, two cases are used: a plateau code to identify the plateau and a plateau level code for
identifier l'état du plateau.identify the condition of the platform.
Certains des plateaux 20 peuvent être configurés spécialement pour des applications d'ordinateurs largement répandus commercialisés par d'autres fabricants Par exemple, il peut exister un plateau spécial pour un simulateur de vol Microsoft, qui est un programme de simulation de vol largement répandu de la Microsoft Corporation, Redmond, Washington Un tel plateau peut permettre à un utilisateur d'utiliser un manipulateur, à la différence des touches de flèche d'un clavier classique Le code de plateau venant d'un plateau configuré spécialement de cette manière identifierait le type particulier de plateau et l'électronique incluse dans la base 10 ou le plateau Some of the platters 20 can be specially configured for widely used computer applications marketed by other manufacturers. For example, there may be a special platter for a Microsoft flight simulator, which is a widely used flight simulation program of the Microsoft Corporation, Redmond, Washington Such a tray can allow a user to use a manipulator, unlike the arrow keys on a conventional keyboard. The tray code from a tray specially configured in this way would identify the particular type. and the electronics included in base 10 or the tray
pourrait interpréter un tel plateau. could interpret such a plateau.
Selon un autre mode de réalisation, certaines touches d'un plateau peuvent être programmées au préalable pour amener un ordinateur serveur 24 à effectuer des actions particulières Dans un tel système, l'actionnement d'une touche unique amènerait une chaîne complète de caractères, ou une ligne According to another embodiment, certain keys of a tray can be programmed beforehand to cause a server computer 24 to perform specific actions. In such a system, the actuation of a single key would bring about a complete string of characters, or a line
d'ordre, à être entrée dans l'ordinateur serveur 24. to be entered in the server computer 24.
Le code de plateau identifierait un tel plateau Dans ce but, l'appareil de traitement de données décode une combinaison particulière unique de code de balayage et de code de plateau, envoyée au connecteur 18 d'ordinateur par le clavier, afin de produire une chaîne de caractères à placer dans le tampon de clavier de l'appareil de traitement de données En variante, le microprocesseur de la base du clavier peut être programmé pour engendrer une série de codes de balayage venant de l'activation d'un actionneur particulier du plateau, cette série de codes de balayage étant envoyée à l'ordinateur par l'intermédiaire du connecteur 18 On comprend que d'autres modes de réalisation peuvent être implantés afin de produire une série de caractères à entrer dans The tray code would identify such a tray. For this purpose, the data processing device decodes a unique particular combination of scan code and tray code, sent to the computer connector 18 by the keyboard, in order to produce a chain. of characters to be placed in the keyboard buffer of the data processing device As a variant, the microprocessor at the base of the keyboard can be programmed to generate a series of scanning codes coming from the activation of a particular actuator of the table , this series of scanning codes being sent to the computer via the connector 18 It is understood that other embodiments can be implemented in order to produce a series of characters to be entered
l'ordinateur 24.computer 24.
La FIG 3 représente un schéma détaillé de l'électronique de clavier On comprend que l'électronique de clavier est bien connue et que des implantations connues autres que celles qui sont représentées à la FIG 3 peuvent être utilisées Le clavier représenté à la FIG 3 contient quatre conducteurs de colonnes lla à lld et huit conducteurs de rangées 12 a à 12 h Les conducteurs sont agencés selon une matrice Alors qu'une matrice physique rectangulaire est représentée, on comprend qu'il s'agit en général d'une matrice logique qui peut être agencée selon une disposition géométrique quelconque nécessaire pour une configuration particulière de commutateurs et d'actionneurs Chaque conducteur de colonne est relié en pouvant être commuté à chaque FIG 3 represents a detailed diagram of the keyboard electronics. It is understood that the keyboard electronics are well known and that known layouts other than those which are represented in FIG 3 can be used. The keyboard represented in FIG 3 contains four column conductors lla to lld and eight row conductors 12 a to 12 h The conductors are arranged according to a matrix While a rectangular physical matrix is represented, it is understood that it is generally a logical matrix which can be arranged in any geometrical arrangement necessary for a particular configuration of switches and actuators Each column conductor is connected so that it can be switched to each
conducteur séparé de rangée 12 par un commutateur 15. separate row conductor 12 by a switch 15.
Par exemple, le conducteur 12 f de rangée est relié en pouvant être commuté au conducteur de colonne llb par le commutateur 15 b Une connexion particulière est effectuée (c'est-à-dire qu'un commutateur est fermé) lorsqu'une touche (ou un autre actionneur) situé à proximité d'un commutateur particulier est actionnée en amenant le commutateur à se fermer Des mécanismes de commutateurs à touches sont connus dans l'art; par exemple, un mécanisme de ce type est décrit dans le brevet US N O 4 688 020 de Kuehneman et al Comme décrit plus haut, on comprend que des mécanismes de commutateurs à touches autres que le type à "plongeur" décrit par Kuehneman et al peuvent être utilisés Par exemple, des commutateurs tournant et coulissants comme représentés aux FIG 5 a et 5 b respectivement, peuvent également être prévus En se référant à la FIG 5 a, on voit que la rotation du bouton 82 autour du pivot 81 permet d'ouvrir ou de fermer sélectivement les commutateurs 83 a à 83 f De même, en se référant à la FIG 5 b, on voit que le coulissement de la touche 84 permet d'ouvrir ou de fermer sélectivement des For example, the row conductor 12 f is connected so that it can be switched to the column conductor llb by the switch 15 b A special connection is made (i.e. a switch is closed) when a key ( or other actuator) located near a particular switch is operated by causing the switch to close. Key switch mechanisms are known in the art; for example, such a mechanism is described in US Patent No. 4,688,020 to Kuehneman et al. As described above, it is understood that key switch mechanisms other than the "plunger" type described by Kuehneman et al can be used For example, rotary and sliding switches as shown in FIGS 5 a and 5 b respectively, can also be provided With reference to FIG 5 a, it can be seen that the rotation of the button 82 around the pivot 81 makes it possible to open or selectively close the switches 83 a to 83 f Likewise, with reference to FIG 5 b, it can be seen that the sliding of the button 84 makes it possible to selectively open or close
commutateurs 85 a à 85 d.switches 85 a to 85 d.
De plus, on peut réaliser des actionneurs tels que chaque actionneur puisse être actionné de plus d'une manière Par exemple, un actionneur de ce type peut ouvrir ou fermer un commutateur lorsqu'il est serré, et ouvrir ou fermer un autre commutateur lorsque l'actionneur est enfoncé On comprendra qu'une touche coulissante 84 représentée à la FIG 5 b peut In addition, actuators can be made such that each actuator can be actuated in more than one way. For example, an actuator of this type can open or close a switch when it is tight, and open or close another switch when the actuator is pressed It will be understood that a sliding button 84 shown in FIG 5b can
être utilisée pour modifier l'état d'un plateau. be used to modify the state of a tray.
Selon un autre mode de réalisation, les plateaux peuvent comprendre, en plus des touches et autres actionneurs, des lumières qui s'éclairent en réponse à l'actionnement de certaines touches ou actionneurs Le plateau 20 peut également comprendre des mécanismes sonores, par exemple des cloches ou des vibreurs qui répondent aux actionnements de certaines touches ou de certains actionneurs Par exemple, appuyer sur le lapin 26 du plateau 20 de la FIG 1 peut amener une cloche à sonner L'énergie de ces mécanismes lumineux ou sonores peut être amenée au plateau 20 à partir de According to another embodiment, the plates can comprise, in addition to the keys and other actuators, lights which light up in response to the actuation of certain keys or actuators. The plate 20 can also include sound mechanisms, for example bells or vibrators that respond to the actuations of certain keys or certain actuators For example, pressing the rabbit 26 on the tray 20 of FIG 1 can cause a bell to ring The energy of these light or sound mechanisms can be brought to the tray 20 from
l'unité de base 10.base unit 10.
Selon un autre mode de réalisation, il est possible d'insérer plus d'un plateau de touches ou d'actionneurs dans l'unité de base 10 Par exemple, si deux plateaux sont utilisés, le code de plateau peut être divisé en deux sous-codes Dans un mode de réalisation qui présente des saillies d'identification 21 et des commutateurs correspondants 17 d'identification de plateau à l'arrière de l'évidement de base 30, les saillies d'identification 21 de plateau des deux plateaux forment ensemble le code d'identification de plateau Dans un mode de réalisation utilisant des connecteurs 51, 52 pour fournir le code de plateau, deux connecteurs 52 peuvent être utilisés au lieu d'un, chacun des plateaux comprenant un connecteur 51 qui s'ajuste dans l'un des deux connecteurs 52 de l'unité de base 10 La partie de la matrice logique qui correspond à l'un des plateaux est située sur le plateau 20 et la partie de matrice logique qui correspond au deuxième des According to another embodiment, it is possible to insert more than one plate of keys or actuators in the base unit 10 For example, if two plates are used, the code of plate can be divided into two sub -codes In an embodiment which has identification projections 21 and corresponding switches 17 for tray identification at the rear of the base recess 30, the identification projections 21 for tray of the two trays form together the tray identification code In one embodiment using connectors 51, 52 to provide the tray code, two connectors 52 can be used instead of one, each of the trays comprising a connector 51 which fits in the one of the two connectors 52 of the base unit 10 The part of the logic matrix which corresponds to one of the plates is located on the plate 20 and the part of logic matrix which corresponds to the second of the
plateaux est située sur le deuxième plateau. trays is located on the second tray.
Selon un autre mode de réalisation encore, un connecteur électrique est disposé entre les deux plateaux Le connecteur électrique peut relier la partie de la matrice d'un plateau à la partie de la matrice du deuxième plateau Un connecteur entre les deux plateaux peut permettre à un premier plateau de According to yet another embodiment, an electrical connector is disposed between the two plates. The electrical connector can connect the part of the matrix of a plate to the part of the matrix of the second plate. A connector between the two plates can allow a first set of
recevoir du deuxième plateau un sous-code de plateau. receive from the second tray a tray subcode.
Le premier plateau fournit alors par une connexion 51, 52 un code d'identification de plateau contenant les The first tray then provides a connection 51, 52 with a tray identification code containing the
sous-codes de plateaux des deux plateaux. tray sub-codes of the two trays.
Un clavier à configuration normalisée fixe peut être relié à la base 10 par l'intermédiaire d'une connexion normalisée de plateau de l'ordinateur serveur particulier 24 Dans ce cas, la base 10 inclut un moyen d'arbitrage, (par exemple un microprocesseur 16) qui arbitre sur la base du premier entré premier servi, en utilisant des algorithmes bien connus d'arbitrage utilisant cette base L'algorithme est typiquement implanté dans un programme d'ordinateur qui est exécuté sur un microprocesseur 16 et qui arbitre entre le balayage du plateau/de la matrice logique de base et le passage par les codes de balayage depuis la matrice classique (qui inclut son propre microprocesseur pour balayer la matrice fixe de touche du clavier normalisé) Si une touche est actionnée sur le clavier normalisé à configuration fixe, si aucun code de balayage ou aucun autre code venant du plateau de la base 10 n'est actuellement envoyé par le microprocesseur 16, la base 10 laisse passer l'information reçue du clavier normalisé à travers la base 10 pour atteindre le processeur serveur 24 Si une touche est actionnée sur la base 10 ou le plateau 20, la base 10 fonctionne de la manière A fixed standard configuration keyboard can be connected to the base 10 via a standardized tray connection of the particular server computer 24 In this case, the base 10 includes an arbitration means (for example a microprocessor 16) which arbitrates on a first come first served basis, using well known arbitration algorithms using this basis The algorithm is typically implemented in a computer program which is executed on a microprocessor 16 and which arbitrates between scanning of the tray / of the basic logic matrix and the passage by the scanning codes from the classic matrix (which includes its own microprocessor to scan the fixed key matrix of the standard keyboard) If a key is pressed on the standard keyboard with fixed configuration , if no scanning code or any other code coming from the base 10 tray is currently sent by the microprocessor 16, the base 10 lets the information pass n received from the standard keyboard through the base 10 to reach the server processor 24 If a key is pressed on the base 10 or the tray 20, the base 10 operates in the manner
décrite ici.described here.
Des touches normalisées comme les touches de flèches 22 sont nécessaires dans de nombreux programmes Puisqu'il est souhaitable que ces touches standardisées soient présentes sur le clavier dans toutes les configurations, ces touches peuvent être localisées sur la base 10 comme représenté aux FIG 1 et 7 Dans un tel cas, la partie de la matrice logique qui correspond aux touches variables, peut être située sur le plateau 20, tandis qu'une partie de la matrice logique correspondant aux touches normalisées se trouve sur la base 10 Par exemple, les emplacements de matrice du conducteur de rangée 12 a peuvent être situés physiquement dans la base et les connexions de a à 95 k entre la partie de la matrice du plateau et le reste de la matrice de la base peut être effectué à l'intérieur des connecteurs 51, 52 On comprend que la fonctionnalité de l'électronique est identique, quelle que soit la répartition des emplacements de matrices entre la base et le plateau, ou entre la base et plusieurs plateaux dans le cas o il existe plusieurs plateaux. En se référant à nouveau à la FIG 3, lorsqu'un actionneur est activé sur le plateau, par exemple lorsqu'une touche est actionnée, un commutateur 14 associé à la touche actionnée est fermé, en réalisant une liaison entre le conducteur 12 particulier de rangée et le conducteur 11 particulier de colonne reliés au commutateur 15 De même lorsqu'une touche du plateau 20 est libérée, son commutateur correspondant est ouvert, en interrompant la liaison entre le conducteur de rangée 12 et le conducteur particulier Standardized keys like the arrow keys 22 are necessary in many programs Since it is desirable that these standardized keys are present on the keyboard in all configurations, these keys can be located on the base 10 as shown in FIGs 1 and 7 In such a case, the part of the logical matrix which corresponds to the variable keys, can be located on the plate 20, while a part of the logical matrix corresponding to the standardized keys is located on the base 10 For example, the locations of row conductor matrix 12 a can be physically located in the base and the connections from a to 95 k between the part of the matrix of the plate and the rest of the matrix of the base can be made inside the connectors 51, 52 It is understood that the functionality of the electronics is identical, whatever the distribution of the locations of dies between the base and the plate, or between the base and several trays in the case where there are several trays. Referring again to FIG 3, when an actuator is activated on the plate, for example when a key is actuated, a switch 14 associated with the actuated key is closed, by making a connection between the particular conductor 12 of row and the particular column conductor 11 connected to the switch 15 Likewise when a key on the plate 20 is released, its corresponding switch is open, interrupting the connection between the row conductor 12 and the particular conductor
de colonne il reliés au commutateur 15. column connected to switch 15.
Un des rôles du microprocesseur 16 à la FIG 3 consiste à déterminer quand un commutateur a été ouvert ou fermé et identifier ce commutateur Pour déterminer si un commutateur particulier a été ouvert One of the roles of microprocessor 16 in FIG 3 is to determine when a switch has been opened or closed and identify that switch To determine if a particular switch has been opened
ou fermé, le microprocesseur interroge le commutateur. or closed, the microprocessor interrogates the switch.
Le microprocesseur 16 amène d'abord la tension du conducteur de ligne 12 correspondant à ce commutateur à passer au niveau bas, et examine ensuite la tension du conducteur de colonne Il correspondant à l'emplacement. Le microprocesseur 11 amène la tension d'un conducteur particulier de rangée à passer au niveau bas en plaçant une valeur sur ses sorties Q 2 Q 1 Q O qui sont reliées aux entrées A 2 A 1 AO respectivement, sur un The microprocessor 16 first brings the voltage of the line conductor 12 corresponding to this switch to go low, and then examines the voltage of the column conductor II corresponding to the location. The microprocessor 11 causes the voltage of a particular row conductor to go to the low level by placing a value on its outputs Q 2 Q 1 Q O which are connected to the inputs A 2 A 1 AO respectively, on a
décodeur 13 de rangée à trois entrées et huit sorties. row decoder 13 with three inputs and eight outputs.
En plaçant une valeur sur les sorties Q 2 Q 1 Qo du microprocesseur 16, et donc sur les entrées d'adresses A 2 A 1 Ao du décodeur 13 de rangée, on amène le décodeur 13 de rangée à activer l'une des lignes de sortie, Qon, Q 1, Q 2, Q 3, Q 4, Q 5, Q 6 ou Q 7 Chaque conducteur de rangée 12 a à 12 h est connecté à une sortie séparée parmi les sorties de données Q O à Q 7, respectivement, du décodeur de rangée 13 Par exemple, lorsque le microprocesseur 16 place 101 (en base 2) sur ses sorties d'adresse de rangée Q 2 Ql Q 0 reliées aux entrées du décodeur 13 de rangée A 2 A 1 Ao, la sortie Q 5 passe au niveau bas (parce que le décodeur couple la sortie Q 5 à la masse) et la rangée 12 f est ainsi activée alors que les autres rangées restent au niveau haut parce que les autres rangées restent au niveau haute en raison des résistances élévatrices 12 aa, 12 bb, 12 cc, 12 dd, 12 ee, 12 ff, 12 gg, et 12 hh. Le microprocesseur 16 examine la tension d'un conducteur de colonne particulier en adressant le conducteur de colonne par l'intermédiaire de son adresse sur ses sorties Q 4 Q 3 qui sont reliées aux entrées d'adresse A 1 AO, respectivement, sur le sélecteur 14 de donnée de colonne qui est un multiplexeur à quatre entrées et à 1 sortie Les entrées d'adresse A 1 AO servent de lignes de choix pour le multiplexeur Placer une adresse de colonne à une sortie Q 4 Q 3 et donc sur les entrées A 1 Ao du sélecteur 14 de donnée de colonne amène à la sortie Q reliée à l'entrée D du microprocesseur 16 à prendre une valeur identique au signal présent sur le conducteur 11 en By placing a value on the outputs Q 2 Q 1 Qo of the microprocessor 16, and therefore on the address inputs A 2 A 1 Ao of the row decoder 13, the row decoder 13 is caused to activate one of the lines of output, Qon, Q 1, Q 2, Q 3, Q 4, Q 5, Q 6 or Q 7 Each row conductor 12 a at 12 h is connected to a separate output among the data outputs QO to Q 7, respectively , of the row decoder 13 For example, when the microprocessor 16 places 101 (on base 2) on its row address outputs Q 2 Ql Q 0 connected to the inputs of the decoder 13 of row A 2 A 1 Ao, the output Q 5 goes to low level (because the decoder couples the output Q 5 to ground) and row 12 f is thus activated while the other rows remain at high level because the other rows remain at high level due to the lifting resistors 12 aa, 12 bb, 12 cc, 12 dd, 12 ee, 12 ff, 12 gg, and 12 hh. The microprocessor 16 examines the voltage of a particular column conductor by addressing the column conductor via its address on its outputs Q 4 Q 3 which are connected to the address inputs A 1 AO, respectively, on the selector 14 of column data which is a multiplexer with four inputs and 1 output The address inputs A 1 AO serve as choice lines for the multiplexer Place a column address at an output Q 4 Q 3 and therefore on the inputs A 1 Ao of the column data selector 14 leads to the output Q connected to the input D of the microprocessor 16 to take a value identical to the signal present on the conductor 11 in
cours d'adressage de la colonne particulière. addressing course for the particular column.
Par exemple, lorsque le microprocesseur 16 place simultanément 101 (en base 2) sur ses sorties d'adresses de rangées Q 2 Q 1 Qo et 10 (en base 2) sur ses sorties d'adresses de colonnes Q 4 Q 3, les entrées A 1 Ao d'adresses du sélecteur 14 de donnée de colonne sont 10 (en base 2), de sorte que la sortie Q du sélecteur de donnée de colonne devient identique à l'entrée D 2 du sélecteur de donnée de colonne Le microprocesseur a ainsi interrogé le commutateur à l'emplacement de matrice o le conducteur 12 f de rangée et le For example, when the microprocessor 16 simultaneously places 101 (in base 2) on its row address outputs Q 2 Q 1 Qo and 10 (in base 2) on its column address outputs Q 4 Q 3, the inputs A 1 Ao of addresses of the column data selector 14 are 10 (in base 2), so that the output Q of the column data selector becomes identical to the input D 2 of the column data selector The microprocessor has so polled the switch at the matrix location o the row driver 12 f and the
conducteur lic sont en intersection. lic driver are at intersection.
En se référant à nouveau à la FIG 3, un commutateur en cours d'interrogation (adressé) par le microprocesseur 16) est dans l'état fermé lorsque D 1 du microprocesseur 16 est au niveau bas et il est dans l'état ouvert lorsque D 1 du microprocesseur 16 est au niveau haut Le microprocesseur interroge tous les emplacements de matrice en plaçant successivement, sur ses sorties Q 4 Q 3 et Q 2 Ql Qo, des valeurs correspondant à chacun des emplacements de la matrice Lorsque le microprocesseur trouve que son entrée Dl pour un emplacement particulier diffère de la valeur lue lors du balayage précédent, il transmet à l'ordinateur serveur une indication de la variation, un code de balayage de touche, par l'intermédiaire de la sortie Referring again to FIG 3, a switch being interrogated (addressed) by the microprocessor 16) is in the closed state when D 1 of the microprocessor 16 is at the low level and it is in the open state when D 1 of microprocessor 16 is high The microprocessor interrogates all the matrix locations by successively placing, on its outputs Q 4 Q 3 and Q 2 Ql Qo, values corresponding to each of the locations of the matrix When the microprocessor finds that its input Dl for a particular location differs from the value read during the previous scan, it transmits to the server computer an indication of the variation, a key scan code, via the output
sérielle 22 de clavier, ou KBD, comme détaillé ci- keyboard serial 22, or KBD, as detailed below
dessous.below.
On comprendra que des détails comme un circuit anti-rebondissement ne sont pas représentés à la FIG. 3 La structure d'un tel circuit est bien connue dans l'art D'autres détails concernant le circuit de clavier qui sont bien connus dans l'art sont également omis afin de ne pas obscurcir la présente invention It will be understood that details such as an anti-rebound circuit are not shown in FIG. 3 The structure of such a circuit is well known in the art Other details concerning the keyboard circuit which are well known in the art are also omitted so as not to obscure the present invention
par des détails inutiles.by unnecessary details.
Le sélecteur 14 de donnée et l'encodeur 13 de donnée peuvent être situés, soit dans la base 10, soit dans le plateau 20 Cependant, il peut être préférable de les disposer dans la base 10 afin de minimiser le nombre des composants qui doivent être contenus dans les plateaux interchangeables, et de minimiser ainsi la duplication de composants Si le sélecteur 14 de donnée et le décodeur 13 de donnée sont situés dans la base 10, les entrées de donnée du sélecteur de l'encodeur de donnée ne sont reliées aux conducteurs 11, 12 de colonne et de rangée que lorsque les connecteurs 51 et 52 concordent, c'est-à-dire lorsque le plateau 20 a été inséré dans la base 10 Dans un mode de réalisation dans lequel le plateau inclut des lumières et des moyens sonores, en réponse à l'actionnement de touches ou d'actionneurs particuliers par l'utilisateur, une électronique additionnelle des lumières et des éléments sonores est The data selector 14 and the data encoder 13 can be located either in the base 10 or in the tray 20 However, it may be preferable to place them in the base 10 in order to minimize the number of components which must be contained in the interchangeable plates, and thus minimizing the duplication of components If the data selector 14 and the data decoder 13 are located in the base 10, the data inputs of the data encoder selector are only connected to the conductors 11, 12 of column and row only when the connectors 51 and 52 match, that is to say when the tray 20 has been inserted into the base 10 In an embodiment in which the tray includes lights and means sound, in response to the actuation of particular keys or actuators by the user, additional electronics of lights and sound elements are
incluse dans le plateau 20.included in tray 20.
En se référant encore à la FIG 3, on peut apprécier qu'un commutateur 23 peut être introduit dans la sortie sérielle 22 de clavier afin de ne permettre une communication entre le microprocesseur 16 et le processeur serveur 24 que lorsqu'un plateau est inséré dans la base 10 Selon un mode de réalisation, lorsqu'un plateau 20 est inséré dans la base 10, un bouton 72 situé dans l'évidement de la base est actionné, en fermant le commutateur 23 et en permettant une communication entre le microprocesseur 16 et le processeur serveur 24 Selon une variante du mode de réalisation, le bouton 72 n'ouvre et ne ferme pas la sortie sérielle de clavier, mais donne plutôt au microprocesseur 16 une indication de la présence ou Referring again to FIG 3, it can be appreciated that a switch 23 can be inserted into the serial output 22 of the keyboard so as to allow communication between the microprocessor 16 and the server processor 24 only when a tray is inserted in the base 10 According to one embodiment, when a tray 20 is inserted into the base 10, a button 72 located in the recess of the base is actuated, by closing the switch 23 and allowing communication between the microprocessor 16 and the server processor 24 According to a variant of the embodiment, the button 72 does not open or close the serial keyboard output, but rather gives the microprocessor 16 an indication of the presence or
de l'absence d'un plateau dans l'évidement de la base. the absence of a tray in the base recess.
Dans ce mode de réalisation, le microprocesseur transmet ensuite l'indication au processeur serveur 24 par l'intermédiaire de la sortie sérielle de clavier 22. Selon un mode de réalisation, le microprocesseur 16 transmet un "SCANCODE", c'est-à-dire littéralement un code de balayage, au processeur serveur 24 chaque fois qu'une variation de l'état d'un commutateur à un In this embodiment, the microprocessor then transmits the indication to the server processor 24 via the serial keyboard output 22. According to one embodiment, the microprocessor 16 transmits a "SCANCODE", that is to say literally tell a scan code to the server processor 24 whenever a change in the state of a switch to a
emplacement d'une matrice particulier est détecté. location of a particular matrix is detected.
SCANCODE indique l'emplacement de matrice du commutateur dont l'état a varié et la variation d'état Dans un mode de réalisation spécifique de l'invention, huit bits sont utilisés pour SCANCODE Au moins un code particulier à huit bits est réservé pour d'autres utilisations Selon une implantation possible décrite de façon plus détaillée ci-dessus, un code SCANCODE indicates the matrix location of the switch whose state has varied and the state variation In a specific embodiment of the invention, eight bits are used for SCANCODE At least one particular eight-bit code is reserved for d 'other uses According to a possible implementation described in more detail above, a code
réservé à huit bits appelé TRAYCODEPREFIX, c'est-à- reserved for eight bits called TRAYCODEPREFIX, that is to say
dire littéralement préfixe de code de plateau, est utilisé pour indiquer au processeur serveur que le code suivant à huit bits transmis du microprocesseur 16 au processeur serveur 24, n'est pas un SCANCODE mais un code d'identification de plateau ("TRAYCODE"), et, si le plateau est un plateau à états multiples, une indication de l'état du plateau Ainsi, dans cette implantation particulière, afin d'éviter une confusion, ni un SCANCODE ni un TRAYCODE ne peut literally say shelf code prefix, is used to indicate to the server processor that the following eight-bit code transmitted from microprocessor 16 to server processor 24, is not a SCANCODE but a shelf identification code ("TRAYCODE") , and, if the stage is a multi-state stage, an indication of the state of the stage Thus, in this particular layout, in order to avoid confusion, neither a SCANCODE nor a TRAYCODE can
jamais prendre la valeur de TRAYCODEPREFIX. never take the value of TRAYCODEPREFIX.
Chaque fois que le microprocesseur détecte que l'état d'un commutateur a varié, le microprocesseur 16 lit aussi les états des commutateurs d'identification 17 de plateau, c'est-à-dire le code d'identification de plateau, ou "TRAYCODE" Le TRAYCODE est transmis par le microprocesseur 16 au processeur serveur 24, qui utilise le TRAYCODE pour associer des SCANCODE à une table particulière de traduction de clavier, comme décrit plus loin Dans la variante de mode de réalisation, o le TRAYCODE est envoyé à la base 10 à partir du plateau 20 par l'intermédiaire des connecteurs 51, 52, le microprocesseur lit le TRAYCODE fourni par l'intermédiaire des connecteurs Dans le mode de réalisation o l'utilisateur dispose d'un commutateur à boîtier à double rangée de broches, ou DIP sur le plateau ou sur la base pour modifier le TRAYCODE, le microprocesseur lit le TRAYCODE qui a été placé par l'utilisateur Dans tous les cas, le TRAYCODE est lu dans l'entrée 55 du microprocesseur 16. Selon une variante de mode de réalisation, le TRAYCODE est lu par le microprocesseur 16 non seulement lorsque le microprocesseur détecte que l'état d'un commutateur a varié, mais aussi chaque fois que le processeur serveur 24 demande cette donnée Selon un autre mode de réalisation encore, le microprocesseur 16 ne lit le TRAYCODE que lorsque l'utilisateur actionne une touche particulière sur le Whenever the microprocessor detects that the state of a switch has varied, the microprocessor 16 also reads the states of the tray identification switches 17, i.e., the tray identification code, or " TRAYCODE "The TRAYCODE is transmitted by the microprocessor 16 to the server processor 24, which uses the TRAYCODE to associate SCANCODEs with a particular keyboard translation table, as described below In the variant embodiment, where the TRAYCODE is sent to the base 10 from the plate 20 via the connectors 51, 52, the microprocessor reads the TRAYCODE supplied via the connectors In the embodiment where the user has a switch with a double row housing of pins, or DIP on the tray or on the base to modify the TRAYCODE, the microprocessor reads the TRAYCODE which has been set by the user In all cases, the TRAYCODE is read in input 55 of the microprocessor 16 According to an alternative embodiment, the TRAYCODE is read by the microprocessor 16 not only when the microprocessor detects that the state of a switch has varied, but also each time that the server processor 24 requests this data. According to another mode In another embodiment, the microprocessor 16 reads the TRAYCODE only when the user actuates a particular key on the
plateau 10 ou la base 20.tray 10 or base 20.
Pour des plateaux qui ne peuvent être que dans un seul état, le TRAYCODE peut n'être qu'un simple code d'identification de plateau Pour des plateaux qui peuvent être dans plus d'un état, le TRAYCODE peut être constitué à la fois par un code d'identification de plateau et par l'état, ou "niveau" du plateau (par exemple plusieurs bits du code peuvent être réservés For trays which can only be in one state, the TRAYCODE can be only a simple tray identification code For trays which can be in more than one state, the TRAYCODE can be constituted at the same time by a tray identification code and by the status, or "level" of the tray (for example several bits of the code can be reserved
pour indiquer l'état du plateau).to indicate the state of the plate).
La FIG 8 est un schéma logique du processus par lequel le microprocesseur 16 détermine quand l'état d'un commutateur a varié et identifie le commutateur dont l'état a varié De base, la microprocesseur 16 détermine l'état d'un commutateur à un emplacement particulier de matrice en plaçant son "adresse de colonne" sur des sorties Q 4 Q 3 et son "adresse de rangée" sur des sorties Q 2 Ql Q 0, et en lisant ensuite l'entrée D 1 qui est l'état du commutateur En incrémentant successivement l'adresse qu'il place sur les sorties d'adresses de colonnes et de rangées (et en balayant ainsi la matrice logique), le microprocesseur 16 interroge successivement l'état de chaque commutateur de la matrice Le microprocesseur balaye de façon continue la matrice logique Lorsque le microprocesseur détermine que l'état d'un commutateur a varié, le microprocesseur 16 transmet au processeur serveur 24 l'identité du commutateur et indique si l'état du commutateur est passé de ouvert à fermé ou de fermé à ouvert Avant qu'une information de variation ne soit donnée, cependant, le microprocesseur interroge plusieurs fois l'état du commutateur pour s'assurer que la variation est stabilisée. Le microprocesseur 16 envoie au processeur serveur 24 une donnée en écrivant de façon sérielle, sur la ligne de sortie sérielle de clavier venant du microprocesseur, la donnée indiquant quelle ligne 22 est couplée à l'ordinateur 24 par le connecteur 18 Un circuit d'interface de l'appareil 24 de traitement de données dépose la donnée dans un registre de matériel ("registre de matériel de clavier") qui peut être adressé par le processeur serveur 24 Par exemple, dans un ordinateur IBM PC, le registre du matériel est typiquement situé à une adresse 60 Hex D'autre ordinateurs, comme le Apple Macintosh, utilisent différentes adresses et des mécanismes quelque peu différents qui sont connus de l'homme de l'art Le matériel du processeur serveur 24 détecte que cette donnée a été écrite dans le registre matériel de clavier et il engendre un signal d'interruption de matériel Dans l'ordinateur IBM PC, le signal d'interruption engendré est une interruption 9 de FIG. 8 is a logic diagram of the process by which the microprocessor 16 determines when the state of a switch has varied and identifies the switch whose state has varied. Basically, the microprocessor 16 determines the state of a switch to a particular location of the matrix by placing its "column address" on outputs Q 4 Q 3 and its "row address" on outputs Q 2 Ql Q 0, and then reading the input D 1 which is the state of the switch By incrementing successively the address that it places on the outputs of column and row addresses (and thus scanning the logical matrix), the microprocessor 16 successively interrogates the state of each switch of the matrix The microprocessor scans continuously the logic matrix When the microprocessor determines that the state of a switch has varied, the microprocessor 16 transmits to the server processor 24 the identity of the switch and indicates whether the state of the switch has changed from open to iron open or closed to open Before variation information is given, however, the microprocessor interrogates the state of the switch several times to ensure that the variation is stabilized. The microprocessor 16 sends a data to the server processor 24 by writing in a serial manner, on the serial keyboard output line coming from the microprocessor, the data indicating which line 22 is coupled to the computer 24 by the connector 18 An interface circuit of the data processing apparatus 24 deposits the data in a hardware register ("keyboard hardware register") which can be addressed by the server processor 24 For example, in an IBM PC computer, the hardware register is typically located at an address 60 Hex Other computers, such as the Apple Macintosh, use different addresses and somewhat different mechanisms which are known to those skilled in the art. The hardware of the server processor 24 detects that this data has been written in the keyboard hardware register and it generates a hardware interrupt signal In the IBM PC computer, the generated interrupt signal is an interrupt 9 of
matériel En réponse à l'interruption, un sous- hardware In response to the interruption, a sub-
programme classique de traitement d'interruption de clavier est exécuté afin de lire la donnée Un tel mécanisme de communication de donnée entre un clavier conventional keyboard interrupt processing program is executed in order to read the data Such a data communication mechanism between a keyboard
et un processeur serveur est bien connu dans l'art. and a server processor is well known in the art.
Plusieurs variables sont utilisées dans le processus de la FIG 8 En premier lieu, SWITCH, c'est-à-dire littéralement commutateur, est une variable qui indique le commutateur qui est actuellement en cours d'interrogation Les trois bits de poids faible de SWITCH adressent la rangée, et les deux bits de poids fort de SWITCH adressent les Several variables are used in the process of FIG 8 First, SWITCH, that is to say literally switch, is a variable which indicates the switch which is currently being interrogated The three least significant bits of SWITCH address the row, and the two most significant bits of SWITCH address the
colonnes comme décrit plus haut Last State, c'est-à- columns as described above Last State, i.e.
dire littéralement dernier état, est un réseau maintenu dans la mémoire adressée par le microprocesseur 16, comprenant un élément pour chaque commutateur, et utilisé pour se souvenir d'un état initial pour chaque commutateur Counter, c'est-à- dire littéralement compteur, est utilisé pour se souvenir du nombre de fois o un commutateur particulier a été interrogé dans le processus d'assurance de la literally say last state, is a network maintained in the memory addressed by the microprocessor 16, comprising an element for each switch, and used to remember an initial state for each switch Counter, that is to say literally counter, is used to remember the number of times a particular switch has been polled in the assurance process.
stabilité d'une variation d'état.stability of a state variation.
En se référant encore à la FIG 8, à l'étape 803, le microprocesseur lance chaque élément de Last State pour "ouvrir" et lance aussi Counter à zéro Le lancement de l'étape 803 ne se produit que lors de la mise en marche et lorsqu'un nouveau plateau est placé sur l'unité de base L'étape 805 lance une boucle d'ensemble pour vérifier successivement le commutateur à chaque emplacement A l'étape 807, le microprocesseur interroge l'état du commutateur à Referring again to FIG 8, in step 803, the microprocessor launches each element of Last State to "open" and also launches Counter to zero The launch of step 803 only occurs during start-up and when a new tray is placed on the base unit Step 805 initiates an assembly loop to successively check the switch at each location In step 807, the microprocessor interrogates the state of the switch at
l'emplacement de la matrice indiqué par SWITCH. the location of the matrix indicated by SWITCH.
L'interrogation est effectuée en plaçant la valeur SWITCH sur les sorties d'adresses Q 4 Q 3 Q 2 Ql QO et en inspectant leur niveau résultant de D 1, comme décrit plus haut Le niveau résultant de Dl est appelé TEST (SWITCH), c'est-à-dire littéralement ESSAI DE (COMMUTATEUR), et il est assigné à un STATE variable, c'est-à-dire littéralement un état variable Puis, à l'étape 809, le microprocesseur 16 vérifie si l'état du commutateur a varié depuis la dernière fois o il a The interrogation is carried out by placing the value SWITCH on the address outputs Q 4 Q 3 Q 2 Ql QO and by inspecting their level resulting from D 1, as described above. The level resulting from Dl is called TEST (SWITCH), that is to say literally TEST OF (SWITCH), and it is assigned to a variable STATE, that is to say literally a variable state Then, in step 809, the microprocessor 16 checks whether the state of the switch has varied since the last time it was
été vérifié en comparant STATE à Last Switch(SWITCH). was verified by comparing STATE to Last Switch (SWITCH).
Si l'état du commutateur n'a pas varié, le microprocesseur restaureCOUNTER à zéro à l'étape 810 et le microprocesseur incrémente ensuite SWITCH à l'étape 815, de façon qu'un autre commutateur soit interrogé à l'étape 807 S'il s'est produit une variation de l'état du commutateur à l'emplacement SWITCH, le microprocesseur 17 vérifie aux étapes 811 et 813 que la variation d'état du commutateur reste la même pendant le nombre de fois particulier indiqué par une variable STABLE Par exemple, si STABLE = 3, les étapes 811 et 813 vérifient que la variation de l'état du commutateur reste la même pendant trois lectures consécutives de ce dernier Si l'état est stable, le microprocesseur 16 relance à l'étape 835 Last State(SWITCH) et COUNTER Puis, à l'étape 837 le microprocesseur 16 transmet le TRAYCODEPREFIX sur la sortie sérielle de clavier 22 et il transmet à l'étape 839 le TRAYCODE pour le plateau qui contient l'actionneur dont l'activation a provoqué la variation d'état du commutateur Puis, le microprocesseur 16 transmet à l'étape 841 sur la sortie sérielle de clavier 22 le code de balayage de l'état du commutateur dont l'état a varié, en même temps que l'adresse du commutateur L'état et l'adresse spécifient ensemble le code de balayage de l'actionneur Puis, la variable SWITCH est incrémentée à l'étape 815 Le microprocesseur 16 détermine à l'étape 817 si la variable SWITCH a été incrémentée pour correspondre à tous les emplacements de commutateurs pendant un balayage des emplacements de matrice Si tous les emplacements ont été balayés, le traitement passe à l'étape 805 pour commencer un autre balayage, alors que le traitement continue dans le cas contraire vers un emplacement d'adresse suivant de la If the state of the switch has not changed, the microprocessor restores COUNTER to zero in step 810 and the microprocessor then increments SWITCH in step 815, so that another switch is interrogated in step 807 S ' there has been a change in the state of the switch at the SWITCH location, the microprocessor 17 checks in steps 811 and 813 that the change in state of the switch remains the same for the particular number of times indicated by a variable STABLE For example, if STABLE = 3, steps 811 and 813 verify that the variation of the state of the switch remains the same during three consecutive readings of the latter If the state is stable, the microprocessor 16 restarts at step 835 Last State (SWITCH) and COUNTER Then, in step 837 the microprocessor 16 transmits the TRAYCODEPREFIX on the serial keyboard output 22 and it transmits in step 839 the TRAYCODE for the tray which contains the actuator whose activation caused the varia state of the switch Then, the microprocessor 16 transmits at step 841 on the serial keyboard output 22 the code for scanning the state of the switch, the state of which has varied, together with the address of the switch The state and address together specify the actuator scan code. Then, the SWITCH variable is incremented in step 815. The microprocessor 16 determines in step 817 whether the SWITCH variable has been incremented to correspond to all of the switch locations during a scan of the array locations If all of the locations have been scanned, processing proceeds to step 805 to begin another scan, while processing continues otherwise to a next address location in the
matrice en passant à l'étape 807.matrix going to step 807.
On va maintenant décrire la mise en marche d'un sous-programme qui fonctionne sur l'ordinateur serveur We will now describe the start-up of a subroutine that works on the server computer.
pour rentre des données à partir du clavier. to enter data from the keyboard.
Selon un mode de réalisation possible, un manipulateur normalisé d'interruption de clavier (réalisé par exemple, dans le cas d'un IBM PC, par d'un système d'exploitation dans le système d'entrée/sortie binaire de la mémoire morte, ou ROM BIOS), est remplacé par un autre programme qui peut reconnaître et décoder les codes de balayage produits par un clavier à configuration modifiable Dans le cas d'un IBM PC, un programme qui a remplacé un manipulateur d'interruption est appelé dans l'art un programme terminate and stay resident ou TSR, littéralement: terminer et rester résident Un programme TSR est réglé de manière à être actionné lors de l'apparition de l'interruption qui aurait actionné le programme qu'il a remplacé En d'autres termes, le programme TSR est exécuté, en réponse à une interruption de matériel (interruption de matériel 9 sur un IBM PC) qui se produit chaque fois qu'une donnée est écrite par le microprocesseur 16 au registre de matériel du clavier du processeur serveur 24 Dans le mode de réalisation décrit ici, l'exécution du sous programme d'interruption dépose dans un tampon de clavier de l'appareil de traitement de données (pour l'IBM PC, cette adresse est typiquement une adresse 480 Hex) un message correspondant au commutateur dont l'état a varié Un message est typiquement une chaîne de caractères, mais ce peut être également, par exemple, des entiers, ou des nombres à virgule flottante Lorsqu'un message est plus grand que le registre de matériel de clavier, il peut exiger plusieurs écritures, par le microprocesseur 16 au registre 24 de matériel de According to one possible embodiment, a standardized keyboard interrupt manipulator (produced for example, in the case of an IBM PC, by an operating system in the binary I / O system of the read only memory , or ROM BIOS), is replaced by another program which can recognize and decode the scanning codes produced by a keyboard with modifiable configuration In the case of an IBM PC, a program which replaced an interrupt handler is called in art a terminate and stay resident or TSR program, literally: terminate and stay resident A TSR program is set so as to be activated when the interruption occurs which would have activated the program which it replaced other words, the TSR program is executed, in response to a hardware interrupt (hardware interrupt 9 on an IBM PC) which occurs each time a data item is written by the microprocessor 16 to the hardware register of the server processor keyboard 24 In the embodiment described here, the execution of the interrupt subroutine deposits in a keyboard buffer of the data processing device (for the IBM PC, this address is typically an address 480 Hex) a message corresponding to the switch whose state has varied A message is typically a character string, but it can also be, for example, integers, or floating point numbers When a message is larger than the register keyboard hardware, it may require multiple writes, by microprocessor 16 to register 24 of hardware
clavier et un nombre égal d'exécutions de sous- keyboard and an equal number of sub- executions
programme d'interruption pour transmettre et recevoir le message complet Un programme d'applications exécutant sur l'appareil 24 de traitement de données serveur peut ensuite restituer le message à partir du interrupt program for transmitting and receiving the complete message An application program executing on the server data processing apparatus 24 can then play the message from the
tampon de clavier.keyboard pad.
La FIG 4 représente un schéma logique du fonctionnement du programme TSR selon un mode de réalisation possible Dans ce mode de réalisation, lorsque le sous-programme d'interruption est installé en premier lieu dans la mémoire de l'appareil 24 de traitement de données (habituellement à la mise en marche de l'appareil de traitement de données serveur), deux drapeaux variables TRAYCODEIN et TABLE-IN, c'est-à-dire littéralement code de plateau FIG. 4 represents a logic diagram of the operation of the TSR program according to a possible embodiment. In this embodiment, when the interrupt subroutine is first installed in the memory of the data processing apparatus 24 ( usually when switching on the server data processing device), two variable flags TRAYCODEIN and TABLE-IN, i.e. literally table code
entré et tableau entré, sont placés à "faux". entered and table entered, are set to "false".
TRAYCODEIN indique si la donnée qui se trouve dans le TRAYCODEIN indicates whether the data found in the
registre de matériel de clavier est un TRAYCODE. keyboard hardware register is a TRAYCODE.
TABLEIN indique si une table de traduction appropriée TABLEIN indicates whether an appropriate translation table
d'un plateau dans la base a ou non été chargée. a tray in the base may or may not have been loaded.
* Le sous-programme commence à l'étape 401 chaque fois qu'il se produit une interruption de matériel, c'est-à-dire chaque fois que le microprocesseur 16 envoie une donnée au processeur serveur 24 sur la sortie sérielle de clavier 22 A l'étape 403, le microprocesseur 16 lit la donnée du registre de matériel de clavier en une variable DATA, c'est-à-dire littéralement donnée Puis, à l'étape 405, l'état actuel du drapeau TRAYCODEIN est vérifié Si la* The subroutine starts at step 401 each time there is a hardware interruption, that is to say each time that the microprocessor 16 sends data to the server processor 24 on the serial keyboard output 22 In step 403, the microprocessor 16 reads the data from the keyboard hardware register into a variable DATA, that is to say literally given Then, in step 405, the current state of the TRAYCODEIN flag is checked If the
donnée est un code de plateau, il faut que le sous- given is a tray code, the sub-
programme charge dans la table de traduction appropriée Ceci est effectué aux étapes 409 à 421 A l'étape 409, la validité du TRAYCODE est vérifiée Une erreur est placée à l'étape 411 si le TRAYCODE n'est pas valide, et le programme TSR se termine à l'étape 451 Si DATA contient un code de plateau valide à l'étape 409, le microprocesseur vérifie à l'étape 413 TABLEIN pour voir si une table de traduction est déjà chargée Dans le cas contraire, la table de traduction de ce TRAYCODE est chargée à l'étape 417 et TABLEIN est placé à "vrai" à l'étape 419 Si TABLEIN indique à l'étape 413 qu'une table de traduction est déjà chargée, la table chargée est vérifiée pour voir s'il s'agit de la table correcte pour TRAYCODE Si elle n'est pas correcte, une nouvelle table est chargée à l'étape 417 Dans le cas contraire, le chargement de la table est sauté Puis, TRAYCODE est placé à "faux" à l'étape 421 et l'exécution du sous-programme est program loaded in the appropriate translation table This is done in steps 409 to 421 In step 409, the validity of the TRAYCODE is checked An error is placed in step 411 if the TRAYCODE is not valid, and the TSR program ends at step 451 If DATA contains a valid tray code at step 409, the microprocessor checks at step 413 TABLE to see if a translation table is already loaded Otherwise, the translation table of this TRAYCODE is loaded in step 417 and TABLEIN is set to "true" in step 419 If TABLEIN indicates in step 413 that a translation table is already loaded, the loaded table is checked to see if it this is the correct table for TRAYCODE If it is not correct, a new table is loaded in step 417 Otherwise, the loading of the table is skipped Then, TRAYCODE is set to "false" at l step 421 and the execution of the subroutine is
terminée à l'étape 451.completed at step 451.
S'il est déterminé à l'étape 405 que DATA ne contient pas de code de plateau valide, DATA est vérifié à l'étape 429 pour déterminer s'il s'agit d'un TRAYCODEPREFIX Si DATA est un TRAYCODEPREFIX, la donnée suivante reçue est un TRAYCODE Dans ce cas, If it is determined in step 405 that DATA does not contain a valid shelf code, DATA is checked in step 429 to determine if it is a TRAYCODEPREFIX If DATA is a TRAYCODEPREFIX, the following data received is a TRAYCODE In this case,
TRAYCODE_IN est placé à vrai à l'étape 431 et le sous- TRAYCODE_IN is set to true at step 431 and the sub-
programme se termine à l'étape 451 S'il est déterminé à l'étape 429 que DATA n'est pas un TRAYCODEPREFIX, l'état de TABLEIN est vérifié à l'étape 433 Si TABLEIN est faux à l'étape 433, ce qui indique que la table de traduction de clavier appropriée n'a pas été chargée dans la mémoire, une erreur est placée à program ends in step 451 If it is determined in step 429 that DATA is not a TRAYCODEPREFIX, the state of TABLEIN is checked in step 433 If TABLEIN is false in step 433, this which indicates that the appropriate keyboard translation table has not been loaded into memory, an error is placed at
l'étape 435 et le programme se termine à l'étape 451. step 435 and the program ends in step 451.
Si TABLEIN est vrai à l'étape 433, la DATA actuelle est un code de balayage de la table associée qui est dans la mémoire, et le microprocesseur traduit le code de balayage en utilisant la table de traduction de clavier située dans la mémoire A l'étape 437, le résultat est en outre écrit dans le tampon de clavier If TABLEIN is true in step 433, the current DATA is a scan code of the associated table which is in the memory, and the microprocessor translates the scan code using the keyboard translation table located in the memory A l step 437, the result is also written to the keyboard buffer
du processeur serveur 24 L'exécution du sous- of the server processor 24 The execution of the sub-
programme se termine ensuite à l'étape 451. program then ends at step 451.
A chaque TRAYCODE est associée une table différente de traduction de clavier Chaque entrée dans une table de traduction de clavier associe un code de balayage à un message à envoyer à un dispositif de sortie, par exemple un affichage, ou un dispositif de mémoire, comme un tampon de clavier auquel accède un programme d'applications La FIG 6 représente l'organisation d'une table de traduction de clavier selon un mode de réalisation possible de la présente invention Le message associé à un SCANCODE est trouvé en localisant d'abord le SCANCODE dans la colonne désignée par 91 Le message associé est le message de la colonne désignée par 92 et dans la même rangée que le SCANCODE Par exemple, à la FIG 6, le Each TRAYCODE is associated with a different keyboard translation table Each entry in a keyboard translation table associates a scanning code with a message to be sent to an output device, for example a display, or a memory device, such as a keyboard buffer accessed by an application program FIG 6 represents the organization of a keyboard translation table according to a possible embodiment of the present invention The message associated with a SCANCODE is found by first locating the SCANCODE in the column designated by 91 The associated message is the message in the column designated by 92 and in the same row as the SCANCODE For example, in FIG 6, the
nombre 3,14159 est associé au code de touche " 00011 ". number 3.14159 is associated with the key code "00011".
Dans le mode de réalisation o certains des plateaux sont construits spécialement pour supporter un logiciel d'application existant, par exemple le simulateur de vol Microsoft cité précédemment, une table de traduction d'une application particulière serait chargée pour ce TRAYCODE Un jeu de tables de traduction pour des applications largement répandues peut être incorporé dans le système de clavier en attendant que des plateaux futurs spécifiques aux applications soient disponibles, ou bien la table de traduction spéciale peut être chargée comme gestionnaire pilote, ou "driver" selon l'expression anglo- saxonne, de logiciel par un utilisateur lorsqu'il installe en premier lieu un nouveau plateau In the embodiment where some of the platforms are specially built to support existing application software, for example the Microsoft flight simulator mentioned above, a translation table of a particular application would be loaded for this TRAYCODE A set of tables of translation for widely used applications can be incorporated into the keyboard system while waiting for future application-specific trays to become available, or the special translation table can be loaded as a driver, or "driver" Saxon, of software by a user when he first installs a new tray
spécifique à une application.specific to an application.
Selon un autre mode de réalisation possible, on peut prévoir un utilitaire pour permettre aux utilisateurs de réaliser leur propres tables de traduction. Selon un autre mode de réalisation possible, le microprocesseur 16 interpréterait le SCANCODE pour vérifier certaines touches spéciales Si le microprocesseur 16 détecte que l'utilisateur a actionné l'une de ces touches spéciales, une ligne d'ordre complète correspondant à cette touche est According to another possible embodiment, a utility can be provided to allow users to create their own translation tables. According to another possible embodiment, the microprocessor 16 would interpret the SCANCODE to check certain special keys If the microprocessor 16 detects that the user has pressed one of these special keys, a complete command line corresponding to this key is
envoyée à l'ordinateur serveur 24. sent to the server computer 24.
Claims (30)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US93837892A | 1992-08-31 | 1992-08-31 |
Publications (1)
Publication Number | Publication Date |
---|---|
FR2695222A1 true FR2695222A1 (en) | 1994-03-04 |
Family
ID=25471331
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR9309665A Withdrawn FR2695222A1 (en) | 1992-08-31 | 1993-08-05 | Generic keyboard with configuration modifiable according to the user. |
Country Status (4)
Country | Link |
---|---|
JP (1) | JPH06175763A (en) |
DE (1) | DE4329148A1 (en) |
FR (1) | FR2695222A1 (en) |
GB (1) | GB2270178A (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE29706977U1 (en) * | 1997-04-18 | 1997-07-03 | Gramespacher Max H | Input device for controlling computer programs |
GB2350913B (en) * | 1999-06-10 | 2002-05-29 | John Quentin Phillipps | Combined memory and user input devive |
CN108847847B (en) * | 2016-01-05 | 2022-03-18 | 湖南工业大学 | Keyboard state change pulse generation method |
DE102019006024A1 (en) * | 2019-02-01 | 2020-08-06 | Maurice Manuel Ahlat | Adjustable keyboard |
-
1993
- 1993-07-01 GB GB9313581A patent/GB2270178A/en not_active Withdrawn
- 1993-08-05 FR FR9309665A patent/FR2695222A1/en not_active Withdrawn
- 1993-08-24 JP JP5229632A patent/JPH06175763A/en active Pending
- 1993-08-30 DE DE19934329148 patent/DE4329148A1/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
DE4329148A1 (en) | 1994-03-03 |
JPH06175763A (en) | 1994-06-24 |
GB9313581D0 (en) | 1993-08-18 |
GB2270178A (en) | 1994-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Margolis et al. | Arduino cookbook: recipes to begin, expand, and enhance your projects | |
Wakerly | Digital Design: Principles and Practices, 4/E | |
CN101388149B (en) | Keyboard musical instrument learning apparatus and learning method | |
TW394891B (en) | Date entry system | |
AU2004201112B2 (en) | Input device and method of configuring the input device | |
US20110281652A1 (en) | Touch Music Player | |
WO2007009096A2 (en) | Predictive user interface | |
CA2261275A1 (en) | Musical instrument system | |
WO1999008175A2 (en) | Universally accessible computing system | |
US20120167747A1 (en) | Method and Device for Playing of Musical Melodies | |
US20040224763A1 (en) | Mode-altering key for a character input device | |
NL8502825A (en) | METHOD FOR CHOOSING AND REPRODUCING LANGUAGES | |
FR2695222A1 (en) | Generic keyboard with configuration modifiable according to the user. | |
US20070154875A1 (en) | Apparatus, system and method for displaying information | |
Nash | The'E'in QWERTY: Musical Expression with Old Computer Interfaces. | |
Ahlzén et al. | Piano Hero: Interactive musical learning | |
Gimeno León | Design of a midi controller and representation of spectral analysis | |
Miles | Begin to Code with Python | |
Judge et al. | Switch access to technology-A comprehensive Guide. | |
Hetrick | Modular Understanding: A Taxonomy and Toolkit for Designing Modularity in Audio Software and Hardware | |
Lott | Programming for Non-Programmers | |
Hallas | Freedom of expression | |
Jacinto | Realização de um ZX spectrum em FPGA | |
US20050141349A1 (en) | Optical disk player | |
Kouroupetroglou et al. | A new generation of communication aids under the ULYSSES component-based framework |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ST | Notification of lapse |