DE4329148A1 - Reconfigurable keyboard system for a data processing device - Google Patents
Reconfigurable keyboard system for a data processing deviceInfo
- Publication number
- DE4329148A1 DE4329148A1 DE19934329148 DE4329148A DE4329148A1 DE 4329148 A1 DE4329148 A1 DE 4329148A1 DE 19934329148 DE19934329148 DE 19934329148 DE 4329148 A DE4329148 A DE 4329148A DE 4329148 A1 DE4329148 A1 DE 4329148A1
- Authority
- DE
- Germany
- Prior art keywords
- plate
- keyboard system
- switch
- code
- base
- 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)
Description
Die Erfindung bezieht sich auf ein rekonfigurierbares Ta statursystem für eine Datenverarbeitungseinrichtung und auf ein Verfahren zu dessen Implementierung.The invention relates to a reconfigurable Ta stature system for a data processing device and on Procedure for its implementation.
Personalcomputer werden typischerweise mit alphanumerischen Tastaturen festgelegter Konfiguration eingesetzt, die für viele Anwendungen geeignet sind. Viele auf andere Tastaturen abge stimmte Computerarten, wie z. B. Supermarkt-Kassenregistrierein richtungen, verwenden auch Tastaturen mit festgelegter Konfigu ration. Tastaturen mit festgelegter Konfiguration haben den Vorteil, daß eine Tastatur-Bedienungsperson daran gewöhnt ist, eine bestimmte Taste oder Tastenkombination zu betätigen, um einen Computer zur Ausführung einer bestimmten Operation zu veranlassen. Für viele Anwendungsprogramme haben Tastaturen mit festgelegter Konfiguration jedoch eine im Vergleich zur anwen dungsspezifisch aktuell benötigten Tastenanzahl zu große Anzahl verfügbarer Tasten. Diese Eigenschaft erschwert es Kindern und auch den nicht mit der Bedienung von Computern vertrauten Er wachsenen, die spezielle Taste oder Tastenkombination zu wäh len, die zur Ausführung einer gewünschten Operation vorgesehen ist.Personal computers are typically alphanumeric Keyboards of fixed configuration used for many Applications are suitable. Many targeted to other keyboards agreed computer types, such as B. Supermarket till registration directions, also use keyboards with a defined configuration ration. Keyboards with a defined configuration have the Advantage that a keyboard operator is used to press a specific key or key combination to a computer to perform a specific operation cause. For many application programs, keyboards come with fixed configuration, however, compared to the user The number of buttons currently required for the specific application is too large available buttons. This property makes it difficult for children and even the Er, who is not familiar with the use of computers grown to select the special key or key combination len intended to perform a desired operation is.
Traditionelle alphanumerische Tastaturen sind außerdem für manche Anwendungen ungeeignet. Zur Anwendung eines Klavier-Si mulationsprogramms ist es z. B. wünschenswert, daß die Tastatur konfiguration die Klaviertastatur so getreu wie möglich wieder gibt. Ähnlich ist es bei der Anwendung eines Programms wie z. B. einer Jetsimulation wünschenswert, daß die Tastatur die Cock pitsteuerungen simuliert. Während es für Anwendungsentwickler möglich ist, spezielle Tastaturen für die speziellen Anwendun gen zur Verfügung zu stellen, würden die Kosten für den Pro grammbenutzer die Vorteile gegenüber dem Anwendungsablauf auf Universalcomputern schmälern.Traditional alphanumeric keyboards are also for some applications unsuitable. To use a piano Si mulations program it is z. B. desirable that the keyboard reconfigure the piano keyboard as faithfully as possible gives. It is similar when using a program such as B. a jet simulation that the keyboard the Cock pit controls simulated. While it is for application developers it is possible to use special keyboards for special applications would make the costs for the pro gram users the advantages over the application flow Reduce universal computers.
Manche anderen Anwendungsprogramme, wie z. B. das auf einem Apple Macintosh Computer laufende LapView, ein Produkt der Na tional Instruments Corp., Austin, Texas, simulieren ein Bedie nungsfeld eines Laborgeräts durch eine grafische Darstellung desselben auf einem Computerbildschirm. In diesen Programmen kann ein Anwender dadurch "eine Taste drücken" oder "einen Be dienungsknopf drehen", daß er eine Maus zur Bewegung eines Cur sors zu der auf dem Computerbildschirm gezeigten "Taste" oder den "Bedienungsknopf" verwendet und die Maustaste zur Betäti gung der Taste oder des Knopfes verwendet wird. Diese Art der "grafischen" Wechselwirkung bewirkt nicht das gleiche "Gefühl" wie bei einer physikalischen Tastatur und ist deshalb in vielen Situationen nicht erwünscht.Some other application programs, such as B. the one Apple Macintosh computer running LapView, a product of Na tional Instruments Corp., Austin, Texas, simulate an operator field of a laboratory device through a graphic representation the same on a computer screen. In these programs a user can thereby "press a key" or "a Be turn the control knob "that he uses a mouse to move a cur to the "key" or. shown on the computer screen uses the "control button" and the mouse button to press button or button is used. That kind of "graphic" interaction does not produce the same "feeling" like a physical keyboard and is therefore in many Situations not desired.
Obwohl die grafischen Darstellungen vielleicht eine Verbes serung gegenüber den traditionellen, nicht konfigurierbaren Ta staturen darstellen, beansprucht die Verwendung einer Maus zur Bewegung eines Cursors zu einer als Taste oder Knopf ausgebil deten Bildschirmposition in erster Linie den visuellen Sinn. Eine mit Tastmitteln bediente Tastatur ist in vielen Situatio nen natürlicher und deshalb einfacher zu bedienen. Es ist z. B. unmöglich, ein Klaviersimulationsprogramm auf einem Computer mit einer mausbetätigten grafisch simulierten Tastatur anzuwen den. Es wäre zwar möglich, ein Flugzeugsimulationsprogramm mit Hilfe eines mausbetätigten grafisch simulierten "Bedienungsfeldes" zu bedienen; diese Eingangsschnittstellenart erlaubt es dem Simulator jedoch nicht, das simulierte Flugzeug so zu steuern, wie ein echter Pilot ein echtes Flugzeug steuern würde.Although the graphs may be a verb compared to traditional, non-configurable Ta represent statures, claims the use of a mouse Moving a cursor to a button or button screen position primarily the visual sense. A keyboard operated with key means is in many situations more natural and therefore easier to use. It is Z. B. impossible to run a piano simulation program on a computer to use with a mouse-operated graphically simulated keyboard the. It would be possible to use an aircraft simulation program Help of a mouse operated graphically simulated To operate the "control panel"; this input interface type however, the simulator does not allow the simulated aircraft to steer like a real pilot steer a real airplane would.
Die US-PS 4 688 020 versucht die Nachteile einer Tastatur mit festgelegter Konfiguration zu beheben. In dieser Druck schrift wird eine rekonfigurierbare Tastatur einschließlich ei ner Basis und einer Tastaturoberfläche offenbart, wobei die Ta staturoberfläche aufgesetzte Tasten hat. Jede Taste ist mit ei nem eigenen Tastenschalter verbunden, und eine Auflage bedeckt die unbelegten Tastenschalter, so daß nur ausgewählte Tasten schalter betätigt werden können. Die Tastatur enthält einen Prozessor, in dessen Speicher alle betätigbaren Tasten definie rende Tastentabellen gespeichert sind. Die bekannte Vorrichtung ist jedoch zur wiederholten Konfiguration ungeeignet; der Be nutzer muß ein Auflagenfeld entfernen, einzelne Tasten mit ei nem Schraubendreher entfernen, die Tasten an die gewünschten Stellen bringen, und das alte Auflagenfeld durch ein mit der neuen Tastenkonfiguration übereinstimmendes neues Feld erset zen. Der Benutzer wählt dann aus einer Anzahl von vorgegebenen Tastentabellen im Tastaturspeicher, oder er programmiert seine eigene Tastaturtabelle durch Anschluß des Tastaturschnittstel lenmoduls an eine Entwicklungskonsole. Viele Anwender sind technisch nicht versiert genug, um eine Tastatur zu gestalten und die Tastentabelle zur Definition der Funktionen aller zu greifbaren Tastaturtasten zu programmieren. Obwohl eine Anzahl an vordefinierten Tastentabellen dem Benutzer zur Verfügung ge stellt werden kann, schränkt die natürlich nur begrenzte Anzahl die Flexibilität ein, die ein Benutzer bei der wiederholten Konfiguration der Tastatur haben kann. So trägt der Benutzer die Last des erneuten Konfigurierens bei dem bekannten Tasta tursystem allein, und die Modifikation betrifft die ganze Ta statur.US Pat. No. 4,688,020 tries the disadvantages of a keyboard with fixed configuration. In this print writing becomes a reconfigurable keyboard including egg ner base and a keyboard surface disclosed, the Ta buttons on the stature surface. Each key has an egg connected to its own key switch, and covered a pad the unoccupied key switches, so that only selected keys switch can be operated. The keyboard contains one Processor, in the memory of which all actuable keys define key tables are saved. The known device is unsuitable for repeated configuration; the Be user must remove a pad, individual buttons with an egg Remove with a screwdriver, the buttons to the desired Bring positions, and the old circulation field by a with the new field corresponding to the new key configuration Zen. The user then chooses from a number of predefined ones Key tables in the keyboard memory, or he programs his own keyboard table by connecting the keyboard interface lenmoduls to a development console. Many users are not technically adept enough to design a keyboard and the key table for defining the functions of all to program tangible keyboard keys. Although a number available to the user at predefined key tables can be placed, of course, limits the limited number the flexibility that a user has to repeat Configuration of the keyboard. So the user carries the burden of reconfiguring the well-known Tasta tursystem alone, and the modification affects the whole Ta stature.
Die US-PS 4 692 740 zeigt eine austauschbare, an das Ge häuse eines programmierbaren elektronischen Rechners anschließ bare Tastatur. Der Rechner erkennt die Art der an ihn ange schlossenen Tastatur dadurch, daß Modusauswahlvorsprünge einen oder mehrere Modusauswahlschalter auf dem Rechnergehäuse herun terdrücken. Diese Tastatur hat jedoch den Nachteil, daß zur Operation mit dem Rechner zwei Signalwege benötigt werden, ein Weg für eine Modusidentifikation und ein anderer zur Identifi kation einer gedrückten Taste; die bei den Universal-Personal computern vorgesehene Tastatur-Computer-Schnittstelle stellt jedoch nur einen einzigen Signalweg zur Verfügung. So ist es ohne Veränderung der Tastatur-Computer-Schnittstelle unmöglich, diese bekannte Tastatur für einen Universalcomputer zu verwen den. U.S. Patent 4,692,740 shows an interchangeable Ge housing a programmable electronic computer bare keyboard. The computer recognizes the type of data sent to it closed keyboard in that mode selection tabs or several mode selection switches on the computer case press. However, this keyboard has the disadvantage that Operation with the computer requires two signal paths, one Way for a mode identification and another for identification cation of a pressed key; that at the universal staff computer-provided keyboard-computer interface however only a single signal path is available. That's the way it is impossible without changing the keyboard-computer interface, to use this known keyboard for a general purpose computer the.
Wünschenswert ist deshalb eine Tastatur, die von technisch nicht versierten Benutzern einfach rekonfiguriert werden kann. Erforderliche Spezialprogramme sollen für eine Umgebung zur Verfügung gestellt werden, mit der die meisten Anwendungspro grammierer vertraut sind und für die viele Anwendungstools ver fügbar sind. Die vorgesehene Tastatur-Computer-Verbindung sollte außerdem dem für Universalcomputer üblichen Standard ge nügen.A keyboard that is technically desirable is therefore desirable non-savvy users can be easily reconfigured. Required special programs are intended for an environment With which most application pro grammers are familiar and for which many application tools ver are available. The intended keyboard-computer connection should also be the standard for universal computers suffice.
Diesen Zweck erfüllt ein rekonfigurierbares Tastatursystem mit dem Merkmal des Anspruchs 1. Das erfindungsgemäße Tastatur system hat die folgenden Komponenten: Eine Basis zur Aufnahme einer aus einer beliebigen Anzahl von Platten und zur Daten übertragung an die Datenverarbeitungseinrichtung; mindestens eine Platte mit mehreren Betätigungselementen und die Identität dieser Platte angebenden Codespezifiziermitteln, wobei die Ba sis Mittel zum Empfang der Plattenidentifikationscodes auf weist; Mittel in dieser Basis zur Erzeugung eines die Identitä ten der auf der Platte aktivierten Betätigungselemente anzei gende Abtastcodes; Mittel in der Datenverarbeitungseinrichtung zur Bestimmung eines Zeichens, wie z. B. ein alphanumerisches Zeichen, für einen vorgegebenen Abtastcode und Plattenidentifi kationscode; und das Tastatursystem mit der Datenverarbeitungs einrichtung koppelnde Mittel, welche die Plattenidentifikati onscodes und die Abtastcodes über einen einzigen Signalweg zur Verfügung stellen.A reconfigurable keyboard system fulfills this purpose with the feature of claim 1. The keyboard according to the invention system has the following components: A basis for inclusion one from any number of disks and for data transmission to the data processing device; at least a plate with multiple actuators and identity of this plate indicating code specifying means, the Ba means for receiving the disk identification codes points; Means in this basis for generating an identity of the actuators activated on the plate key scan codes; Means in the data processing device to determine a character, such as. B. an alphanumeric Characters, for a given scan code and disk identification cation code; and the keyboard system with data processing means coupling means which identify the plate onscodes and the scanning codes via a single signal path Make available.
Die Mittel zur Spezifizierung eines Plattenidentifikations codes können bauliche Vorsprünge auf der Plattenrückseite sein, die in der Basis Schalter mechanisch aktivieren. Statt dessen können die Plattenidentifikationscodes auch von in den Platten vorgesehenen elektronischen Schaltungen erzeugt werden, die sich jeweils in einem von verschiedenen Zuständen befinden. Die Zustände werden an die Basis übertragen, wenn die Platten ein gefügt sind und die Tastatur mit Strom versorgt wird. The means of specifying a plate identification codes can be structural protrusions on the back of the plate, which activate mechanically in the base switch. Instead the plate identification codes can also be found in the plates provided electronic circuits are generated that are each in one of different states. The States are transferred to the base when the plates are on are added and the keyboard is supplied with power.
Ein Mikroprozessor kann zum Abfragen einer Matrix aus Schaltern verwendet werden, wobei der Zustand eines bestimmten Schalters davon abhängt, ob das zugehörige Betätigungselement auf der Platte oder die Basis aktiviert wurde. Ein Abtastcode stellt den Matrixplatz eines einer aktivierten Taste entspre chenden Schalters dar.A microprocessor can query a matrix Switches are used, the state of a particular Switch depends on whether the associated actuator on the plate or base has been activated. A scan code sets the matrix position to an activated key corresponding switch.
Abtastcodes und Plattenidentifikationscodes werden einer Datenverarbeitungseinrichtung von der Tastatur mittels eines standardisierten Computer-Tastatur-Schnittstellenkabels zur Verfügung gestellt. Ein auf der Datenverarbeitungseinrichtung ablaufendes Programm bestimmt, welches Zeichen angezeigt wird und/oder in einen Tastaturpuffer auf der Datenverarbeitungsein richtung abgelegt wird. Dazu wird unter Verwendung einer Tabel le, die einem von der Tastatur empfangenem Plattenidentifikati onscode zugeordnet ist, jeder empfangene Abtastcode in das zu gehörige Zeichen übersetzt.Scan codes and disk identification codes become one Data processing device from the keyboard using a standardized computer keyboard interface cable for Provided. One on the data processing device running program determines which character is displayed and / or in a keyboard buffer on the data processing direction is filed. This is done using a table le which identifies a disk identification received from the keyboard onscode is assigned to each received scan code in the appropriate characters translated.
Im folgenden wird die Erfindung anhand eines in der Zeich nung dargestellten Ausführungsbeispiels näher erläutert. In der Zeichnung zeigen:In the following the invention based on one in the drawing voltage illustrated embodiment explained in more detail. In the Show drawing:
Fig. 1 eine Perspektivansicht einer konfigurierbaren Ta statur des Ausführungsbeispiels (die Tastatur ist an einen Leitrechner angeschlossen); Fig. 1 is a perspective view of a configurable keyboard of the exemplary embodiment (the keyboard is connected to a host computer);
Fig. 2a eine detaillierte Draufsicht auf eine Tastatur platte; FIG. 2a plate a detailed plan view of a keyboard;
Fig. 2b eine detaillierte Rückansicht einer Tastaturplatte; FIG. 2b shows a detailed rear view of a keyboard tray;
Fig. 2c eine Schaltung innerhalb einer Platte zur Spezifi zierung eines Plattenidentifizierers; Fig. 2c shows a circuit within a panel for a specifi cation Plattenidentifizierers;
Fig. 3 ein schematisches Schaltbild der Tastaturelektro nik; Fig. 3 is a schematic circuit diagram of the keyboard electronics;
Fig. 4 ein Ablaufdiagramm der auf dem Leitrechner laufen den Interruptroutine zum Lesen der Daten von der Tastatur; Fig. 4 is a flow chart of the interrupt routine running on the host computer for reading the data from the keyboard;
Fig. 5a eine drehbare Taste; FIG. 5a is a rotatable key;
Fig. 5b eine Schiebetaste; FIG. 5b is a slide key;
Fig. 6 eine Tastaturübersetzungstabelle; Fig. 6 is a keypad translation table;
Fig. 7 eine zur Anwendung eines auf dem Leitrechner lau fenden Rechenprogramms konfigurierte Tastatur; Fig. 7 is a configured for use on the host computer of a computer program lau fenden keyboard;
Fig. 8 ein Ablaufdiagramm des Mikroprozessorprogramms, das eine Matrix aus Schaltern abtastet und die gedrück ten oder freigegebenen Tasten bestimmt, den Plat tencode liest und den Platten- oder Tastencode zu sammen mit einem Präfix zur Information über den Übertragungszeitpunkt des Plattencodes überträgt. Fig. 8 is a flowchart of the microprocessor program, which scans a matrix of switches and determines the pressed or released keys, reads the plate code and transmits the plate or key code together with a prefix for information about the transmission time of the plate code.
Im folgenden wird auf Fig. 1 Bezug genommen. Es wird ein Ausführungsbeispiel einer rekonfigurierbaren Tastatur perspek tivisch gezeigt. Die Tastatur besteht im wesentlichen aus zwei Hauptteilen, einer Basis 10 und einem plattenförmigen Einschub 20, im folgenden Platte genannt. Die Platte 20 kann dadurch montiert werden, daß sie in Richtung des Pfeils 40 in eine Aus sparung 30 der Basis 10 eingeschoben wird. Die Platte 20 wird von Gleitführungen 50 in der Basis 10 gehalten, die in den Sei ten der Aussparung 30 angeordnet sind. Die Führungen 50 sind an an den Plattenseiten angebrachte Leisten 60 angepaßt. Wenn die Platte 20 vollständig in die Basisaussparung 30 eingeschoben ist, wird die Platte 20 durch mechanische Verriegelungen 70 in Stellung gehalten. Die mechanischen Verriegelungen können zu rückgezogen werden, so daß die Platte durch Drücken der Freiga beknöpfe 71 entfernt werden kann. Ein Signalweg zwischen der Basis 10 und einem Leitrechner 24 wird von einem über einen Stecker 19 mit einer Buchse 25 auf dem Leitrechner 24 verbun denen Kabel 18 gebildet. Die Stecker und Sockelkombination ge hört zu der Art, die üblicherweise zum Anschluß von Tastaturen an Datenverarbeitungseinrichtungen wie z. B. Computer 24 verwen det wird.In the following, reference is made to FIG. 1. An embodiment of a reconfigurable keyboard is shown perspectively. The keyboard essentially consists of two main parts, a base 10 and a plate-shaped insert 20 , hereinafter referred to as a plate. The plate 20 can be mounted in that it is inserted in the direction of arrow 40 into a recess 30 from the base 10 . The plate 20 is held by slide guides 50 in the base 10 , which are arranged in the Be th of the recess 30 . The guides 50 are adapted to strips 60 attached to the plate sides. When the plate 20 is fully inserted into the base recess 30 , the plate 20 is held in place by mechanical locks 70 . The mechanical locks can be retracted so that the plate can be removed by pressing the Freiga buttons 71 . A signal path between the base 10 and a host computer 24 is constituted by a verbun via a connector 19 with a bushing 25 on the host computer 24 which cables 18th The plug and socket combination ge belongs to the type that is usually used to connect keyboards to data processing equipment such. B. Computer 24 is used det.
Fig. 2a zeigt eine Platte 20. Die Platte weist einen Ta stensatz und andere Betätigungselemente auf. Die Platte kann verschiedene Ausbildungen haben. Darüberhinaus können die Ta sten selbst jede beliebige Form, Farbe oder Struktur haben. Zu sätzlich zu den Tasten können Schieber 29, Drehknöpfe 27, Roll kugeln, Joysticks und andere Betätigungselemente verwendet wer den, wobei jedes dieser Betätigungselemente zwei oder mehr dis krete Stellungen besitzt. Ein Schieber kann in einer von ver schiedenen Stellungen sein, ein Schalter kann ein- oder ausge schaltet sein, und ein druckempfindlicher Schalter kann mit un terschiedlichen Drücken heruntergedrückt werden. Obwohl ein druckempfindlicher Schalter mit einem kontinuierlich veränder baren Druck heruntergedrückt werden kann, wird von internen Schaltern der variable Druck in einen von mehreren diskreten Drücken übersetzt. Tasten mit komplementären Formen, wie z. B. die mit 32 bis 36 bezeichneten Tasten können in einer Gruppe angeordnet werden. Zusätzlich können Betätigungselemente einbe zogen werden, die auf verschiedene Arten der Betätigung anspre chen. Z.B. können Drehknöpfe vorgesehen sein, die auch herun tergedrückt werden können, oder Griffe an einem Joystick, die sowohl gedrückt als auch bewegt werden können. Bei einem alter nativen Ausführungsbeispiel kann ein bestimmter Schalter derart auf akustische Töne ansprechen, daß sein Zustand in Abhängig keit von der Lautstärke oder der Tonhöhe geändert wird; das kann unter Verwendung bekannter Techniken zur Tonerkennung im plementiert werden. Bei einem anderen Ausführungsbeispiel kann ein bestimmter Schalter mit Licht aktiviert werden; der Zustand des Schalters kann z. B. dadurch festgelegt werden, daß Licht auf einen Sensor im Betätigungselement dieses Schalters fällt. Wenn der Benutzer den Umgebungslicht-Einfall auf den Sensor (z. B. durch das Abdecken des Sensors mit einem Finger) verhin dert, dann wird der Zustand des Schalters geändert. Fig. 2a shows a plate 20. The plate has a key set and other actuators. The plate can have different designs. In addition, the buttons themselves can have any shape, color or structure. In addition to the buttons slider 29 , knobs 27 , rolling balls, joysticks and other actuators who used, each of these actuators has two or more discrete positions. A slide can be in one of various positions, a switch can be turned on or off, and a pressure sensitive switch can be depressed with different pressures. Although a pressure sensitive switch can be depressed with a continuously variable pressure, internal switches translate the variable pressure into one of several discrete pressures. Keys with complementary shapes, such as B. the keys labeled 32 to 36 can be arranged in a group. In addition, actuators can be included that respond to different types of actuation. For example, knobs can be provided, which can also be pressed down, or handles on a joystick, which can both be pressed and moved. In an old native embodiment, a certain switch can respond to acoustic tones such that its state is changed depending on the volume or pitch; this can be implemented using known techniques for sound recognition. In another embodiment, a particular switch can be activated with light; the state of the switch can e.g. B. be determined by the fact that light falls on a sensor in the actuator of this switch. If the user prevents the ambient light from entering the sensor (e.g. by covering the sensor with a finger), the state of the switch is changed.
Eine rekonfigurierbare Tastatur kann speziell zur Anwendung bestimmter Computerprogramme gestaltet werden. Fig. 1 zeigt z. B. eine Tastatur in einer Konfiguration, die für ein Formen lernprogramm für Kinder verwendet werden kann, und Fig. 7 zeigt eine Tastatur in einer für ein Rechenprogramm verwendbaren Kon figuration. A reconfigurable keyboard can be designed specifically for use with certain computer programs. Fig. 1 shows z. B. a keyboard in a configuration that can be used for a children's mold learning program, and Fig. 7 shows a keyboard in a usable for a computer program configuration.
Fig. 2b zeigt eine Rückansicht der Platte 20. Ein Stecker 51 ist auf der Rückseite der Platte 20 zum Anschluß an einen am Ende der Basisaussparung 30 angeordneten komplementären Stecker 52 vorgesehen, um die Signalübertragung von der Platte an die Basis zu ermöglichen. Plattenidentifizierungsvorsprünge 21 sind auf der Plattenrückseite 20 vorgesehen. Wenn die Platte 20 in die Basis 10 eingeschoben wird, wird ein Plattenidentifizie rungsschalter 17 auf der Rückseite der Basisaussparung 30 für jeden Plattenvorsprung 21 auf der Platte 20 aktiviert. Die An zahl und die räumliche Anordnung der Plattenidentifizierungs vorsprünge 21 sind für eine spezielle Platte einzigartig, um die mit der Basis gekoppelte Platte zu identifizieren. Es ist einzusehen, daß einem Benutzer ein Verfahren zum freien Konfi gurieren der Plattenidentifikationsvorsprünge zur Verfügung ge stellt werden kann, wie z. B. Plastikansätze, die weggebrochen werden können oder Stifte, die in Löcher auf der Plattenrück seite eingesteckt werden können. FIG. 2b shows a rear view of the plate 20. A connector 51 is provided on the back of plate 20 for connection to a complementary connector 52 located at the end of base recess 30 to enable signal transmission from the plate to the base. Disk identification protrusions 21 are provided on the back of the disk 20 . When the plate 20 is inserted into the base 10 , a plate identification switch 17 on the back of the base recess 30 is activated for each plate projection 21 on the plate 20 . The number and the spatial arrangement of the plate identification protrusions 21 are unique to a specific plate in order to identify the plate coupled to the base. It will be appreciated that a user can be provided with a method for freely configuring the plate identification tabs, such as e.g. B. plastic approaches that can be broken away or pins that can be inserted into holes on the back of the plate.
Bei einem weiteren möglichen Ausführungsbeispiel ist eine elektronische Plattenidentifikationsschaltung in der Platte 20 vorgesehen. Wie in Fig. 2c gezeigt, wird bei einem solchen Aus führungsbeispiel der Platte 20 von der Basis 10 ein Erd- und ein 5-Volt-Signal über die Anschlüsse 53 bzw. 54 angelegt. Die Plattenidentifikation wird der Basis von der Platte über die Verbindungen 51, 52 zur Verfügung gestellt. Gemäß Fig. 2c wer den zwei Plattenidentifizierungsbits über Anschlüsse 55, 56, Verbindungen 51, 52 geliefert. Jedes Bit der Plattenidentifika tion kann abhängig davon, welcher der Anschlüsse 53, 54 mit den Verbindungen 51, 52 gekoppelt ist, entweder auf Erde oder unge fähr auf 5 Volt liegen. In Fig. 2c liegt das über Anschluß 55 zur Verfügung gestellte Bit auf ungefähr 5 Volt (der Widerstand zwischen den Anschlüssen 54 und 55 kann vernachlässigt werden), und das über Anschluß 56 zur Verfügung gestellte Bit liegt auf Erde. Bei einem anderen Ausführungsbeispiel kann einem Anwender ein DIP-Schalter zur Änderung der Plattenidentifikation zur Verfügung gestellt werden, so daß er jedes Bit des Platteniden tifizierers selektiv mit Erde oder dem 5-Volt-Signal koppeln kann.In another possible embodiment, an electronic plate identification circuit is provided in the plate 20 . As shown in Fig. 2c, in such an exemplary embodiment of the plate 20 from the base 10, an earth and a 5-volt signal is applied via the connections 53 and 54 , respectively. The plate identification is made available to the base from the plate via connections 51 , 52 . According to FIG. 2c, the two disk identification bits are supplied via connections 55 , 56 , connections 51 , 52 . Each bit of the plate identification may be either grounded or approximately 5 volts depending on which of the terminals 53 , 54 is coupled to the links 51 , 52 . In Figure 2c, the bit provided through terminal 55 is approximately 5 volts (the resistance between terminals 54 and 55 can be neglected) and the bit provided through terminal 56 is grounded. In another embodiment, a user can be provided with a DIP switch to change the plate identification so that he can selectively couple each bit of the plate identifier to ground or the 5 volt signal.
Jede Platte kann verschiedene Zustände haben, die mittels eines Schiebers oder eines anderen Betätigungselements auf der Platte oder der Basis wählbar sind. Z.B. kann bei einer Platte für ein Kinderlernprogramm jeder Zustand der Platte einem ande ren Schwierigkeitsgrad entsprechen. In einem Ausführungsbei spiel wird jedem dieser Zustände ein unterschiedlicher Platten code zugewiesen. In einem anderen Ausführungsbeispiel werden zwei Codes verwendet: ein Plattencode zur Identifizierung der Platten und ein Plattenniveaucode zur Identifizierung des Plat tenzustands.Each plate can have different states by means of a slider or other actuator on the Plate or base are selectable. E.g. can with a plate for a children's learning program each state of the plate is different correspond to their level of difficulty. In an execution case each of these states becomes a different plate code assigned. In another embodiment two codes are used: a plate code to identify the Plates and a plate level code to identify the plat condition.
Einige der Platten 20 können speziell für beliebte Dritt- Teilnehmer-Computeranwendungen konfiguriert werden. Z.B. könnte eine spezielle Platte für den Microsoft-Flugsimulator sein, das ist ein beliebtes Flugsimulationsprogramm von Microsoft Corpo ration. Solch eine Platte kann einem Benutzer die Verwendung eines Joysticks ermöglichen, im Gegensatz zu den Pfeiltasten bei einer Standardtastatur. Der Plattencode einer solchen spe ziell konfigurierten Platte würde die besondere Plattenart identifizieren. Die in die Basis 10 oder die Platte 20 einge baute Elektronik ist in der Lage, eine solche Platte zu inter pretieren.Some of the disks 20 can be configured specifically for popular third party computer applications. For example, a special board for the Microsoft flight simulator could be a popular flight simulation program from Microsoft Corporation. Such a plate can allow a user to use a joystick as opposed to the arrow keys on a standard keyboard. The disk code of such a specially configured disk would identify the particular disk type. The built in the base 10 or the plate 20 electronics is able to inter pretet such a plate.
In einem anderen Ausführungsbeispiel könnten einige Tasten auf der Platte vorprogrammiert sein, um den Leitprozessor 24 zur Ausführung bestimmter Operationen zu veranlassen. In einem solchen System würde die Betätigung einer einzigen Taste dazu führen, daß eine vollständige Zeichenfolge, oder Befehlszeile in den Leitrechner 24 eingegeben wird. Der Plattencode würde eine solche Platte identifizieren. Das kann mit der Datenverar beitungseinrichtung erreicht werden, die eine bestimmte über die Tastatur an den Computeranschluß 18 gesendete Einzelabtast- und Plattencodekombination entschlüsselt, um eine Zeichenfolge zur Ablage im Tastaturpuffer der Datenverarbeitungseinrichtung zu erzeugen. Alternativ kann ein Mikroprozessor in der Basis der Tastatur auch zur Erzeugung einer Folge von Abtastcodes in Abhängigkeit von der Aktivierung eines bestimmten Betätigungs elements auf der Platte programmiert werden. Diese Folge wird dann über den Anschluß 18 an den Computer gesendet. Es ist klar, daß andere Ausführungen zur Erzeugung einer in den Compu ter 24 einzugebenden Zeichenfolge implementiert werden können.In another embodiment, some keys on the disk could be preprogrammed to cause the routing processor 24 to perform certain operations. In such a system, pressing a single key would result in a complete string or command line being entered into the host computer 24 . The disk code would identify such a disk. This can be achieved with the data processing device which decrypts a specific individual scanning and plate code combination sent via the keyboard to the computer connection 18 in order to generate a character string for storage in the keyboard buffer of the data processing device. Alternatively, a microprocessor in the base of the keyboard can also be programmed to generate a sequence of scanning codes depending on the activation of a specific actuating element on the plate. This sequence is then sent to the computer via port 18 . It will be appreciated that other implementations for generating a string to be entered into the computer 24 can be implemented.
Im folgenden wird auf Fig. 3 Bezug genommen, die ein sche matisches Schaltbild der Tastaturelektronik zeigt. Die Elektro nik von Tastaturen ist an sich bekannt. Andere als die in Fig. 3 gezeigte Implementierung können verwendet werden. Die in Fig. 3 gezeigte Anordnung enthält vier Spaltenleitungen 11a-11d und acht Zeilenleitungen 12a-12h. Die Leitungen sind in einer Ma trix angeordnet. Wenn auch eine physikalisch rechteckige Matrix gezeigt ist, kann ganz allgemein eine logische Matrix verwendet werden, die in einer beliebigen für eine bestimmte Schalter- und Betätigungselementkonfiguration erforderlichen Anordnung vorliegt. Jede Spaltenleitung 11 ist über einen Schalter 15 schaltbar mit jeder getrennten Zeilenleitung 12 gekoppelt. Zei lenleitung 12f ist z. B. über Schalter 15b schaltbar mit dem Spaltenleitungen 11b gekoppelt. Eine bestimmte Verbindung wird hergestellt (d. h. ein Schalter wird geschlossen), wenn eine in der Nähe eines bestimmten Schalters angeordnete Taste (oder ein anderes Betätigungselement) zum Schließen des Schalters ge drückt wird. Tastenschaltmechanismen sind bekannt; z. B. aus der US-PS 4 688 020. Wie oben gesagt, können andere Tastenschaltme chanismen als der "Druckknopftasten-"Typ in der genannten US-PS verwendet werden. Z.B., können wie in Fig. 5a und 5b gezeigt, auch Dreh- bzw. Schiebeschalter vorgesehen werden. Fig. 5a zeigt, daß durch Drehen des Knopfes 82 um die Drehachse 81 die Schalter 83a-83f selektiv geöffnet oder geschlossen werden kön nen. In Fig. 5b wird in ähnlicher Weise gezeigt, daß durch Ver schieben des Schiebers 84 selektiv die Schalter 85a-85d geöff net oder geschlossen werden können.In the following reference is made to FIG. 3, which shows a schematic circuit diagram of the keyboard electronics. The electronics of keyboards is known per se. Implementation other than that shown in Figure 3 can be used. The arrangement shown in Fig. 3 contains four column lines 11 a- 11 d and eight row lines 12 a- 12 h. The lines are arranged in a matrix. Although a physically rectangular matrix is also shown, a logical matrix can be used in general, which is in any arrangement required for a particular switch and actuator configuration. Each column line 11 is switchably coupled to each separate row line 12 via a switch 15 . Zei lenleitung 12 f is z. B. switchable via switch 15 b coupled to the column lines 11 b. A particular connection is made (ie, a switch is closed) when a button (or other actuator) located near a particular switch is pressed to close the switch. Key switching mechanisms are known; e.g. From U.S. Patent No. 4,688,020. As stated above, other key switching mechanisms than the "push button type" type can be used in said U.S. Patent. For example, as shown in FIGS. 5a and 5b, rotary or slide switches can also be provided. Fig. 5a shows that by turning the knob 82 about the axis of rotation 81, the switches 83 a- 83 f can be selectively opened or closed. In Fig. 5b is shown in a similar manner that by sliding the slide 84 Ver selectively the switch 85 a- 85 d can be opened or closed.
Außerdem können Betätigungselemente derart vorgesehen wer den, daß jedes Betätigungselement auf mehrere Weisen aktiviert werden kann. Solch ein Betätigungselement kann z. B. beim Zusam mendrücken einen Schalter öffnen oder schließen und beim Herun terdrücken einen anderen Schalter öffnen oder schließen. Es ist klar, daß ein in Fig. 5b gezeigter Schieber 84 zur Änderung des Plattenzustandes verwendet werden kann.In addition, actuators can be provided in such a way that each actuator can be activated in several ways. Such an actuator can, for. B. when pressing together a switch open or close and when pressing down another switch open or close. It is clear that a slider 84 shown in Fig. 5b can be used to change the plate condition.
In einer anderen Ausführung kann die Platte 20 zusätzlich zu den Tasten und anderen Betätigungselementen Leuchtfelder ha ben, die in Abhängigkeit vom Drücken einiger Tasten oder der Aktivierung von Betätigungselementen leuchten können. Platte 20 kann außerdem geräuscherzeugende Mechanismen wie z. B. Klingeln oder Summer aufweisen, die auf einige gedrückte Tasten oder ak tivierte Betätigungselemente ansprechen. Z.B. kann das Zusam mendrücken des Hasen 26 auf der Platte 20 gemäß Fig. 1 zum Er tönen einer Klingel führen. Die Platte 20 würde von der Basis einheit 10 für diese licht- und geräuscherzeugenden Mechanismen mit Strom versorgt.In another embodiment, in addition to the buttons and other actuators, plate 20 may have light fields that may illuminate depending on the pressing of some buttons or the activation of actuators. Plate 20 can also be noise generating mechanisms such. B. ring or buzzer that respond to some pressed buttons or activated actuators. For example, the compression of the rabbit 26 on the plate 20 according to FIG. 1 can lead to the ringing of a bell. The plate 20 would be powered by the base unit 10 for these light and noise generating mechanisms.
In einer anderen Ausführung kann eine größere Anzahl von Platten mit Tasten und Betätigungselementen in die Basiseinheit 10 eingefügt werden. Wenn z. B. zwei Platten verwendet werden, kann der Plattencode in zwei Untercodes aufgeteilt werden. In einem Ausführungsbeispiel mit Plattenidentifikationsvorsprüngen 21 und zugeordneten Plattenidentifikationsschaltern 17 auf der Rückseite der Basisaussparung bilden die Plattenidentifikati onsvorsprünge 21 der beiden Platten zusammen den Plattenidenti fikationscode. In einer die Anschlüsse 51, 52 zur Plattencode bildung verwendenden Ausführung können zwei Anschlüsse 52 an stelle eines verwendet werden, wobei jede Platte einen Stecker 51 aufweist, der in eine der beiden Buchsen 52 auf der Basis einheit 10 paßt. Der zur einen Platte gehörige Teil der logi schen Matrix würde auf der Platte 20 angeordnet, und der zu der zweiten Platte gehörige Teil der logischen Matrix würde auf der zweiten Platte angeordnet. Bei einem weiteren Ausführungsbei spiel ist zwischen den zwei Platten eine elektrische Leitung vorgesehen. Die elektrische Leitung kann den Matrixteil im er sten Plattenteil mit dem Matrixteil in dem zweiten Plattenteil verbinden. Eine Verbindung zwischen den beiden Platten ermög licht einer ersten Platte den Empfang eines Plattenuntercodes von einer zweiten Platte. Die erste Platte liefert dann über einen Anschluß 51, 52 einen Plattenidentifikationscode, der die Plattenuntercodes der beiden Platten enthält.In another embodiment, a larger number of plates with buttons and actuators can be inserted into the base unit 10 . If e.g. B. two plates are used, the plate code can be divided into two subcodes. In an embodiment with plate identification protrusions 21 and associated plate identification switches 17 on the back of the base recess, the plate identification protrusions 21 of the two plates together form the plate identification code. In a version using the connections 51 , 52 for plate code formation, two connections 52 can be used instead of one, each plate having a plug 51 which fits into one of the two sockets 52 on the base unit 10 . The part of the logical matrix belonging to one plate would be arranged on the plate 20 and the part of the logical matrix belonging to the second plate would be arranged on the second plate. In a further embodiment, an electrical line is provided between the two plates. The electrical line can connect the matrix part in the first plate part to the matrix part in the second plate part. A connection between the two plates enables a first plate to receive a plate subcode from a second plate. The first disk then provides, via a connector 51 , 52, a disk identification code which contains the disk subcodes of the two disks.
Eine Standardtastatur mit festgelegter Konfiguration kann mit der Basis 10 über einen Standardtastaturanschluß für den speziellen Leitrechner 24 verbunden werden. In diesem Fall ent hält die Basis 10 ein Mittel (z. B. Mikroprozessor 16) zur Ent scheidung nach dem Prinzip "was zuerst eingeht, wird zuerst ab gearbeitet", wobei ein bekannter Algorithmus zur Entscheidung nach diesem Prinzip verwendet wird. Der Algorithmus wird typi scherweise in einem Computerprogramm implementiert, das von ei nem Mikroprozessor 16 ausgeführt wird und die Entscheidung trifft zwischen dem Abfragen der logischen Platten/Basis-Matrix und der Übertragung der Abtastcodes von der Standardtastatur (die ihren eigenen Mikroprozessor zum Abfragen der festgelegten Tastenmatrix der Standardtastatur enthält). Die Basis 10 über trägt die von der Standardtastatur empfangenen Informationen an den Leitrechner 24, wenn bei Tastenbetätigung auf der Standard tastatur mit festgelegter Konfiguration momentan vom Mikropro zessor 16 kein Abtastcode oder anderer Code von der Platte oder Basis 10 gesendet wird. Die Basis 10 arbeitet in der oben be schriebenen Weise, wenn eine Taste auf der Basis 10 oder der Platte 20 niedergedrückt wird.A standard keyboard with a defined configuration can be connected to the base 10 via a standard keyboard connection for the special host computer 24 . In this case, the base 10 contains a means (for example a microprocessor 16 ) for making a decision based on the principle "what comes in first is worked off first", using a known algorithm for making decisions based on this principle. The algorithm is typically implemented in a computer program executed by a microprocessor 16 and the decision is made between querying the logical disk / base matrix and transferring the scan codes from the standard keyboard (which uses its own microprocessor to query the specified key matrix the standard keyboard). The base 10 transmits the data received from the standard keyboard information to the host computer 24 when keyboard with fixed configuration currently no scan code or other code is transmitted from the plate or base 10 when the buttons on the standard of the micropro cessor sixteenth The base 10 operates in the manner described above when a key on the base 10 or the plate 20 is depressed.
Standardtasten wie z. B. Pfeiltasten 22 werden von vielen Programmen erforderlich gemacht. Weil diese Standardtasten bei jeder Konfiguration an der Tastatur wünschenswert sind, können diese Tasten auf der Basiseinheit angeordnet werden - wie in den Fig. 1 und 7 gezeigt ist. In diesem Fall kann der den variablen Tasten zugeordnete Teil der logischen Matrix an der Platte 20 und der den Standardtasten zugeordnete logische Teil der Matrix an der Basis 10 angeordnet sein. Diese Matrixplätze auf der Zeilenleitung 12a können physikalisch in der Basis an geordnet sein. Die Verbindungen von 95a-95k zwischen dem Ma trixteil in der Platte und der Restmatrix in der Basis können über die Anschlüsse 51, 52 hergestellt werden. Es ist klar, daß die Funktionsweise der Elektronik identisch ist, jedoch werden die Matrixplätze zwischen der Basis und der Platte, oder im Falle von mehreren Platten zwischen der Basis und verschiedenen Platten aufgeteilt.Standard buttons such as B. Arrow keys 22 are required by many programs. Because these standard keys are desirable in any configuration on the keyboard, these keys can be placed on the base unit - as shown in FIGS. 1 and 7. In this case, the part of the logical matrix assigned to the variable keys can be arranged on the plate 20 and the logical part of the matrix assigned to the standard keys can be arranged on the base 10 . These matrix locations on the row line 12 a can be physically arranged in the base. The connections of 95 a - 95 k between the matrix part in the plate and the residual matrix in the base can be made via the connections 51 , 52 . It is clear that the operation of the electronics is identical, however the matrix locations are divided between the base and the plate, or in the case of several plates between the base and different plates.
Im folgenden wird auf Fig. 3 Bezug genommen. Bei Aktivie rung eines Betätigungselements auf der Platte, z. B. bei Tasten betätigung, wird ein der betätigten Taste zugeordneter Schalter 15 geschlossen, so daß eine Verbindung zwischen der speziellen Zeilenleitung 12 und der mit dem Schalter 15 verbundenen spe ziellen Spaltenleitung 11 hergestellt wird. In ähnlicher Weise wird bei Freigabe einer Taste auf der Platte 20 der zugehörige Schalter 15 geöffnet, so daß die Verbindung zwischen der spe ziellen Zeilenleitung 12 und der mit dem Schalter 15 gekoppel ten speziellen Spaltenleitung 11 unterbrochen wird.In the following, reference is made to FIG. 3. When activating an actuator on the plate, for. B. actuation of keys, one of the actuated key associated switch 15 is closed so that a connection between the special row line 12 and the special column line 11 connected to the switch 15 is established. Similarly, when a button on the plate 20 is released, the associated switch 15 is opened, so that the connection between the special row line 12 and the special column line 11 coupled to the switch 15 is interrupted.
Eine Aufgabe des Mikroprozessors 16 in Fig. 3 ist die Fest stellung, wann ein Schalter geöffnet oder geschlossen wurde, und die Identifizierung des Schalters. Zur Feststellung, ob ein bestimmter Schalter geöffnet oder geschlossen wurde, fragt der Mikroprozessor 16 den Schalter ab. Der Mikroprozessor 16 be wirkt zunächst, daß die Spannung auf der zum Schalter gehörigen Zeilenleitung 12 abfällt, und untersucht dann die Spannung an der zu diesem Matrixplatz gehörigen Spaltenleitung 11.A task of the microprocessor 16 in FIG. 3 is to determine when a switch has been opened or closed and to identify the switch. To determine whether a particular switch has been opened or closed, the microprocessor 16 queries the switch. The microprocessor 16 be first causes the voltage on the row line 12 associated with the switch to drop, and then examines the voltage on the column line 11 associated with this matrix location.
Mikroprozessor 16 bewirkt den Spannungsabfall auf einer be stimmten Zeilenleitung dadurch, daß er einen hohen Pegel an seine Q2Q1Q0-Ausgänge anlegt, die mit den dazugehörigen A2A1A0- Eingängen eines Zeilendecodierers 13 mit drei Eingängen und acht Ausgängen verbunden sind. Das Anlegen eines hohen Pegels an die Q2Q1Q0-Ausgänge des Mikroprozessors 16 und somit an die A2A1A0-Adreßeingänge des Zeilendecodierers 13 bewirkt, daß der Zeilendecodierer 13 eine seiner Ausgangsleitungen, Q0, Q1, Q2, Q3, Q4, Q5, Q6 oder Q7 aktiviert. Jede Zeilenleitung 12a-12h ist mit einem anderen speziellen Datenausgang Q0-Q7 des Zeilen decodierers 13 gekoppelt. Wenn der Mikroprozessor 16 101 (Basis 2) an seine mit den A2A1A0-Eingängen des Zeilendecodierers 13 gekoppelten Zeilenadreßausgänge Q2Q1Q0 anlegt, fällt das Aus gangssignal Q5 auf einen niedrigen Pegel (der Decodierer legt den Q5-Ausgang auf Erde), und Zeile 12f wird auf diese Weise aktiviert. Dagegen bleiben die anderen Zeilen aufgrund der An hebewiderstände 12aa, 12bb, 12cc, 12dd, 12ee, 12ff, 12gg und 12hh auf einem hohen Pegel.Microprocessor 16 causes the voltage drop on a certain row line be that it applies a high level to its Q 2 Q 1 Q 0 outputs, which with the associated A 2 A 1 A 0 inputs of a row decoder 13 with three inputs and eight outputs are connected. Applying a high level to the Q 2 Q 1 Q 0 outputs of the microprocessor 16 and thus to the A 2 A 1 A 0 address inputs of the row decoder 13 causes the row decoder 13 to have one of its output lines, Q 0 , Q 1 , Q 2 , Q 3 , Q 4 , Q 5 , Q 6 or Q 7 activated. Each row line 12 a- 12 h is coupled to another special data output Q 0 -Q 7 of the row decoder 13 . When the microprocessor 16 101 (base 2 ) applies Q 2 Q 1 Q 0 to its row address outputs coupled to the A 2 A 1 A 0 inputs of the row decoder 13 , the output signal Q 5 falls to a low level (the decoder sets the Q 5 output on earth), and line 12 f is activated in this way. In contrast, the other lines remain at a high level due to the lifting resistances 12 aa, 12 bb, 12 cc, 12 dd, 12 ee, 12 ff, 12 gg and 12 hh.
Zur Abfrage der Spannung auf einer bestimmten Spaltenlei tung adressiert der Mikroprozessor 16 diese über seine Q4Q3- Ausgänge mit einer Adresse. Diese Ausgänge sind mit den zugehö rigen Adreßeingängen A1A0 eines als 4-Eingang-, 1-Ausgang-Mul tiplexer ausgebildeten Spalten-Datenselektors 14 verbunden. Die Adreßeingänge A1A0 dienen als Auswahlleitungen für den Multi plexer. Das Anlegen einer Spaltenadresse an die Q4Q3-Ausgänge und somit an die A1A0-Eingänge des Spaltendatenselektors be wirkt, daß der mit dem Eingang D des Mikroprozessors 16 gekop pelte Ausgang Q einen Wert annimmt, der mit dem auf der spezi ell adressierten Spaltenleitung 11 übereinstimmt. Wenn der Mi kroprozessor 16 z. B. gleichzeitig 101 (Basis 2) an seine Zei lenadreßausgänge Q2Q1Q0 und 10 (Basis 2) an seine Spaltenadreß ausgänge Q4Q3 anlegt, sind die Adreßeingangssignale A1A0 des Spaltendatenselektors 14 10 (Basis 2), so daß das Spaltendaten selektorausgangssignal Q dem Spaltendatenselektoreingangssignal D2 entspricht. Der Mikroprozessor hat damit den Schalter an dem Matrixplatz abgefragt, an dem die Zeilenleitung 12f die Spal tenleitung 11c kreuzt. To query the voltage on a specific column line, the microprocessor 16 addresses it via its Q 4 Q 3 outputs with an address. These outputs are connected to the associated address inputs A 1 A 0 of a column data selector 14 designed as a 4-input, 1-output multiplexer. The address inputs A 1 A 0 serve as selection lines for the multiplexer. Applying a column address to the Q 4 Q 3 outputs and thus to the A 1 A 0 inputs of the column data selector causes the output Q coupled to the input D of the microprocessor 16 to assume a value which corresponds to that on the speci ell addressed column line 11 matches. If the microprocessor 16 z. B. at the same time 101 (base 2 ) to its row address outputs Q 2 Q 1 Q 0 and 10 (base 2 ) to its column address outputs Q 4 Q 3 , the address input signals A 1 A 0 of the column data selector 14 10 (base 2 ), so that the column data selector output signal Q corresponds to the column data selector input signal D 2 . The microprocessor has thus polled the switch at the matrix location where the row line 12 f crosses the column line 11 c.
Ein vom Mikroprozessor 16 abgefragter (adressierter) Schal ter ist im geschlossenen Zustand, wenn D1 des Mikroprozessors 16 einen niedrigen Pegel abfragt und in einem offenen Zustand, wenn D1 des Mikroprozessors 16 einen hohen Pegel abfragt. Zur Abfrage aller Matrixplätze legt der Mikroprozessor 16 nachein ander den jeweiligen Matrixplätzen zugeordnete Werte an seine Q4Q3- und Q2Q1Q0-Ausgänge an. Stellt der Mikroprozessor fest, daß für einen bestimmten Platz an seinem D1-Eingang ein anderer Wert als bei der vorangegangenen Abfrage anliegt, überträgt er über einen seriellen KBD-Ausgang 22 - wie unten gezeigt - an den Leitrechner eine Änderungsanzeige, einen Tastenabtastcode.A scanned (addressed) switch by the microprocessor 16 is in the closed state when D 1 of the microprocessor 16 queries a low level and in an open state when D 1 of the microprocessor 16 queries a high level. To query all the matrix locations, the microprocessor 16 applies values assigned to the respective matrix locations to its Q 4 Q 3 and Q 2 Q 1 Q 0 outputs. If the microprocessor determines that there is a different value for its D 1 input than for the previous query, it transmits a change indicator, a key scanning code, to the master computer via a serial KBD output 22 , as shown below.
Es ist klar, daß Details wie Anti-Flatterschaltung, in Fig. 3 nicht gezeigt werden. Die Ausbildung einer solchen Schaltung ist bekannt. Andere bekannte, auf die Tastaturschaltung bezo gene Details sind ebenfalls nicht gezeigt, um die Beschreibung der Erfindung nicht mit unnötigen Einzelheiten zu belasten. Der Datenselektor 14 und der Datendecodierer 13 können entweder in der Basis oder in der Platte 20 angeordnet sein. Es ist jedoch vorteilhaft, sie in der Basis 10 anzuordnen, um die Anzahl der Komponenten in den austauschbaren Platten zu reduzieren und um somit die Anzahl von duplizierten Komponenten zu minimieren. Bei Anordnung des Datenselektors 14 und des Datendecodierers 13 in der Basis 10 sind die Dateneingänge des Datenselektors und des Decodierers mit den Spalten und Zeilenleitungen 12, 11 nur dann verbunden, wenn die Anschlüsse 51 und 52 gekoppelt sind, d. h. wenn die Platte 20 in die Basis 10 eingeschoben ist. In einem Ausführungsbeispiel, in dem die Platte Leuchtfelder und Geräuschgeneratormittel enthält, die auf die Aktivierung von speziellen Tasten oder Betätigungselementen durch den Benutzer ansprechen, weist die Platte 20 zusätzliche Elektronik für die Leuchtfelder und die Geräuschgeneratoren auf.It is clear that details such as anti-flutter are not shown in FIG. 3. The formation of such a circuit is known. Other known details related to the keyboard circuitry are also not shown so as not to unnecessarily obscure the description of the invention. The data selector 14 and the data decoder 13 can be arranged either in the base or in the plate 20 . However, it is advantageous to arrange them in the base 10 in order to reduce the number of components in the exchangeable plates and thus to minimize the number of duplicated components. When the data selector 14 and the data decoder 13 are arranged in the base 10 , the data inputs of the data selector and the decoder are connected to the columns and row lines 12 , 11 only when the connections 51 and 52 are coupled, ie when the plate 20 is in the base 10 is inserted. In one embodiment, in which the panel includes light fields and sound generator means responsive to the activation of special buttons or actuators by the user, the plate 20 has additional electronics for the light fields and the noise generators.
Im folgenden wird erneut auf Fig. 3 Bezug genommen. Ein Schalter 23 kann in den seriellen KBD-Ausgang 22 eingebunden werden, um eine Kommunikation zwischen dem Mikroprozessor 16 und dem Leitrechner 24 nur dann zu ermöglichen, wenn eine Platte in die Basis 10 eingesetzt ist. In einem Ausführungsbei spiel wird bei in die Basis 10 eingeschobener Platte 20 ein in der Basisaussparung angeordneter Knopf 72 gedrückt, so daß der Schalter 23 geschlossen wird und eine Verbindung zwischen dem Mikroprozessor 16 und dem Leitrechner 24 hergestellt wird. In einem anderen Ausführungsbeispiel öffnet und schließt der Knopf 72 den seriellen KBD-Ausgang nicht, sondern sieht für den Mi kroprozessor 16 eine Anzeige bezüglich der An- oder Abwesenheit der Platte in der Basisaussparung vor. In diesem Ausführungs beispiel überträgt der Mikroprozessor 16 über den seriellen KBD-Ausgang 22 dann die Anzeige an den Leitrechner 24.In the following reference is made again to FIG. 3. A switch 23 can be integrated into the serial KBD output 22 in order to enable communication between the microprocessor 16 and the master computer 24 only when a plate is inserted in the base 10 . In a Ausführungsbei game with inserted into the base 10 a plate 20 disposed in the base recess button 72 so that the switch 23 is closed and a connection between the microprocessor 16 and the host computer 24 is made is pressed. In another embodiment, the button 72 does not open and close the KBD serial output, but provides the microprocessor 16 with an indication of the presence or absence of the disk in the base recess. In this embodiment example, the microprocessor 16 then transmits the display to the master computer 24 via the serial KBD output 22 .
Bei einer Ausführungsform überträgt der Mikroprozessor 16 jedesmal einen "ABTASTCODE" an den Leitrechner 24, wenn eine Zustandsänderung eines Schalters an einem bestimmten Matrix platz festgestellt wird. Der Abtastcode zeigt den Matrixplatz des Schalters an, dessen Zustand sich geändert hat und die Zu standsänderung. Wenigstens ein spezieller 8-Bit-Code ist für andere Zwecke reserviert. In einer weiter unten detaillierter beschriebenen möglichen Implementierung wird ein reservierter 8-Bit-Code, genannt "PLATTENCODE_PRÄFIX, verwendet, um dem Leitrechner anzuzeigen, daß der nächste vom Mikroprozessor an den Leitrechner 24 übertragene 8-Bit-Code kein ABTASTCODE, son dern ein Plattenidentifikationscode ("PLATTENCODE") ist, und im Falle einer Mehrzustand-Platte den Plattenzustand anzuzeigen. In dieser speziellen Implementierung kann deshalb zur Vermei dung von Unklarheiten weder ein ABTASTCODE noch ein PLATTENCODE den Wert der PLATTENCODE_PRÄFIX annehmen.In one embodiment, the microprocessor 16 transmits a "SCAN CODE" to the host computer 24 whenever a change in the state of a switch is detected at a particular matrix location. The scan code shows the matrix location of the switch, the status of which has changed and the status change. At least one special 8-bit code is reserved for other purposes. In a possible implementation described in more detail below, a reserved 8-bit code, called "PLATE CODE_PRÄFIX," is used to indicate to the host that the next 8-bit code transmitted from the microprocessor to the host 24 is not a SCAN CODE, but a disk identification code ("DISC CODE"), and in the case of a multi-state disc, to indicate the disc status In this particular implementation, neither a SCAN CODE nor a DISC CODE can assume the value of the DISC CODE_PREFIX to avoid ambiguity.
Stellt der Mikroprozessor 16 die Zustandsänderung eines Schalters fest, so liest er jedesmal außerdem die Zustände der Plattenidentifikationsschalter 17, d. h. den Plattenidentifika tionscode oder "PLATTENCODE". Der PLATTENCODE wird vom Mikro prozessor 16 an den Leitrechner 24 übertragen, der den PLATTEN CODE zum Zuordnen von ABTASTCODES zu einer bestimmten Tastatur übersetzungstabelle verwendet, wie unten beschrieben wird. Bei einer abgewandelten Ausführungsform, in der der PLATTENCODE der Platte 20 zur Basis 10 über die Anschlüsse 51, 52 zur Verfügung gestellt wird, liest der Mikroprozessor den über die Anschlüsse gelieferten PLATTENCODE. In dieser Ausführung, in der ein Dip schalter auf der Platte oder auf der Basis zur Änderung des PLATTENCODES durch den Benutzer vorgesehen ist, liest der Mi kroprozessor den vom Benutzer eingestellten Plattencode. In al len Fällen wird der PLATTENCODE in den Eingang 55 des Mikropro zessors 16 eingelesen.If the microprocessor 16 detects the change in state of a switch, it also reads the states of the plate identification switches 17 each time, ie the plate identification code or "PLATE CODE". The PLATE CODE is transferred from the microprocessor 16 to the host computer 24 , which uses the PLATE CODE to assign SCAN CODES to a particular keyboard translation table, as described below. In a modified embodiment, in which the PLATE CODE is provided to the plate 20 to the base 10 via the connections 51 , 52 , the microprocessor reads the PLATE CODE supplied via the connections. In this embodiment, in which a dip switch is provided on the plate or on the basis for changing the PLATE CODE by the user, the microprocessor reads the plate code set by the user. In all cases, the PLATE CODE is read into the input 55 of the microprocessor 16 .
In einer weiteren Ausführungsform wird der PLATTENCODE vom Mikroprozessor 16 nicht nur gelesen, wenn der Mikroprozessor die Zustandsänderung eines Schalters feststellt, sondern auch, wenn der Leitrechner 24 diese Daten abfragt. In noch einem an deren Ausführungsbeispiel liest der Mikroprozessor 16 den PLAT TENCODE nur dann, wenn der Benutzer eine bestimmte Taste auf der Platte 10 oder der Basis 20 drückt.In a further embodiment, the PLATE CODE is read by the microprocessor 16 not only when the microprocessor detects the change in state of a switch, but also when the host computer 24 queries this data. In yet another embodiment, the microprocessor 16 reads the PLAT TENCODE only when the user presses a particular key on the disk 10 or base 20 .
Der PLATTENCODE kann für Platten mit nur einem Zustand ein einfacher Plattenidentifikationscode sein. Für Platten mit meh reren Zuständen, kann der PLATTENCODE sowohl aus einem Plat tenidentifikationscode als auch aus dem Zustand oder "Niveau" der Platte bestehen (z. B. können verschiedene Codebits zur An zeige des Plattenzustands reserviert sein).The PLATE CODE can be used for plates with only one condition be a simple disk identification code. For plates with more conditions, the PLATE CODE can be created from a plat tenidentification code as well from the state or "level" the disk (e.g. different code bits for the show the disk state must be reserved).
Fig. 8 ist ein Ablaufdiagramm des Prozesses, mit dem der Mikroprozessor 16 die Zustandsänderung eines Schalters fest stellt und den Schalter, dessen Zustand sich verändert hat, identifiziert. Fig. 8 is a flow chart of the process by which the microprocessor 16 determines the change of state of a switch and the state of which has changed the switch is identified.
Im Grunde stellt der Mikroprozessor 16 den Zustand eines Schalters an einem bestimmten Matrixplatz fest, indem er dessen "Spaltenadresse" an die Ausgänge Q4Q3 und dessen "Zeilenadresse" an die Ausgänge Q2Q1Q0 anlegt, und dann das Eingangssignal D1 liest, das den Zustand des Schalters angibt. Durch sukzessives Inkrementieren der an die Spalten- und Zei lenadreßausgänge angelegten Adresse (und somit durch Abtasten der logischen Matrix) fragt der Mikroprozessor 16 sukzessiv den Zustand jedes Schalters in der Matrix ab. Wenn der Mikroprozes sor 16 die Zustandsänderung eines Schalters feststellt, über trägt der Mikroprozessor 16 an den Leitrechner 24 die Identität des Schalters und eine Anzeige darüber, ob der Schalterzustand von offen nach geschlossen oder von geschlossen nach offen ge ändert wurde. Der Mikroprozessor fragt den Schalterzustand je doch mehrmals ab, bevor die Änderung berichtet wird, wodurch gewährleistet ist, daß sich der Zustand stabilisiert hat.Basically, microprocessor 16 determines the state of a switch at a particular matrix location by applying its "column address" to outputs Q 4 Q 3 and its "row address" to outputs Q 2 Q 1 Q 0 , and then input signal D 1 reads, which indicates the state of the switch. By successively incrementing the address applied to the column and row address outputs (and thus scanning the logical matrix), the microprocessor 16 successively queries the state of each switch in the matrix. When the microprocessor 16 detects the change in state of a switch, the microprocessor 16 transmits to the master computer 24 the identity of the switch and an indication of whether the switch state has changed from open to closed or from closed to open. The microprocessor interrogates the switch state several times before reporting the change, which ensures that the state has stabilized.
Daten vom Mikroprozessor 16 werden zur Übertragung an den Leitrechner 24 seriell auf die serielle KBD-Ausgangsleitung 22 geschrieben, die mit dem Computer 24 über Anschluß 18 gekoppelt ist. Eine Schnittstellenschaltung in der Datenverarbeitungsein richtung 24 legt die Daten in einem vom Leitrechner 24 adres sierbaren Hardwareregister ("Tastatur-Hardwareregister") ab. In einem IBM-PC befindet sich das Hardwareregister typischerweise bei der Adresse 60Hex. Andere Computer, wie z. B. der Apple Macintosh, verwenden andere Adressen und etwas abgewandelte Me chanismen, die dem Fachmann bekannt sind. Die Hardware im Leit rechner 24 erfaßt, daß Daten in das Tastatur-Hardwareregister geschrieben wurden, und sie erzeugt ein Hardware-Interrupt-Si gnal. In dem IBM-PC ist das erzeugte Interrupt-Signal Hardware- Interrupt 9. Eine Standardtastatur-Interrupt-Handhabungspro grammroutine liest in Abhängigkeit vom Interrupt die Daten. Ein solcher Mechanismus zur Datenkommunikation zwischen einer Ta statur und einem Leitrechner ist bekannt.Data from the microprocessor 16 is serially written to the master KBD output line 22 for transmission to the host computer 24 , which is coupled to the computer 24 via port 18 . An interface circuit in the data processing device 24 stores the data in a hardware register addressable by the master computer 24 (“keyboard hardware register”). In an IBM PC, the hardware register is typically located at 60Hex. Other computers, such as B. the Apple Macintosh, use other addresses and somewhat modified Me mechanisms that are known to those skilled in the art. The hardware in the host computer 24 detects that data has been written into the keyboard hardware register and generates a hardware interrupt signal. In the IBM PC, the interrupt signal generated is hardware interrupt 9 . A standard keyboard interrupt handling program routine reads the data depending on the interrupt. Such a mechanism for data communication between a keyboard and a master computer is known.
Im Prozeß gemäß Fig. 8 werden mehrere Variablen verwendet. Als erstes ist SCHALTER eine Variable, die den aktuell befrag ten Schalter bezeichnet. Wie oben erläutert, adressieren die drei am niedrigsten bewerteten Bits des SCHALTER die Zeile und die zwei am höchsten bewerteten Bits des SCHALTER die Spalte. LETZTER_ZUSTAND ist eine im vom Mikroprozessor 16 adressierten Speicher gespeicherte Matrix mit je einem Element für jeden Schalter. Sie wird zur Speicherung eines Anfangszustandes für jeden Schalter verwendet. Der Zähler dient zur Speicherung, wie oft ein bestimmter Schalter im Laufe der Stabilitätssicherstel lung einer Zustandsänderung befragt wurde.Several variables are used in the process of FIG. 8. First, SWITCH is a variable that identifies the switch currently being polled. As discussed above, the three least significant bits of the SWITCH address the row and the two most significant bits of the SWITCH address the column. LAST_STATE is a matrix stored in the memory addressed by the microprocessor 16 with one element for each switch. It is used to store an initial state for each switch. The counter is used to store the number of times a certain switch was polled during the course of the stability assurance of a change in state.
Weiter bezugnehmend auf Fig. 8 aktiviert der Mikroprozessor 16 bei Schritt 803 jedes Element des LETZTEN_ZUSTANDS zum "Öffnen" und initialisiert auch den Zähler auf Null. Die Auslö sung des Schritts 803 geschieht nur bei Stromeinschaltung und bei Einfügung einer Platte in die Basiseinheit. Der Schritt 805 löst eine komplette Schleife zur sukzessiven Überprüfung der Schalter an allen Plätzen aus. Im Schritt 807 fragt der Mikro prozessor 16 den Zustand des Schalters an der vom SCHALTER an gegebenen Matrixstelle ab. Diese Abfragung wird durchgeführt, indem der Wert SCHALTER an die Q4Q3Q2Q1Q0-Adreßausgänge über tragen wird und der resultierende D1-Pegel - wie oben ausge führt - betrachtet wird. Der resultierende D1-Pegel wird als TEST(SCHALTER) bezeichnet und einer Variablen ZUSTAND zugewie sen. Als nächstes, im Schritt 809 überprüft der Mikroprozessor 16, ob sich der Zustand des Schalters seit dem Zeitpunkt der letzten Abfrage geändert hat, indem er den ZUSTAND mit dem letzten Schalter (SCHALTER) vergleicht. In Schritt 810 setzt der Mikroprozessor den ZÄHLER auf Null zurück, wenn sich der Zustand des Schalters nicht geändert hat. Danach, im Schritt 815, inkrementiert der Mikroprozessor den SCHALTER, so daß ein weiterer Schalter im Schritt 807 abgefragt. Wenn es eine Zu standsänderung des Schalters an der Stelle SCHALTER gab, über prüft der Mikroprozessor in den Schritten 811 und 813, ob die Zustandsänderung des Schalters über eine bestimmte von der Va riablen STABIL angezeigte Anzahl von Zeitperioden gleich bleibt. Ist beispielsweise STABIL = 3, überprüfen die Schritte 811 und 813, ob die Zustandsänderung des Schalters bei drei aufeinanderfolgenden Abfragen desselben gleich bleibt. Wenn die Änderung stabil ist, initialisiert der Mikroprozessor 16 im Schritt 835 den letzten Zustand (SCHALTER) und ZÄHLER erneut. Im Schritt 837 überträgt der Mikroprozessor 16 den PLATTEN CODE_PRÄFIX dann an den seriellen KBD-Ausgang 22. Im Schritt 839 überträgt er den PLATTENCODE der Platte, die das Betäti gungselement enthält, dessen Betätigung die Zustandsänderung des Schalters verursachte. Im Schritt 841 überträgt der Mikro prozessor 16 an den seriellen KBD-Ausgang 22 den Abtastcode für den Zustand zusammen mit der Adresse des Schalters, dessen Zu stand sich geändert hat. Der Zustand und die Adresse spezifi zieren zusammen den Abtastcode für das Betätigungselement. Da nach wird die SCHALTER-Variable im Schritt 815 inkrementiert. Im Schritt 817 bestimmt der Mikroprozessor 16, ob die SCHALTER- Variable alle Schalterplätze während einer Matrixschalterab frage inkrementiert hat; wenn alle Stellen abgetastet wurden, geht die Verarbeitung bei Schritt 805 weiter und beginnt mit einer weiteren Abfrage, sonst geht die Verarbeitung bei dem nächsten Adreßplatz in der Matrix mit Schritt 807 weiter.Still referring to FIG. 8, each element 16 is activated, the microprocessor at step 803 of the LETZTEN_ZUSTANDS to "Open" and also initializes the counter to zero. Step 803 is only triggered when the power is switched on and when a plate is inserted into the base unit. Step 805 triggers a complete loop for successively checking the switches at all locations. In step 807 , the microprocessor 16 queries the state of the switch at the matrix location given by the SWITCH. This interrogation is carried out by transferring the value SWITCH to the Q 4 Q 3 Q 2 Q 1 Q 0 address outputs and looking at the resulting D 1 level, as explained above. The resulting D 1 level is called TEST (SWITCH) and is assigned to a variable CONDITION. Next, in step 809 , the microprocessor 16 checks whether the state of the switch has changed since the last poll by comparing the STATE with the last switch (SWITCH). In step 810 , the microprocessor resets the COUNTER if the state of the switch has not changed. Thereafter, in step 815 , the microprocessor increments the SWITCH so that another switch is queried in step 807 . If there was a change in the state of the switch at the SWITCH position, the microprocessor checks in steps 811 and 813 whether the change in state of the switch remains the same over a certain number of time periods indicated by the variable STABLE. For example, if STABIL = 3, steps 811 and 813 check whether the state change of the switch remains the same after three consecutive queries. If the change is stable, the microprocessor 16 reinitializes the last state (SWITCH) and COUNTER in step 835 . In step 837 , the microprocessor 16 then transfers the DISK CODE_PRÄFIX to the serial KBD output 22 . At step 839 , it transmits the PLATE CODE of the plate containing the actuator whose actuation caused the switch to change state. In step 841 , the microprocessor 16 transmits to the KBD serial output 22 the scan code for the state together with the address of the switch whose state has changed. The state and the address together specify the scan code for the actuator. After that, the SWITCH variable is incremented in step 815 . In step 817 , microprocessor 16 determines whether the SWITCH variable has incremented all switch locations during a matrix switch query; if all digits have been scanned, processing continues at step 805 and begins another query, otherwise processing continues at step 807 at the next address location in the matrix.
Im folgenden wird die Arbeitsweise einer auf dem Leitrech ner laufenden Routine zur Eingabe von Daten über die Tastatur beschrieben. In einer möglichen Ausführungsform wird ein Stan dardtastatur-Interrupthandhabungsprogramm (dieses wird bei IBM- PCs z. B. vom Betriebssystem im Nur-Lese-Speicher als binäres Eingang-Ausgang-System, oder ROM-BIOS zur Verfügung gestellt) durch ein anderes Programm ersetzt, das die von einer rekonfi gurierbaren Tastatur erzeugten Abtastcodes erkennen und ent schlüsseln kann. Für IBM-PCs ist ein Programm, das anstelle ei nes Interrupt-Handhabungsprogramms verwendet wird, unter dem Namen Beende-Und-Bleibe-Resident-(TSR)-Programm bekannt. Ein TSR wird so eingestellt, daß es beim Auftreten des Interrupts aktiviert wird, das sonst das substituierte Programm aktiviert hätte. Das heißt, das TSR-Programm wird in Abhängigkeit eines Hardware-Interrupts ausgeführt (bei einem IBM-PC-Hardware-In terrupt 9), das jedesmal auftritt, wenn Daten vom Mikroprozes sor 16 in das Tastatur-Hardwareregister des Leitprozessors 24 geschrieben werden. In dem nun beschriebenen Ausführungsbei spiel legt die Interruptroutine in einem Tastaturpuffer auf der Datenverarbeitungseinrichtung (für einen IBM-PC ist diese Adresse typischerweise 480Hex) eine dem Schalter mit geändertem Zustand entsprechende Nachricht ab. Eine Nachricht ist typi scherweise eine Zeichenfolge, kann jedoch genauso z. B. aus Ganzzahlen oder Gleitkommazahlen bestehen. Wenn ein Teil einer Nachricht größer als das Tastatur-Hardwareregister ist, kann es einige Schreiboperationen des Mikroprozessors 16 in das Tasta tur-Hardwareregister 24 und eine gleiche Zahl von Interruptrou tine-Operationen zum Senden und Empfangen der gesamten Nach richt erforderlich machen. Ein auf der Leitrechner-Datenverar beitungseinrichtung 24 ablaufendes Anwendungsprogramm kann dann die Nachricht aus dem Tastaturpuffer wiedergewinnen.The operation of a routine running on the master computer for entering data using the keyboard is described below. In one possible embodiment, a standard keyboard interrupt handling program (this is provided in IBM PCs, for example by the operating system in read-only memory as a binary input-output system, or ROM-BIOS) is replaced by another program that can recognize and decode the scan codes generated by a reconfigurable keyboard. For IBM PCs, a program that is used in place of an interrupt handler is known as the End-And-Stay-Resident (TSR) program. A TSR is set so that it is activated when the interrupt occurs, which would otherwise have activated the substituted program. That is, the TSR program is executed in response to a hardware interrupt (in the case of an IBM PC hardware interrupt 9 ) which occurs every time data from the microprocessor 16 is written into the keyboard hardware register of the control processor 24 . In the exemplary embodiment now described, the interrupt routine stores a message corresponding to the switch with a changed state in a keyboard buffer on the data processing device (this address is typically 480 hex for an IBM PC). A message is typically a string, but can also be B. consist of integers or floating point numbers. If part of a message is larger than the keyboard hardware register, it may require some microprocessor 16 write operations to the keyboard hardware register 24 and an equal number of interrupt routine operations to send and receive the entire message. An application program running on the host computer data processing device 24 can then retrieve the message from the keyboard buffer.
Fig. 4 zeigt ein Ablaufdiagramm der Operation des TSR in einer möglichen Ausführungsform. Bei dieser Ausführungsform werden bei der ersten Installation der Interruptroutine in den Speicher der Datenverarbeitungseinrichtung 24 (normalerweise beim Betriebsstart der Leitrechner-Datenverarbeitungseinrich tung) zwei variable Flags, PLATTENCODE_EIN und TABELLE_EIN auf "falsch" gesetzt. PLATTENCODE_EIN zeigt an, ob die Daten in dem Tastatur-Hardwareregister ein PLATTENCODE sind. TABELLE_EIN zeigt an, ob eine geeignete Übersetzungstabelle für eine Platte in der Basis geladen wurde oder nicht. Fig. 4 shows a flow chart of the operation of the TSR in a possible embodiment. In this embodiment, when the interrupt routine is first installed in the memory of the data processing device 24 (normally when the host computer data processing device starts up), two variable flags, DISK CODE_ON and TABLE_ON, are set to "false". DISK CODE_ON indicates whether the data in the keyboard hardware register is a DISK CODE. TABLE_ON indicates whether an appropriate translation table for a disk has been loaded in the base or not.
Die Routine beginnt mit Schritt 401, jedesmal wenn ein Hardware-Interrupt auftritt, d. h., jedesmal wenn der Mikropro zessor 16 Daten an den Leitrechner 24 über den seriellen KBD- Ausgang ausgibt. Im Schritt 403 liest der Mikroprozessor 16 Da ten aus dem Tastatur-Hardwareregister in eine Variable DATEN ein. Danach, im Schritt 405, wird der aktuelle Zustand des PLATTENCODE_EIN-Flags überprüft. Wenn die Daten ein Plattencode sind, dann muß die Routine die geeignete Übersetzungstabelle laden. Das geschieht in den Schritten 409 bis 421. Im Schritt 409 wird die Validisierung des PLATTENCODES überprüft. Ein Feh ler wird im Schritt 411 gemeldet, wenn der PLATTENCODE nicht gültig ist, und das TSR wird beim Schritt 451 abgebrochen. Wenn die Daten einen gültigen Plattencode im Schritt 409 enthalten, dann überprüft der Mikroprozessor im Schritt 413 TABELLE_EIN, ob bereits eine Übersetzungstabelle geladen ist. Falls nicht, wird die Übersetzungstabelle für diesen PLATTENCODE im Schritt 417 geladen und TABELLE_EIN wird im Schritt 419 auf "wahr" ge setzt. Wenn im Schritt 413 TABELLE_EIN eine bereits geladene Übersetzungstabelle anzeigt, wird die geladene Tabelle über prüft, um zu sehen, ob es die richtige für PLATTENCODE ist. Falls nicht, wird eine neue Tabelle im Schritt 417 geladen. Sonst wird das Laden der Tabelle übersprungen. Als nächstes wird PLATTENCODE_EIN im Schritt 421 auf "falsch" gesetzt, und die Ausführung der Routine endet mit dem Schritt 451.The routine begins with step 401 each time a hardware interrupt occurs, that is, each time the microprocessor 16 outputs data to the host computer 24 via the KBD serial output. In step 403 , the microprocessor 16 reads data from the keyboard hardware register into a variable DATA. Then, in step 405 , the current state of the DISK CODE_ON flag is checked. If the data is a plate code, then the routine must load the appropriate translation table. This happens in steps 409 to 421 . In step 409 the validation of the PLATE CODE is checked. An error is reported in step 411 if the DISK CODE is not valid and the TSR is canceled in step 451 . If the data contains a valid disk code in step 409 , the microprocessor checks in step 413 TABLE_ON whether a translation table is already loaded. If not, the translation table for that PLATE CODE is loaded in step 417 and TABLE_ON is set to true in step 419 . If, in step 413, TABLE_IN indicates an already loaded translation table, the loaded table is checked to see if it is correct for PLATE CODE. If not, a new table is loaded in step 417 . Otherwise the loading of the table is skipped. Next, PLATE CODE_ON is set to "false" in step 421 and the routine ends with step 451 .
Wenn im Schritt 405 festgestellt wird, daß DATEN keinen gültigen Plattencode enthält, wird im Schritt 429 DATEN über prüft, um festzustellen, ob es ein PLATTENCODE_PRÄFIX ist. Wenn DATEN ein PLATTENCODE_PRÄFIX ist, werden die nächsten empfange nen Daten ein PLATTENCODE sein. In diesem Fall wird PLATTEN CODE_EIN im Schritt 431 auf wahr gesetzt, und die Routine wird im Schritt 451 beendet. Wenn im Schritt 429 festgestellt wird, daß DATEN kein PLATTENCODE_PRÄFIX ist, dann wird der Zustand der TABELLE_EIN im Schritt 433 überprüft. Wenn im Schritt 433 TABELLE_EIN falsch ist, was anzeigt, daß die zugeordnete Tasta turübersetzungstabelle nicht in den Speicher geladen wurde, wird im Schritt 435 ein Fehler gesetzt, und die Routine endet im Schritt 451. Wenn im Schritt 433 TABELLE_EIN wahr ist; dann sind die aktuellen DATEN ein Abtastcode für die zugeordnete Ta belle im Speicher, und der Mikroprozessor übersetzt den Abtast code unter Verwendung der Tastaturübersetzungstabelle im Spei cher. In dem Schritt 437 wird das Ergebnis außerdem in den Ta staturpuffer des Leitrechners 24 geschrieben. Die Ausführung der Routine wird dann im Schritt 451 beendet.If it is determined in step 405 that DATA does not contain a valid disk code, DATA is checked in step 429 to determine if it is a DISK CODE_PREFIX. If DATA is a DISC CODE_PREFIX, the next data received will be a DISC CODE. In this case, DISK CODE_EIN is set to true in step 431 and the routine is ended in step 451 . If it is determined in step 429 that DATA is not a DISC CODE_PREFIX, then the state of TABLE_ON is checked in step 433 . If TABLE_ON is false in step 433 , indicating that the associated keyboard translation table has not been loaded into memory, an error is set in step 435 and the routine ends in step 451 . If TABLE_ON is true in step 433 ; then the current DATA is a scan code for the associated table in memory, and the microprocessor translates the scan code using the keyboard translation table in memory. In step 437 , the result is also written into the keyboard buffer of the host computer 24 . The execution of the routine is then ended in step 451 .
Zu jedem PLATTENCODE gibt es eine andere zugehörige Über setzungstabelle. Jeder Eintrag in einer Plattenübersetzungsta belle korreliert einen Abtastcode mit einer Nachricht, die an ein Ausgabegerät, beispielsweise eine Anzeige oder ein Spei chermittel, wie z. B. einen über ein Anwendungsprogramm zugreif baren Tastaturpuffer, gesendet werden soll. Fig. 6 zeigt die Organisation einer Tastaturübersetzungstabelle in einer mögli chen Ausführung der Erfindung. Die mit einem ABTASTCODE gekop pelte Nachricht wird dadurch gefunden, daß zunächst der ABTAST CODE in der mit 91 bezeichneten Spalte lokalisiert wird. Die zugeordnete Nachricht ist die Nachricht in der mit 92 bezeich neten Spalte und befindet sich in der gleichen Zeile wie der ABTASTCODE. In Fig. 6 ist z. B. die Zahl 3.14159 dem Tastencode "00011" zugeordnet.There is a different associated translation table for each PLATE CODE. Each entry in a disk translation table correlates a scan code with a message sent to an output device, such as a display or storage means, such as a. B. a keyboard buffer accessible via an application program to be sent. Fig. 6 shows the organization of a keyboard translation table in a possible embodiment of the invention. The message coupled with a SCAN CODE is found by first locating the SCAN CODE in the column labeled 91 . The associated message is the message in the column labeled 92 and is on the same line as the SCAN CODE. In Fig. 6 z. B. the number 3.14159 assigned to the key code "00011".
In dem Ausführungsbeispiel, in dem einige der Platten spe ziell zur Unterstützung existierender Anwendungssoftware ausge bildet sind, wie z. B. bei dem oben genannten Microsoft Flugsi mulator, würde für diesen PLATTENCODE eine Übersetzungstabelle für eine spezielle Anwendung geladen. Ein Satz von Überset zungstabellen für beliebte Anwendungen kann anders als bei spä teren anwendungsspezifischen Platten in das Tastatursystem in tegriert sein, oder die spezielle Übersetzungstabelle kann als Softwaretreiber vom Benutzer beim ersten Einbau der neuen an wendungsspezifischen Platte geladen werden.In the embodiment in which some of the plates spe specifically to support existing application software forms are such. B. in the above Microsoft Flugsi mulator, a translation table would be created for this PLATE CODE loaded for a special application. A set of translators Tongue tables for popular applications can be different from late other application-specific plates in the keyboard system tegrated, or the special translation table can be as Software driver from the user when installing the new one for the first time application-specific plate.
In einer anderen möglichen Ausführungsform kann ein Servi ceprogramm vorgesehen sein, um den Benutzern die Erstellung ih rer eigenen Übersetzungstabellen zu ermöglichen.In another possible embodiment, a servi ceprogramm be provided to help users create ih enable your own translation tables.
In noch einer weiteren Ausführungsform würde der Mikropro zessor 16 den ABTASTCODE zur Überprüfung hinsichtlich einiger Spezialtasten auswerten. Wenn der Mikroprozessor 16 feststellt, daß der Benutzer eine dieser Spezialtasten betätigt hat, würde eine zu dieser Taste gehörige vollständige Befehlszeile an den Leitrechner 24 gesendet.In yet another embodiment, microprocessor 16 would evaluate the SCAN CODE to check for some special keys. If the microprocessor 16 determined that the user had pressed one of these special keys, a complete command line associated with that key would be sent to the host computer 24 .
Claims (44)
- a. eine Basis (10), die zur Aufnahme einer oder mehrerer Platten (20) und zur Datenübertragung an die Datenverar beitungseinrichtung (24) geeignet ausgebildet ist;
- b. eine Platte (20) mit einer Vielzahl von Betätigungsele menten (26-29, 32-36) und Schaltern, wobei jedes Betäti gungselement mit wenigstens einem Schalter (15) verbun den ist, von denen jeder in einem von mehreren Zuständen ist, und die Platte außerdem Mittel (21, 53-56) zur Spe zifizierung eines die Identität der Platte bezeichnenden Plattenidentifikationscodes hat, wobei die Basis (10) Mittel (17, 51, 52) zum Empfang des Plattenidentifikati onscodes von der Platte hat;
- c. Mittel (16) zur Erzeugung eines die Identität und den Zustand eines Schalters (15) mit geändertem Zustand an zeigenden Abtastcodes, wobei jeder Schalter wenigstens einen ihm zugeordneten Abtastcode hat; und
- d. Mittel (19, 25) zur Kopplung des Tastatursystems mit der Datenverarbeitungseinrichtung (24), die den Platteniden tifikationscode und die Abtastcodes über einen einzigen Datenweg (18) zur Verfügung stellen.
- a. a base ( 10 ) which is suitable for receiving one or more disks ( 20 ) and for data transmission to the data processing device ( 24 );
- b. a plate (20) having a plurality of Betätigungsele elements (26 - 29, 32-36) and switches, each Actuate the restriction member with at least one switch (15)-jointed is, each of which is in one of several states, and the plate further comprises means (21, 53-56) for Spe zifizierung of the identity of the disk designating disk identifying code, said base (10) means (17, 51, 52) for receiving the onscodes has Plattenidentifikati of the plate;
- c. Means ( 16 ) for generating a scan code indicative of the identity and condition of a switch ( 15 ) with a changed condition, each switch having at least one scan code associated therewith; and
- d. Means ( 19 , 25 ) for coupling the keyboard system to the data processing device ( 24 ) which provide the plate identification code and the scan codes via a single data path ( 18 ).
- a. eine Vielzahl von Betätigungselementen (26-29) und Schaltern (15), wobei jeder Schalter in einem von mehre ren Zuständen ist; und
- b. Mittel (16) zur Erzeugung eines Abtastcodes zur Anzeige der Identität und des Zustandes eines Schalters, dessen Zustand sich geändert hat, wobei jedem Schalter (15) we nigstens ein Abtastcode zugeordnet ist.
- a. a plurality of actuators (26 - 29) and switches (15), each switch in one of several states is ren; and
- b. Means ( 16 ) for generating a scan code to indicate the identity and the state of a switch, the state of which has changed, each switch ( 15 ) being assigned at least one scan code.
- a. daß eine oder mehrere Platten (20) in einer Basis (10) aufgenommen werden und die Basis in eine datenübertra gende Verbindung mit der Datenverarbeitungseinrichtung (24) gebracht wird;
- b. daß eine oder mehrere Platten zur Verfügung gestellt werden, wobei jede Platte eine Vielzahl von Betätigungs elementen und Schaltern hat, jedem Betätigungselement ein oder mehrere Schalter zugeordnet werden, die jeweils in einem von mehreren Zuständen sind, jede Platte außer dem den Zustand einer Platte anzeigende Plattenidentifi kationscodes erzeugt, und die Basis den Plattenidentifi kationscode von den Platten empfängt;
- c. daß ein Abtastcode erzeugt wird, der die Identität und den Zustand eines Schalters mit geändertem Zustand an zeigt, wobei jedem Schalter wenigstens ein Abtastcode zugeordnet wird; und d. daß die Plattenidentifikationscodes und die Abtastcodes über einen einzigen Datenweg der Datenverarbeitungsein richtung zur Verfügung gestellt werden.
- a. that one or more plates ( 20 ) are received in a base ( 10 ) and the base is brought into a data-transmitting connection with the data processing device ( 24 );
- b. that one or more plates are provided, each plate having a plurality of actuating elements and switches, each actuating element being assigned one or more switches, each in one of several states, each plate except the plate identifying the state of a plate generated cation codes, and the base receives the plate identification code from the plates;
- c. that a scan code is generated which indicates the identity and state of a switch with a changed state, each switch being assigned at least one scan code; and d. that the disk identification codes and the scan codes are provided via a single data path of the data processing device.
- a. daß eine Basis zur Verfügung gestellt wird, die eine oder mehrere Platten aufnimmt und Daten an die Datenein richtung überträgt;
- b. daß eine oder mehrere Platten zur Verfügung gestellt werden, wobei jede Platte eine Vielzahl von Betätigungs elementen und Schaltern hat, jedem Betätigungselement ein oder mehrere Schalter zugeordnet werden, die jeweils in einem von mehreren Zuständen sind, jede Platte außer dem den Zustand einer Platte anzeigende Plattenidentifi kationscodes erzeugt, und die Basis die Plattenidentifi kationscodes von den Platten empfängt;
- c. daß ein Abtastcode erzeugt wird, der die Identität und den Zustand eines Schalters mit geändertem Zustand an zeigt, wobei dem Schalter wenigstens ein Abtastcode zu geordnet wird;
- d. daß ein bestimmter Code zur Verfügung gestellt wird, der mit einem Schalter in einer oder mehreren Platten nicht identifizierbar ist, wobei der bestimmte Code das Vor handensein eines Plattenidentifikationscodes anzeigt;
- e. ein Plattenidentifikationscode zur Verfügung gestellt wird; und
- f. ein Abtastcode zur Verfügung gestellt wird.
- a. that a base is provided which receives one or more disks and transfers data to the data device;
- b. that one or more plates are provided, each plate having a plurality of actuating elements and switches, each actuating element being assigned one or more switches, each in one of several states, each plate except the plate identifying the state of a plate generated cation codes, and the base receives the plate identification codes from the plates;
- c. that a scan code is generated which indicates the identity and state of a switch with a changed state, the switch being assigned at least one scan code;
- d. providing a particular code that is not identifiable by a switch in one or more disks, the particular code indicating the presence of a disk identification code;
- e. a disk identification code is provided; and
- f. a scan code is provided.
- a. eine Basis (10), die zur Aufnahme einer oder mehrerer Platten (20) und zur Datenübertragung an die Datenverar beitungseinrichtung (24) geeignet ausgebildet ist;
- b. eine erste Platte (20) mit einer ersten Vielzahl von Be tätigungselementen und Schaltern und eine zweite Platte mit einer zweiten Vielzahl von Betätigungselementen (26-29; 32-36) und Schaltern, wobei jedem Betätigungselement ein oder mehrere Schalter auf der jeweiligen Platte zu geordnet sind, wobei jeder Schalter in einem von mehre ren Zuständen ist, die erste Platte zusätzlich Mittel zur Spezifizierung eines die Identität der ersten Platte anzeigenden Plattenidentifikationsuntercodes hat, die zweite Platte zusätzlich Mittel zum Empfang des ersten Plattenidentifikationsuntercodes und zur Spezifikation eines die Identität der zweiten Platte anzeigenden zwei ten Plattenidentifikationsuntercodes hat, wobei die Ba sis (17, 51, 52) Mittel zum Empfang der ersten und zwei ten Plattenidentifikationsuntercodes von der zweiten Platte hat;
- c. Mittel (16) zur Erzeugung eines die Identität und den Zustand eines Schalters (15) mit geändertem Zustand an zeigenden Abtastcodes, wobei jedem Schalter wenigstens ein Abtastcode zugeordnet ist; und
- d. Mittel (19, 25) zur Kopplung des Tastatursystems an die Datenverarbeitungseinrichtung (24), wobei die Mittel zur Kopplung die ersten und zweiten Plattenidentifikations untercodes und die Abtastcodes über einen einzigen Da tenweg (18) zur Verfügung stellen.
- a. a base ( 10 ) which is suitable for receiving one or more disks ( 20 ) and for data transmission to the data processing device ( 24 );
- b. a first plate (20) tätigungselementen with a first plurality of Be and switches and a second plate having a second plurality of actuators (26 - 29; 32-36) and switches, wherein each actuating element, one or more switches on the respective plate to be sorted wherein each switch is in one of several states, the first plate additionally has means for specifying a plate identification subcode indicating the identity of the first plate, the second plate additionally has means for receiving the first plate identification subcode and for specifying one indicating the identity of the second plate has second plate identification subcodes, the base ( 17 , 51 , 52 ) having means for receiving the first and second plate identification subcodes from the second plate;
- c. Means ( 16 ) for generating a scan code indicating the identity and state of a switch ( 15 ) with a changed state, each switch being assigned at least one scan code; and
- d. Means ( 19 , 25 ) for coupling the keyboard system to the data processing device ( 24 ), the means for coupling providing the first and second disk identification subcodes and the scanning codes via a single data path ( 18 ).
- a. eine zur Aufnahme einer oder mehrerer Platten geeignete Basis zur Verfügung gestellt und eine Datenübertragungs verbindung zwischen Basis und Datenverarbeitungseinrich tung hergestellt wird;
- b. eine erste und eine zweite Platte zur Verfügung gestellt werden, wobei jede Platte eine Vielzahl von Betätigungs elementen und Schaltern hat, wobei jedem Betätigungsele ment ein oder mehrere Schalter zugeordnet sind, jeder Schalter in einem aus einer Vielzahl von Zuständen ist, die erste Platte außerdem Mittel zur Spezifizierung ei nes die Identität der ersten Platte anzeigenden ersten Plattenidentifikationsuntercodes hat, die zweite Platte außerdem Mittel zum Empfang des ersten Plattenidentifi kationsuntercodes und zur Spezifizierung eines die Iden tität der zweiten Platte anzeigenden zweiten Platten identifikationscodes hat, wobei die Basis Mittel zum Empfang der ersten und zweiten Plattenidentifikationsun tercodes von der zweiten Platte hat;
- c. ein Abtastcode erzeugt wird, der die Identität und den Zustand eines Schalters mit geändertem Zustand anzeigt, wobei dem Schalter wenigstens ein Abtastcode zugeordnet wird; und
- d. die ersten und zweiten Plattenidentifikationscodes und die Abtastcodes über einen einzigen Datenweg zur Verfü gung gestellt werden.
- a. a base suitable for receiving one or more disks is provided and a data transmission connection is established between the base and the data processing device;
- b. a first and a second plate are provided, each plate having a plurality of actuators and switches, each actuator being associated with one or more switches, each switch being in one of a plurality of states, the first plate also means for specifying a first disk identification subcode indicating the identity of the first disk, the second disk also has means for receiving the first disk identification subcode and for specifying a second disk identification code indicating the identity of the second disk, the base having means for receiving the first and second plate identification sub codes from the second plate;
- c. generating a scan code indicating the identity and status of a switch with a changed state, the switch being assigned at least one scan code; and
- d. the first and second disk identification codes and the scan codes are provided over a single data path.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US93837892A | 1992-08-31 | 1992-08-31 |
Publications (1)
Publication Number | Publication Date |
---|---|
DE4329148A1 true DE4329148A1 (en) | 1994-03-03 |
Family
ID=25471331
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19934329148 Withdrawn DE4329148A1 (en) | 1992-08-31 | 1993-08-30 | Reconfigurable keyboard system for a data processing device |
Country Status (4)
Country | Link |
---|---|
JP (1) | JPH06175763A (en) |
DE (1) | DE4329148A1 (en) |
FR (1) | FR2695222A1 (en) |
GB (1) | GB2270178A (en) |
Cited By (2)
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 |
DE102019006024A1 (en) * | 2019-02-01 | 2020-08-06 | Maurice Manuel Ahlat | Adjustable keyboard |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
-
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
Cited By (2)
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 |
DE102019006024A1 (en) * | 2019-02-01 | 2020-08-06 | Maurice Manuel Ahlat | Adjustable keyboard |
Also Published As
Publication number | Publication date |
---|---|
JPH06175763A (en) | 1994-06-24 |
GB9313581D0 (en) | 1993-08-18 |
FR2695222A1 (en) | 1994-03-04 |
GB2270178A (en) | 1994-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69030096T2 (en) | INTERACTIVE AUDIO-VISUAL DEVICE | |
DE69518681T2 (en) | Connection of a keyboard and a touch-sensitive tablet in a two-part housing | |
US5081602A (en) | Computer simulator for electrical connectors | |
DE102019122932A1 (en) | TECHNIQUES FOR CONNECTING AN INPUT DEVICE TO A TOUCHSCREEN COMPUTING DEVICE | |
DE112018005206T5 (en) | Touch-sensitive user interface including configurable virtual widgets | |
DE3413114A1 (en) | INPUT AND CONTROL UNIT FOR A DIGITAL COMPUTER SYSTEM | |
US4727478A (en) | Computer apparatus and remote keyboards therefor | |
DE3910863A1 (en) | METHOD AND KEYBOARD ENTRY DEVICE FOR ENTERING DIGITAL DATA | |
DE10393859T5 (en) | Decoupled Hardware Configuration Manager | |
US5513310A (en) | Method for selecting a constructed element of a drawing to generate similar elements | |
DE10351018A1 (en) | Method and device for entering data | |
Attneave | Stochastic composition processes | |
DE3844036A1 (en) | SYSTEM FOR DEFINING TEST VECTORS USING A MASK CONCEPT | |
DE1941671B2 (en) | Programmable keypad | |
DE3045193C2 (en) | Input device for an electronic musical instrument | |
DE4329148A1 (en) | Reconfigurable keyboard system for a data processing device | |
JPS5963622A (en) | Touch response unit | |
DE3912225A1 (en) | DEVICE FOR ENTERING SYMBOLS, ALPHANUMERIC CHARACTERS AND OPERATING COMMANDS, ESPECIALLY FOR ELECTRONIC COMPUTERS AND SIMILAR | |
EP1352359A1 (en) | Interface for generating process and co-ordination inputs | |
DE1799012B1 (en) | Register device for facilitating the change of partial programs and partial program sections in an electronic computer | |
CH646807A5 (en) | ELECTRONIC MUSIC INSTRUMENT WITH REGISTRATION DEVICE. | |
DE202009009886U1 (en) | Touchscreen for controlling devices or machines | |
DE102005041323B4 (en) | Quick entry system for mouse | |
De Schutter | Nodus: A user friendly neuron simulator for macintosh computers | |
Charlton et al. | A Microcomputer Based Logic Signal Generator And Recorder/Analyzer For A Beginning Digital Electronics Laboratory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8139 | Disposal/non-payment of the annual fee |