DE102018119294B4 - Automatisches Tauschen der Reihenfolge zum Finden einer Taste um Abtastkodierungen zu erzeugen - Google Patents
Automatisches Tauschen der Reihenfolge zum Finden einer Taste um Abtastkodierungen zu erzeugen Download PDFInfo
- Publication number
- DE102018119294B4 DE102018119294B4 DE102018119294.0A DE102018119294A DE102018119294B4 DE 102018119294 B4 DE102018119294 B4 DE 102018119294B4 DE 102018119294 A DE102018119294 A DE 102018119294A DE 102018119294 B4 DE102018119294 B4 DE 102018119294B4
- Authority
- DE
- Germany
- Prior art keywords
- key
- pressed
- scan
- last
- array
- 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.)
- Active
Links
- 239000011159 matrix material Substances 0.000 claims abstract description 36
- 238000000034 method Methods 0.000 claims description 24
- 238000003491 array Methods 0.000 claims description 4
- 238000004891 communication Methods 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000000994 depressogenic effect Effects 0.000 description 5
- 230000001174 ascending effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
Images
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/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
-
- 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/0227—Cooperation and interconnection of the input arrangement with other functional units of a computer
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M11/00—Coding in connection with keyboards or like devices, i.e. coding of the position of operated keys
- H03M11/20—Dynamic coding, i.e. by key scanning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Input From Keyboards Or The Like (AREA)
Abstract
Eingebettete Steuerung (22) in einem Tastatursystem (20), das eine Tastaturmatrix (21) aufweist, wobei die eingebettete Steuerung (22) konfiguriert ist zum:
Bestimmen, ob nur eine einzelne Taste gedrückt wird für jeden von einer Mehrzahl von Abtastzyklen der Tastaturmatrix (21);
Erzeugen einer jeweiligen Anordnung in einer zweidimensionalen Anordnung für jede bestimmte einzeln gedrückte Taste, wobei jede jeweilige Anordnung erzeugt wird gemäß:
[Letzte_Taste] [1...n];
[1...n] [Letzte_Taste];
[Letzte_Taste] [Letzte_Taste];
wobei Letzte-Taste die einzelne Taste ist, die in einem gegebenen Abtastzyklus gedrückt wird und n eine Anzahl von Spalten und eine Anzahl von Zeilen in der zweidimensionalen Anordnung ist;
Bestimmen, ob eine M-Anzahl von mehreren Tasten während eines der Abtastzyklen gedrückt wird für jede von der Mehrzahl von Abtastzyklen der Tastaturmatrix;
Berechnen einer Summe einer Anordnung [Taste_m] [1 ...n] für jede Taste_m, die von den mehreren Tasten gedrückt wird gemäß
Anordnen aller SUMME Taste_m in einer Summe numerischer Reihenfolge; und
Senden von Abtastkodierungen für jede der Taste_m, die während der einzelnen Abtastkodierung gedrückt werden in einer sendenden Reihenfolge gemäß der Summe numerischer Reihenfolge.
Bestimmen, ob nur eine einzelne Taste gedrückt wird für jeden von einer Mehrzahl von Abtastzyklen der Tastaturmatrix (21);
Erzeugen einer jeweiligen Anordnung in einer zweidimensionalen Anordnung für jede bestimmte einzeln gedrückte Taste, wobei jede jeweilige Anordnung erzeugt wird gemäß:
[Letzte_Taste] [1...n];
[1...n] [Letzte_Taste];
[Letzte_Taste] [Letzte_Taste];
wobei Letzte-Taste die einzelne Taste ist, die in einem gegebenen Abtastzyklus gedrückt wird und n eine Anzahl von Spalten und eine Anzahl von Zeilen in der zweidimensionalen Anordnung ist;
Bestimmen, ob eine M-Anzahl von mehreren Tasten während eines der Abtastzyklen gedrückt wird für jede von der Mehrzahl von Abtastzyklen der Tastaturmatrix;
Berechnen einer Summe einer Anordnung [Taste_m] [1 ...n] für jede Taste_m, die von den mehreren Tasten gedrückt wird gemäß
Anordnen aller SUMME Taste_m in einer Summe numerischer Reihenfolge; und
Senden von Abtastkodierungen für jede der Taste_m, die während der einzelnen Abtastkodierung gedrückt werden in einer sendenden Reihenfolge gemäß der Summe numerischer Reihenfolge.
Description
- HINTERGRUND DER ERFINDUNG
- Die vorliegende Erfindung betrifft im Allgemeinen Tastaturen und insbesondere Vorrichtungen und Verfahren zum Ordnen der Sendung von Abtastkodierungen in Tastaturen.
- Computertastaturen - so wie für Laptopcomputer, Notebookcomputer, Desktopcomputer, Mobiltelefone - können Steuerungsschaltungen enthalten, um Tastendrücke in Abtastkodierungen umzuwandeln. Eine Abtastkodierung sind Daten, die Computertastaturen an einen Computer senden, um zu berichten, welche Taste gedrückt wurde. Eine Zahl oder Sequenz von Zahlen ist jeder Taste auf der Tastatur zugeordnet. Tastenschalter sind durch eine gedruckte Leiterplatte in einer elektrischen X-Y-Matrix verbunden, wobei eine Spannung sequentiell an den Y-Leitungen bereitgestellt wird und, wenn eine Taste gedrückt wird, diese sequentiell durch Abtasten der X-Leitungen detektiert wird, oder umgekehrt.
- Beim Tippen wird meist nur eine Taste nach der anderen gedrückt und dann losgelassen, bevor die nächste Taste gedrückt wird. Jedoch können in einigen Beispielen mehrere Tasten gleichzeitig oder in sehr schneller Abfolge gedrückt werden. Dies tritt zum Beispiel häufig beim Spielen auf.
1A bildet eine herkömmliche Tastaturmatrix 10 ab. Treib- oder Eingabeleitungen sind die Spalten, während Detektions- oder Leseleitungen die Zeilen sind. Eine Matrixabtastung kann bei A1 starten und zu G7 fortfahren oder umgekehrt, jedoch nicht beides. Während der Verwendung können zum Beispiel Tasten - C4 und F5 gleichzeitig oder in sehr schneller Abfolge gedrückt werden. Beim Empfang von Tastendrücksignalen von der Matrix 10 kann ein in die Tastatur integrierter Schaltkreis 11 (z.B. eine eingebettete Steuerung (EC)) Abtastkodierungen in einer bestimmten Reihenfolge an die CPU 12 senden.
- In
1A werden die Abtastkodierungen in der Reihenfolge C4, F5 gesendet werden, wenn die Matrixabtastung bei A1 startet und zu G7 fortfährt. Wenn hingegen die Matrixabtastung bei G7 startet und zu A1 fortfährt, werden die Abtastkodierungen in der Reihenfolge F5, C4 gesendet werden. Welche auch immer die Abtastrichtung ist, die Richtung steht fest. Deshalb steht die Reihenfolge zum Senden der Abtastkodierungen fest. Diese feste Reihenfolge kann jedoch eine falsche Reihenfolge für einen gegebenen Umstand sein. Mit anderen Worten können die Tasten in der Reihenfolge C4, F5 gedrückt worden sein, jedoch können die Abtastkodierungen aufgrund der Abtastrichtung in der Reihenfolge F5, C4 gesendet werden. -
1B bildet ein anderes potentielles Problem in der Tastaturmatrix 10 ab, wenn zwei oder mehr Tasten in derselben Treibleitung sequentiell während eines einzelnen Abtastzyklus gedrückt werden. Ein Abtastzyklus ist ein Zeitabschnitt währenddessen jede Treibleitung einmal nacheinander abgetastet wird. Dementsprechend kann ein Abtastzyklus bei Treibleitung 1 starten und bei Treibleitung 7 enden. Als ein weiteres Beispiel kann es 0,5 Millisekunden dauern um jede Treibleitung abzutasten. - Deshalb wird in
1B während einer beispielhaften Verwendung von Tastaturmatrix 10 Treibleitung 1 von A nach G abgetastet und dann wird 0,5 Millisekunden später Treibleitung 2 von A nach G abgetastet und so weiter. Wenn zum Beispiel während der Abtastung von Treibleitung 7 C6 gedrückt wird. Wenn Treibleitungen 1-4 nach Treibleitung 7 abgetastet werden, sind 2,0 Millisekunden vergangen seitdem Treibleitung 7 abgetastet wurde. Während der Abtastung von Treibleitung 5 wird zum Beispiel D6 in dem einzelnen Abtastzyklus gedrückt, der bei Treibleitung 7 gestartet ist. Wenn Treibleitung 6 abgetastet wird, bestimmt die Matrix 10, dass C6 und D6 gedrückt wurden. Da jedoch die Tasten während desselben Abtastzyklus und in derselben Treibleitung gedrückt wurden, kann die Matrix 10 nicht erkennen, ob C6 oder D6 zuerst gedrückt wurde. Dementsprechend können die Abtastkodierungen falsch als D6, C6 anstatt C6, D6 gesendet werden. Dies resultiert aus einer festen Reihenfolge zum Senden von Abtastkodierungen. - Wie gesehen werden kann gibt es ein Bedürfnis für verbesserte Vorrichtungen und Verfahren, um das Senden von Abtastkodierungen in Tastaturen zu ordnen.
- Aus der
JP H02- 148 319 A - Aus der
JP H02- 149 437 A - Aus der
JP S63- 237 118 A - Es ist Aufgabe der vorliegenden Erfindung, ein verbessertes Senden von Abtastkodierungen in einem Tastatursystem, das eine Tastaturmatrix aufweist, zu ermöglichen.
- Diese Aufgabe wird durch die Gegenstände des Hauptanspruchs und der nebengeordneten Ansprüche gelöst. Bevorzugte Ausführungsformen der vorliegenden Erfindung sind Gegenstand der Unteransprüche.
- ZUSAMMENFASSUNG DER ERFINDUNG
- In einem Aspekt der vorliegenden Erfindung umfasst ein Tastatursystem eine Tastaturmatrix; und eine eingebettete Steuerung, die in Kommunikation mit der Tastaturmatrix steht, wobei die eingebettete Steuerung konfiguriert ist zum: Bestimmen, ob in einem einzelnen Abtastzyklus der Tastaturmatrix mehrere Tasten gedrückt wurden oder nur eine einzelne Taste gedrückt wurde; Lernen einer Reihenfolge von einzelnen gedrückten Tasten in einer Mehrzahl von Abtastzyklen, wenn nur eine einzelne Taste gedrückt wurde; und Erzeugen einer Reihenfolge von den gedrückten mehreren Tasten basierend auf der erlernten Reihenfolge von einzeln gedrückten Tasten, wenn mehrere Tasten gedrückt wurden.
- In einem anderen Aspekt der vorliegenden Erfindung weist eine eingebettete Steuerung in einem Tastatursystem eine Tastaturmatrix auf, wobei die eingebettete Steuerung konfiguriert ist zum:
- Bestimmen, ob nur eine einzelne Taste gedrückt wird für jeden von einer Mehrzahl von Abtastzyklen der Tastaturmatrix; Erzeugen einer jeweiligen Anordnung (d.h. eines Arrays) in einer zweidimensionalen Anordnung für jede bestimmte einzeln gedrückte Taste, wobei jede jeweilige Anordnung erzeugt wird gemäß: [Letzte_Taste] [1...n]; [1...n] [Letzte_Taste]; [Letzte_Taste] [Letzte_Taste]; wobei Letzte-Taste die einzelne Taste ist, die in einem gegebenen Abtastzyklus gedrückt wird und n eine Anzahl von Spalten und eine Anzahl von Zeilen in der zweidimensionalen Anordnung ist; Bestimmen, ob eine M-Anzahl von mehreren Tasten während eines der Abtastzyklen gedrückt wird für jede von der Mehrzahl von Abtastzyklen der Tastaturmatrix; Berechnen einer Summe einer Anordnung [Taste_m] [1 ...M] für jede Taste_m, die von den mehreren Tasten gedrückt wird; Anordnen aller SUMME Taste_m in einer Summe numerischer Reihenfolge; und Senden von Abtastkodierungen für jede der Taste_m, die während der einzelnen Abtastkodierung gedrückt werden in einer sendenden Reihenfolge gemäß der Summe numerischer Reihenfolge.
- In einem weiteren Aspekt der vorliegenden Erfindung umfasst ein Verfahren zum Senden von Abtastkodierungen in einem System, das eine Tastaturmatrix aufweist, wenn nur eine einzelne Taste während jedem von einer Mehrzahl von Abtastzyklen der Tastaturmatrix gedrückt wird, dann wird für jede einzeln gedrückte Taste durchgeführt: Setzen einer ersten Anordnung von [Letzte_Taste] [1 ...n] auf einen ersten numerischen Wert; Setzen einer zweiten Anordnung von [1 ...n] [Letzte_Taste] auf einen zweiten numerischen Wert; und Setzen einer dritten Anordnung von [Letzte_Taste] [Letzte_Taste] auf einen dritten numerischen Wert; wobei die Letzte_Taste die einzeln gedrückte Taste in einem gegebenen Abtastzyklus ist; wobei n eine Anzahl von Spalten in einer erzeugten Anordnung ist; und wenn mehrere Tasten in einem einzelnen Abtastzyklus gedrückt werden, dann wird für jede gedrückte Taste_m, wobei M eine Gesamtzahl von gedrückten Taste_m ist, durchgeführt: Berechnen einer Summe von einer Anordnung [Taste_m] [1...M]; Anordnen der Summen der Anordnungen in einer numerisch absteigenden Reihenfolge; Senden von Abtastkodierungen für jede Taste_m in der numerisch absteigenden Reihenfolge.
- Diese und andere Merkmale, Aspekte und Vorteile der vorliegenden Erfindung werden besser verstanden werden können unter Bezugnahme auf die folgenden Zeichnungen, Beschreibung und Ansprüche.
- Figurenliste
-
-
1A ist ein schematisches Diagramm eines Tastatursystems gemäß dem Stand der Technik; -
1B ist ein schematisches Diagramm einer Tastaturmatrix gemäß dem Stand der Technik; -
2 ist ein schematisches Diagramm eines Tastatursystems in Übereinstimmung mit einer beispielhaften Ausführungsform der vorliegenden Erfindung; -
3A-3C ist eine Lernabfolge von Tastenanordnungen in Übereinstimmung mit einer beispielhaften Ausführungsform der vorliegenden Erfindung; -
4A-4B sind Tastenanordnungen nach dem Lernen, wenn mehrere Tasten gleichzeitig gedrückt werden in Übereinstimmung mit einer beispielhaften Ausführungsform der vorliegenden Erfindung; -
5 ist ein Flussdiagramm eines Verfahrens in Übereinstimmung mit einer weiteren beispielhaften Ausführungsform der vorliegenden Erfindung; -
6 ist ein Flussdiagramm eines beispielhaften Verfahrens der vorliegenden Erfindung. - DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
- Die folgende detaillierte Beschreibung ist eine der besten derzeit in Betracht gezogenen Ausführungsformen der Erfindung. Die Beschreibung ist nicht einschränkend zu verstehen, sondern dient lediglich dem Zweck der Illustration der allgemeinen Prinzipien der Erfindung, da der Umfang der Erfindung am besten durch die angehängten Ansprüche definiert wird.
- Verschiedene erfinderische Merkmale sind unten beschrieben, von denen jedes unabhängig voneinander oder in Kombination mit anderen Merkmalen verwendet werden kann. Jedoch kann jedes einzelne erfinderische Merkmal nicht jedes der oben diskutierten Probleme adressieren oder kann nur eines von dem oben adressierten Problem adressieren. Weiter kann eines oder mehrere der oben diskutierten Probleme nicht vollständig von jedem der unten beschriebenen Merkmale adressiert werden.
- Breit gesprochen stellt die vorliegende Erfindung Vorrichtung und Verfahren zum Ordnen der Sendung von Abtastkodierungen in einem Tastatursystem bereit, insbesondere wenn mehrere Tasten gleichzeitig gedrückt werden oder schnell nacheinander gedrückt werden. In der vorliegenden Erfindung ist die Reihenfolge nicht fest. Stattdessen lernt die vorliegende Erfindung eine Reihenfolge von Abtastkodierungen, wenn einzelne Tasten nacheinander gedrückt werden, wobei eine Taste in einem Abtastzyklus gedrückt wird. Jede Anzahl von Tasten kann der erlernten Reihenfolge unterliegen. Später, wenn diese einzelnen Tasten gleichzeitig oder sehr schnell nacheinander gedrückt werden, sendet die vorliegende Erfindung Abtastkodierungen basierend auf der erlernten Reihenfolge.
- In der vorliegenden Erfindung repräsentiert die erlernte Reihenfolge eine Reihenfolge, wie ein spezifischer Benutzer eine Gruppe von Tasten drückt. Dadurch werden, wenn ein spezifischer Benutzer die Gruppe von Tasten drückt, Abtastkodierungen in einer Reihenfolge gesendet, die besser zu der Reihenfolge passt, die von dem spezifischen Benutzer erwartet wird. Dementsprechend kann sich in der vorliegenden Erfindung die erlernte Reihenfolge für eine Gruppe von Tasten von Benutzer zu Benutzer ändern. Die erlernte Reihenfolge kann sich auch mit der Zeit ändern und deshalb kann sich auch eine Abtastkodierungsreihenfolge für jede gegebene Menge von Tasten mit der Zeit ändern.
-
2 ist ein schematisches Blockdiagramm eines Tastatursystems 20 gemäß einer Ausführungsform der vorliegenden Erfindung. Das System 20 kann eine Tastaturmatrix 21 enthalten, die ähnlich zu der allgemeinen Konstruktion der Matrix 10 ist, wie sie in1A-1B gezeigt ist. Eine eingebettete Steuerung (EC) 22 kann eine CPU 22a und einen Speicher 22b enthalten. Die EC 22 kann weiter eine Tastatur-Abtastschnittstelle 22c enthalten, die durch Pins der Tastenabtasteingabe (KSI) und der Tastenabtastausgabe (KSO) mit der Tastaturmatrix 21 kommunizieren kann. - Dadurch wird der EC 22 ermöglicht, die Treibleitungen abzufragen oder abzutasten und Leitungen in der Matrix 21 zu lesen und dadurch zu identifizieren, welche Taste gedrückt wird. Wenn mehrere Tasten in demselben Abtastzyklus gedrückt werden, kann die EC 22 die Reihenfolge zum Senden der Abtastkodierungen bestimmen, wie unten beschrieben. Eine herkömmliche 8042-emulierte Tastatursteuerung 22d kann 8042-Verhalten wie aus dem Stand der Technik bekannt emulieren, um die geordneten Abtastkodierungen über einen Niedrigpinzahl-(LPC)-Bus an eine herkömmliche Plattformsteuerungszentrale (PCH) 23 zu senden und letztendlich anzuzeigen.
- In
3A-3C kann die eingebettete Steuerung 22 gemäß einer beispielhaften Ausführungsform konfiguriert sein, um eine Reihenfolge von einzeln gedrückten Tasten in einer Gruppe/Menge von gedrückten Tasten zu lernen.3A-3C bilden drei Tasten ab, die erlernt werden als dass sie eine bestimmte Reihenfolge aufweisen. - In
3A wird als ein Beispiel in einem Abtastzyklus nur eine Taste, so wie Taste 6 gedrückt. Das Drücken der Taste 6 ist in einer erzeugten zweidimensionalen Tastenanordnung (d.h. einem zweidimensionalen Tasten-Array) durch die Verwendung von drei Anordnungen abgebildet. Die zweidimensionale Anordnung kann eine n-Zahl von Spalten und n-Zahl von Zeilen aufweisen. Eine Anordnung ist [6] [1...n] und auf „0“ gesetzt. Eine andere Anordnung ist [1...n] [6] und auf „1“ gesetzt. Eine dritte Anordnung ist Null oder reserviert und auf „-1“ gesetzt. Eine Letzte_Taste ist dann auf Taste 6 gesetzt. - In
3B wird als ein Beispiel in einem nächsten, nachfolgenden Abtastzyklus nur eine Taste, so wie Taste 4 gedrückt. Das Drücken der Taste 4 ist in der zweidimensionalen Tastenanordnung durch die Verwendung von drei Anordnungen abgebildet. Eine Anordnung ist [4] [1...n] und auf „0“ gesetzt. Eine andere Anordnung ist [1...n] [4] und auf „1“ gesetzt. Die dritte Anordnung ist Null oder reserviert und auf „-1“ gesetzt. Eine Letzte_Taste ist dann auf Taste 4 gesetzt. - In
3C wird als ein Beispiel in einem nächsten, nachfolgenden Abtastzyklus nur eine Taste, so wie Taste 2 gedrückt. Das Drücken der Taste 2 ist in der zweidimensionalen Tastenanordnung durch die Verwendung von zwei Anordnungen abgebildet. Eine Anordnung ist auf [2] [1...n] = 0 gesetzt. Eine andere Anordnung ist auf [1...n] [2] = 1 gesetzt. Die „-1“ in der Anordnung verbleibt als Null oder reserviert. Eine Letzte_Taste ist dann auf Taste 2 gesetzt. - Obwohl das vorgehende Beispiel eine verschiedene einzeln gedrückte Taste für jeden Abtastzyklus abbildet, zieht die vorliegende Erfindung in Betracht, dass eine oder mehrere einzelne Tasten in den verschiedenen Abtastzyklen dieselben sein können. Weiter können, obwohl die jeweiligen Anordnungen für die drei Tasten auf die numerischen Werte 1, 0 und -1 gesetzt sind, andere Numeriken verwendet werden.
-
4A und4B repräsentieren beispielhafte Situationen, wobei zwei und drei der drei erlernten Tasten von3A-3B gleichzeitig gedrückt werden. - In
4A werden als ein Beispiel zwei Tasten - Taste 4 und Taste 2 - gleichzeitig in demselben Abtastzyklus gedrückt. -
-
- Da die Summe der Anordnung [4] [1...n] größer ist als die Summe der Anordnung [2] [1 ...n] wird bestimmt, dass die Reihenfolge der Tasten Taste 4, Taste 2 sein sollte (und nicht Taste 2, Taste 4). Dadurch können die Abtastkodierungen in der Reihenfolge Taste 4, Taste 2 gesendet werden.
- Alternativ kann die Abtastkodierungsreihenfolge durch Prüfen des Wertes von Anordnung [4] [2] und des Werte von Anordnung [2] [4] bestimmt werden. Der Wert von Anordnung [4] [2] ist 1; deshalb kann bestimmt werden, dass Taste 4 Taste 2 vorausgehen sollte. Der Wert von Anordnung [2] [4] ist 0; deshalb kann bestimmt werden, dass Taste 2 Taste 4 folgen sollte.
- In
5 werden als ein Beispiel drei Tasten - Taste 4, Taste 2 und Taste 6 - in demselben Abtastzyklus gedrückt. -
-
-
- Da die Summe der Anordnung [6] [1...n] größer ist als die Summe der Anordnung [4] [1...n], die größer ist als die Summe der Anordnung [2] [1...n], wird bestimmt, dass die Reihenfolge der Tasten Taste 6, Taste 4, Taste 2 sein sollte (und nicht Taste 2, Taste 4, Taste 6 als ein Beispiel). Dadurch können die Abtastkodierungen in der Reihenfolge Taste 6, Taste 4, Taste 2 gesendet werden.
- Obwohl das vorgenannte Beispiel abbildet, dass die erlernten einzelnen Tasten die gleichen sind, wie die gedrückten mehreren Tasten, zieht die vorliegende Erfindung in Betracht, dass mehrere Tasten im Allgemeinen unter den erlernten einzeln gedrückten Tasten sein können. Dementsprechend können die erlernten Tasten eine Gesamtzahl von 4 Tasten enthalten während die mehrfach gedrückten Tasten nur 3 der 4 erlernten Tasten enthalten können.
- Obwohl das vorgenannte Beispiel die Summen der Anordnungen abbildet als dass diese in absteigender Reihenfolge angeordnet sind, zieht die vorliegende Erfindung in Betracht, dass die Summen der Anordnungen in aufsteigender Reihenfolge angeordnet sein können.
- Wie aus dem Vorstehenden hervorgeht kann das Tastatursystem 20 und insbesondere die eingebettete Steuerung 22 konfiguriert sein, um die Schritte eines Lernverfahrens durchzuführen und basierend auf dem Lernen eine Reihenfolge zum Senden von Abtastkodierungen zu bestimmen, wenn mehrere Tasten während eines einzelnen Abtastzyklus gedrückt werden.
-
6 ist ein Flussdiagramm eines beispielhaften Verfahrens 60 gemäß der vorliegenden Erfindung. In einer Ausführungsform verallgemeinert das Verfahren 60 die spezifischen Beispiele, die in den3A-3C ,4A-4B und5 abgebildet sind. - In einem Schritt 61 kann bestimmt werden, ob ein Abtasten einer Tastaturmatrix starten soll. Wenn „nein“ kann das Verfahren zurückkehren zu Schritt 61. Wenn „ja“ kann ein Schritt 62 einen einzelnen Abtastzyklus einleiten.
- In einem Schritt 63 kann bestimmt werden, ob zumindest eine Taste gedrückt wurde. Wenn „nein“ kann das Verfahren 60 zu einem Schritt 64 fortfahren. Wenn „ja“ kann das Verfahren zu einem Schritt 65 fortfahren.
- In dem Schritt 64 kann bestimmt werden, ob mit einem nächsten Abtastzyklus fortgefahren werden soll. Wenn „ja“ kehrt das Verfahren 60 zu dem Schritt 62 zurück. Wenn „nein“ endet das Verfahren 60.
- In dem Schritt 65 kann bestimmt werden, ob mehrere Tasten (z.B. eine Gruppe von Tasten) in dem einzelnen Abtastzyklus gedrückt wurden. Wenn „nein“ kann das Verfahren 60 durch eine Reihe von Schritten (66-68) fortfahren, um eine Reihenfolge von einzelnen gedrückten Tasten (oder Abtastkodierungen) in einer Mehrzahl von Abtastzyklen mit nur einer Taste pro einzelnem Abtastzyklus zu lernen. Wenn „ja“ kann das Verfahren 60 durch eine Reihe von Schritten (70-73) fortfahren, um eine Reihenfolge von gleichzeitig gedrückten (oder schnell nacheinander gedrückten) Tasten (oder Abtastkodierungen) in dem einzelnen Abtastzyklus zu erzeugen, wobei die erzeugte Reihenfolge auf der erlernten Reihenfolge von einzelnen gedrückten Tasten in einer Mehrzahl von Abtastzyklen basiert.
- In den Lernschritten kann der Schritt 66 bestimmen, welche einzelne Taste in dem einzelnen Abtastzyklus gedrückt wird und dann die bestimmte Taste auf „Letzte_Taste“ setzen.
- In dem Schritt 67 der Lernschritte kann eine jeweilige Anordnung in einer zweidimensionalen Anordnung für jede einzeln gedrückte Taste in der Mehrzahl von Abtastzyklen erzeugt werden. Jede jeweilige Anordnung kann auf einen numerischen Wert gesetzt werden. Dementsprechend kann eine erste Anordnung in einer erzeugten zweidimensionalen Anordnung als [Letzte_Taste] [1...n] erzeugt werden und jeder Eintrag in der Anordnung kann auf „0“ gesetzt werden. Eine zweite Anordnung kann in der zweidimensionalen Anordnung als [1...n] [Letzte_Taste] erzeugt werden und jeder Eintrag in der Anordnung kann auf „1“ gesetzt werden. Eine dritte Anordnung kann in der zweidimensionalen Anordnung als [Letzte_Taste] [Letzte_Taste] erzeugt werden und jeder Eintrag in der Anordnung kann auf „-1“ gesetzt werden.
- Wie oben beschrieben kann ein einzelner Abtastzyklus eine n-Anzahl von Tasten abtasten wobei die zweidimensionale Anordnung eine n-Anzahl von Zeilen und n-Anzahl von Spalten aufweisen kann.
- In dem Schritt 68 der Lernschritte kann die Letzte_Taste in einer Sendewarteschlange der EC 22 platziert werden für eine letztendliche Übertragung einer Abtastkodierung für die Letzte_Taste in einem Schritt 69.
- In den Schritten zur Erzeugung der Abtastkodierungsreihenfolge, kann der Schritt 70 alle Tasten, die während des einzelnen Abtastzyklus gedrückt wurden bestimmen, wobei es eine M-Anzahl von Tasten gibt.
-
- In dem Schritt 72 können alle SUMME Taste_m (m = 1...M) in einer Summe absteigender Reihenfolge angeordnet werden.
- In dem Schritt 73 werden Tastennummern in einer erzeugenden Reihenfolge an die Sendewarteschlange der EC 22 gemäß der Summe absteigender Reihenfolge für eine letztendliche Übertragung der Abtastkodierungen in dem Schritt 69 gesendet. Dementsprechend ermöglicht die SUMME Taste_m, die den größten numerischen Wert aufweist, einer zugeordneten Abtastkodierung zuerst gesendet zu werden. Und die SUMME Taste_m, die den kleinsten numerischen Wert aufweist, ermöglicht einer zugeordneten Abtastkodierung als letztes gesendet zu werden. Die vorliegende Erfindung zieht jedoch in Betracht, dass die Reihenfolge umgekehrt werden kann.
- Wie zu erkennen ist, lernt das Verfahren 60, während das Verfahren 60 seine Schritte weiter durchläuft, kontinuierlich die Reihenfolgen von verschiedenen Gruppen von einzelnen Tasten Das Verfahren 60 lernt auch, die Reihenfolge derselben Gruppen von einzelnen Tasten zu ändern, wenn der Benutzer die Reihenfolge dieser einzelnen Tasten ändert. Deshalb kann sich die erzeugte Reihenfolge von Gruppen von Tasten, die während eines einzelnen Abtastzyklus gedrückt werden, mit der Zeit ändern.
- Es sollte natürlich verstanden werden, dass sich das vorgenannte auf beispielhafte Ausführungsformen der Erfindung bezieht und dass Modifikationen vorgenommen werden können, ohne von dem Geist und dem Umfang der Erfindung, wie sie in den folgenden Ansprüchen dargelegt ist, abzuweichen.
Claims (16)
- Eingebettete Steuerung (22) in einem Tastatursystem (20), das eine Tastaturmatrix (21) aufweist, wobei die eingebettete Steuerung (22) konfiguriert ist zum: Bestimmen, ob nur eine einzelne Taste gedrückt wird für jeden von einer Mehrzahl von Abtastzyklen der Tastaturmatrix (21); Erzeugen einer jeweiligen Anordnung in einer zweidimensionalen Anordnung für jede bestimmte einzeln gedrückte Taste, wobei jede jeweilige Anordnung erzeugt wird gemäß: [Letzte_Taste] [1...n]; [1...n] [Letzte_Taste]; [Letzte_Taste] [Letzte_Taste]; wobei Letzte-Taste die einzelne Taste ist, die in einem gegebenen Abtastzyklus gedrückt wird und n eine Anzahl von Spalten und eine Anzahl von Zeilen in der zweidimensionalen Anordnung ist; Bestimmen, ob eine M-Anzahl von mehreren Tasten während eines der Abtastzyklen gedrückt wird für jede von der Mehrzahl von Abtastzyklen der Tastaturmatrix; Berechnen einer Summe einer Anordnung [Taste_m] [1 ...n] für jede Taste_m, die von den mehreren Tasten gedrückt wird gemäß
- Steuerung (20) nach
Anspruch 1 , die weiter konfiguriert ist, jeder jeweiligen Anordnung von den bestimmten einzelnen gedrückten Tasten einen numerischen Wert von -1, 0, oder 1 zuzuweisen. - Steuerung (20) nach
Anspruch 1 , wobei in der zweidimensionalen Anordnung die Anzahl von Spalten die dieselbe ist wie die Anzahl von Zeilen. - Steuerung nach
Anspruch 1 , wobei jede gedrückte Taste_m eine bestimmte einzeln gedrückte Taste ist. - Steuerung nach
Anspruch 1 , wobei die SUMME Taste_m, die den größten numerischen Wert aufweist, ermöglicht, dass eine zugeordnete Abtastkodierung zuerst gesendet wird. - Steuerung nach
Anspruch 1 , wobei die SUMME Taste_m, die den kleinsten numerischen Wert aufweist, ermöglicht, dass eine zugeordnete Abtastkodierung zuletzt gesendet wird. - Tastatursystem (20), umfassend: eine Tastaturmatrix (21); und eine eingebettete Steuerung (22) nach einem der
Ansprüche 1 bis6 , die in Kommunikation mit der Tastaturmatrix (21) steht. - System (20) nach
Anspruch 7 , weiter umfassend eine Plattformsteuerungszentrale (23), die in Kommunikation mit der eingebetteten Steuerung (22) steht. - System (20) nach
Anspruch 7 , wobei die eingebettete Steuerung (22) eine Tastatur-Abtastschnittstelle (22c) enthält, die in Kommunikation mit der Tastaturmatrix (21) steht. - System (20) nach
Anspruch 7 , wobei die eingebettete Steuerung (22) eine 8042-emulierte Tastatursteuerung (22d) enthält. - Verfahren zum Senden von Abtastkodierungen in einem System (20), das eine Tastaturmatrix (21) aufweist, umfassend: wenn nur eine einzelne Taste während jedem von einer Mehrzahl von Abtastzyklen der Tastaturmatrix (21) gedrückt wird, dann wird für jede einzeln gedrückte Taste durchgeführt: Setzen einer ersten Anordnung von [Letzte_Taste] [1 ...n] auf einen ersten numerischen Wert; Setzen einer zweiten Anordnung von [1...n] [Letzte_Taste] auf einen zweiten numerischen Wert; und Setzen einer dritten Anordnung von [Letzte_Taste] [Letzte_Taste] auf einen dritten numerischen Wert; wobei die Letzte_Taste die einzeln gedrückte Taste in einem gegebenen Abtastzyklus ist; wobei n eine Anzahl von Spalten in einer erzeugten Anordnung ist; und wenn mehrere Tasten in einem einzelnen Abtastzyklus gedrückt werden, dann wird für jede gedrückte Taste_m, wobei M eine Gesamtzahl von gedrückten Taste_m ist, durchgeführt: Berechnen einer Summe von einer Anordnung [Taste_m] [1...n] gemäß
- Verfahren nach
Anspruch 11 , wobei die ersten, zweiten und dritten numerischen Werte jeweils voneinander verschieden sind. - Verfahren nach
Anspruch 12 , wobei der erste numerische Wert 0 ist, der zweite numerische Wert 1 ist und der dritte numerische Wert -1 ist. - Verfahren nach
Anspruch 11 , wobei die ersten, zweiten und dritten Anordnungen in einer einzelnen zweidimensionalen Anordnung sind. - Verfahren nach
Anspruch 14 , wobei in der zweidimensionalen Anordnung eine Anzahl von Zeilen gleich der Anzahl von Spalten ist. - Verfahren nach
Anspruch 11 , wobei jeder von der Mehrzahl von Abtastzyklen in einer selben Reihenfolge von Treibleitungen auftritt.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/677,418 | 2017-08-15 | ||
US15/677,418 US10303263B2 (en) | 2017-08-15 | 2017-08-15 | Auto swap order of finding key to generate scan codes |
Publications (2)
Publication Number | Publication Date |
---|---|
DE102018119294A1 DE102018119294A1 (de) | 2019-02-21 |
DE102018119294B4 true DE102018119294B4 (de) | 2023-03-16 |
Family
ID=63518576
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102018119294.0A Active DE102018119294B4 (de) | 2017-08-15 | 2018-08-08 | Automatisches Tauschen der Reihenfolge zum Finden einer Taste um Abtastkodierungen zu erzeugen |
Country Status (5)
Country | Link |
---|---|
US (1) | US10303263B2 (de) |
JP (1) | JP6595053B2 (de) |
CN (1) | CN109407857B (de) |
DE (1) | DE102018119294B4 (de) |
GB (1) | GB2567298B (de) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63237118A (ja) | 1987-03-25 | 1988-10-03 | Matsushita Electric Ind Co Ltd | キ−入力処理装置 |
JPH02148319A (ja) | 1988-11-30 | 1990-06-07 | Nec Corp | キーボード |
JPH02149437A (ja) | 1988-11-30 | 1990-06-08 | Hoya Corp | ガラス板の製造装置 |
JPH06149437A (ja) | 1992-11-16 | 1994-05-27 | Hitachi Ltd | キーデータ処理方式 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
USH1970H1 (en) * | 1971-07-19 | 2001-06-05 | Texas Instruments Incorporated | Variable function programmed system |
SE420447B (sv) * | 1978-11-21 | 1981-10-05 | Ibm Svenska Ab | Metod for generering av teckenkoder medelst ett tangentbord samt anordning for utforande av metoden |
US5430443A (en) * | 1993-04-12 | 1995-07-04 | National Semiconductor Corporation | Scanned switch matrix |
CN1327193A (zh) * | 2000-06-05 | 2001-12-19 | 英业达股份有限公司 | 检测键盘阵列短路的方法 |
TWI289778B (en) * | 2003-04-28 | 2007-11-11 | Behavior Tech Computer Corp | Method for manufacturing keys of keyboard and keyboard thereof |
CN1327316C (zh) * | 2005-05-20 | 2007-07-18 | 韩亚林 | 一种基于五键的汉字输入系统 |
US7649478B1 (en) * | 2005-11-03 | 2010-01-19 | Hyoungsoo Yoon | Data entry using sequential keystrokes |
US8068097B2 (en) * | 2006-06-27 | 2011-11-29 | Cypress Semiconductor Corporation | Apparatus for detecting conductive material of a pad layer of a sensing device |
US8786554B2 (en) * | 2006-07-10 | 2014-07-22 | Atmel Corporation | Priority and combination suppression techniques (PST/CST) for a capacitive keyboard |
CN100562862C (zh) * | 2006-12-29 | 2009-11-25 | 金宝电子工业股份有限公司 | 输入系统 |
TW200838131A (en) * | 2007-03-12 | 2008-09-16 | Coretronic Corp | Keypad module having light-indicating functionality and method for controlling the same |
CN201111222Y (zh) * | 2007-06-08 | 2008-09-03 | 北京工业大学 | 智能安全键盘 |
CN101510127B (zh) * | 2009-03-30 | 2012-10-17 | 无锡中星微电子有限公司 | 一种实现键盘模块复合键功能的方法、装置和芯片 |
JP5660785B2 (ja) * | 2010-01-27 | 2015-01-28 | 京セラ株式会社 | 携帯電子機器 |
CN102298445B (zh) * | 2011-08-15 | 2014-07-09 | 李中才 | 通用速录键盘 |
US20130215038A1 (en) * | 2012-02-17 | 2013-08-22 | Rukman Senanayake | Adaptable actuated input device with integrated proximity detection |
US20130234944A1 (en) * | 2012-03-12 | 2013-09-12 | Mediatek Inc. | Circuit and associated method identifying keys and implementing keypad |
-
2017
- 2017-08-15 US US15/677,418 patent/US10303263B2/en active Active
-
2018
- 2018-06-14 CN CN201810614790.0A patent/CN109407857B/zh active Active
- 2018-07-24 JP JP2018138310A patent/JP6595053B2/ja active Active
- 2018-08-08 GB GB1812870.2A patent/GB2567298B/en active Active
- 2018-08-08 DE DE102018119294.0A patent/DE102018119294B4/de active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63237118A (ja) | 1987-03-25 | 1988-10-03 | Matsushita Electric Ind Co Ltd | キ−入力処理装置 |
JPH02148319A (ja) | 1988-11-30 | 1990-06-07 | Nec Corp | キーボード |
JPH02149437A (ja) | 1988-11-30 | 1990-06-08 | Hoya Corp | ガラス板の製造装置 |
JPH06149437A (ja) | 1992-11-16 | 1994-05-27 | Hitachi Ltd | キーデータ処理方式 |
Also Published As
Publication number | Publication date |
---|---|
US10303263B2 (en) | 2019-05-28 |
GB201812870D0 (en) | 2018-09-19 |
GB2567298B (en) | 2020-04-22 |
CN109407857B (zh) | 2022-06-17 |
CN109407857A (zh) | 2019-03-01 |
JP2019036297A (ja) | 2019-03-07 |
GB2567298A (en) | 2019-04-10 |
JP6595053B2 (ja) | 2019-10-23 |
DE102018119294A1 (de) | 2019-02-21 |
US20190056795A1 (en) | 2019-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69131072T2 (de) | Verfahren und System zum Anpassen eines Rechnerprogrammbefehls an eine Druckersprache | |
DE102019000433A1 (de) | Generieren einer themenbasierten Zusammenfassung eines Textinhalts | |
DE69321569T2 (de) | Verfahren und Vorrichtung zur Zeicheneingabe | |
DE102018010162A1 (de) | Online-Wörterbucherweitern von Wortvektoren | |
DE19918374A1 (de) | Software-Tastatursystem mit Verwendung einer Griffelspur auf einer Berührungsfläche und Verfahren für die Erkennung von Tastencodes unter Verwendung desselben | |
DE2946857A1 (de) | Wortspeichergeraet | |
DE68922870T2 (de) | Textverarbeitungseinrichtung für europäische Sprachen mit Rechtschreibungs-Korrekturfunktion. | |
DE102016009105B4 (de) | Maschinenlernverfahren und Maschinenlernvorrichtung, das bzw. die eine Anschlussstelle eines Erdleiters oder einer Beilauflitze lernt, und Elektromotorsteuervorrichtung und Elektromotorvorrichtung, die mit einer Maschinenlernvorrichtung versehen ist | |
DE2023354A1 (de) | Programmierbare Einheit und Verfahren zum Betreiben einer programmierbaren Einheit | |
DE102015226797A1 (de) | Arraysubstrat, Berührungsanzeigebedienfeld, Berührungsanzeigevorrichtung und Erfassungsverfahren | |
DE112019003326T5 (de) | Speichererweiterte neuronale netzwerkarchitekturen eines codierers-decodierers | |
DE3334105C2 (de) | ||
EP2304641A1 (de) | Verfahren und vorrichtung zur identifizierung einer person mittels ihres tippverhaltens unter berücksichtigung der örtlichen verteilung der tasten einer tastatur | |
DE102009034939A1 (de) | System und Verfahren zur Erkennung von Ein-Strich-Zeichen | |
DE102018119294B4 (de) | Automatisches Tauschen der Reihenfolge zum Finden einer Taste um Abtastkodierungen zu erzeugen | |
DE68921676T2 (de) | Flexibles Diagnosesystem, anpassbar an Datenverarbeitungssysteme verschiedener Grösse. | |
DE112020002822T5 (de) | Hyperparameteroptimierungsverfahren, Programmversuchssystem und Computerprogramm | |
DE4135278C2 (de) | ||
DE112014003067T5 (de) | Speicherprogrammierbare Steuerung | |
DE2142374A1 (de) | Datenverarbeitungseinnchtung | |
DE102018128887B3 (de) | Dateneingabevorrichtung | |
DE602005002789T2 (de) | Eingabetastatur mit erhöhter Anzahl von Tasten, für ein elektronisches Gerät mit begrenzter Anzahl von Anschlüssen | |
DE3438964A1 (de) | Elektronische einrichtung mit einer dateneingabefunktion mittels fingeraktivierung | |
DE2941824A1 (de) | Programmeingabesystem | |
DE3786146T2 (de) | Schriftzeichen-Eingabegerät. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R082 | Change of representative |
Representative=s name: GRUENECKER PATENT- UND RECHTSANWAELTE PARTG MB, DE |
|
R016 | Response to examination communication | ||
R018 | Grant decision by examination section/examining division | ||
R020 | Patent grant now final |