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 PDF

Info

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
Application number
DE102018119294.0A
Other languages
English (en)
Other versions
DE102018119294A1 (de
Inventor
Ke Ma
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lenovo Singapore Pte Ltd
Original Assignee
Lenovo Singapore Pte Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Lenovo Singapore Pte Ltd filed Critical Lenovo Singapore Pte Ltd
Publication of DE102018119294A1 publication Critical patent/DE102018119294A1/de
Application granted granted Critical
Publication of DE102018119294B4 publication Critical patent/DE102018119294B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements 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/0238Programmable keyboards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/0227Cooperation and interconnection of the input arrangement with other functional units of a computer
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M11/00Coding in connection with keyboards or like devices, i.e. coding of the position of operated keys
    • H03M11/20Dynamic coding, i.e. by key scanning

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äß S U M M E   T a s t e _ m = i = 1 n Anordnung  [ T a s t e _ m ] [ i ] ;
Figure DE102018119294B4_0001

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 wird eine Tastatur mit der Funktion beschrieben, eine beliebige Tastenfolge zu speichern und die Tastenfolge wederzugeben.
  • Aus der JP H02- 149 437 A ist eine Tastatur bekannt, die durch gleichzeitiges drücken mehrerer spezifizierter Tasten einen privaten Modus aufruft.
  • Aus der JP S63- 237 118 A ist eine Tastatur bekannt, bei der die mehreren gedrückten Tasten entsprechenden Zeichen gleichzeitig nach Loslassen einer beliebigen der mehreren gedrückten Tasten eingegeben werden.
  • 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 in 1A-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 und 4B repräsentieren beispielhafte Situationen, wobei zwei und drei der drei erlernten Tasten von 3A-3B gleichzeitig gedrückt werden.
  • In 4A werden als ein Beispiel zwei Tasten - Taste 4 und Taste 2 - gleichzeitig in demselben Abtastzyklus gedrückt.
  • Für Taste 4 wird eine Summe der Anordnung [4] [1...n] berechnet: i = 1 n A n o r d n u n g [ 4 ] [ i ] = 0 + 0 + 1 + 0 + ( 1 ) + 0 + 0 + 0 = 0
    Figure DE102018119294B4_0002
  • Für Taste 2 wird eine Summe der Anordnung [2] [1...n] berechnet: i = 1 n A n o r d n u n g [ 2 ] [ i ] = 0 + 0 + ( 1 ) + 0 + 0 + 0 + 0 + 0 = 1
    Figure DE102018119294B4_0003
  • 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.
  • Für Taste 4 wird eine Summe der Anordnung [4] [1...n] berechnet: i = 1 n A n o r d n u n g [ 4 ] [ i ] = 0 + 0 + 1 + 0 + ( 1 ) + 0 + 0 + 0 = 0
    Figure DE102018119294B4_0004
  • Für Taste 2 wird eine Summe der Anordnung [2] [1...n] berechnet: i = 1 n A n o r d n u n g [ 2 ] [ i ] = 0 + 0 + ( 1 ) + 0 + 0 + 0 + 0 + 0 = 1
    Figure DE102018119294B4_0005
  • Für Taste 6 wird eine Summe der Anordnung [6] [1...n] berechnet: i = 1 n A n o r d n u n g [ 6 ] [ i ] = 0 + 0 + 1 + 0 + 1 + 0 + ( 1 ) + 0 = 1
    Figure DE102018119294B4_0006
  • 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 den 3A-3C, 4A-4B und 5 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 71 kann für jede gedrückte Taste_m in der zweidimensionalen Anordnung, wobei m = 1...M ist, eine Summe einer Anordnung [Taste_m] [1...n] berechnet werden gemäß: S U M M E   T a s t e _ m = i = 1 n A n o r d n u n g [ T a s t e _ m ] [ i ]
    Figure DE102018119294B4_0007
  • 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)

  1. 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äß S U M M E   T a s t e _ m = i = 1 n Anordnung  [ T a s t e _ m ] [ i ] ;
    Figure DE102018119294B4_0008
    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.
  2. 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.
  3. Steuerung (20) nach Anspruch 1, wobei in der zweidimensionalen Anordnung die Anzahl von Spalten die dieselbe ist wie die Anzahl von Zeilen.
  4. Steuerung nach Anspruch 1, wobei jede gedrückte Taste_m eine bestimmte einzeln gedrückte Taste ist.
  5. 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.
  6. Steuerung nach Anspruch 1, wobei die SUMME Taste_m, die den kleinsten numerischen Wert aufweist, ermöglicht, dass eine zugeordnete Abtastkodierung zuletzt gesendet wird.
  7. Tastatursystem (20), umfassend: eine Tastaturmatrix (21); und eine eingebettete Steuerung (22) nach einem der Ansprüche 1 bis 6, die in Kommunikation mit der Tastaturmatrix (21) steht.
  8. System (20) nach Anspruch 7, weiter umfassend eine Plattformsteuerungszentrale (23), die in Kommunikation mit der eingebetteten Steuerung (22) steht.
  9. System (20) nach Anspruch 7, wobei die eingebettete Steuerung (22) eine Tastatur-Abtastschnittstelle (22c) enthält, die in Kommunikation mit der Tastaturmatrix (21) steht.
  10. System (20) nach Anspruch 7, wobei die eingebettete Steuerung (22) eine 8042-emulierte Tastatursteuerung (22d) enthält.
  11. 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äß S U M M E   T a s t e _ m = i = 1 n Anordnung  [ T a s t e _ m ] [ i ] ;
    Figure DE102018119294B4_0009
    Anordnen der Summen der Anordnungen in einer numerisch absteigenden Reihenfolge; Senden von Abtastkodierungen für jede Taste_m in der numerisch absteigenden Reihenfolge.
  12. Verfahren nach Anspruch 11, wobei die ersten, zweiten und dritten numerischen Werte jeweils voneinander verschieden sind.
  13. Verfahren nach Anspruch 12, wobei der erste numerische Wert 0 ist, der zweite numerische Wert 1 ist und der dritte numerische Wert -1 ist.
  14. Verfahren nach Anspruch 11, wobei die ersten, zweiten und dritten Anordnungen in einer einzelnen zweidimensionalen Anordnung sind.
  15. Verfahren nach Anspruch 14, wobei in der zweidimensionalen Anordnung eine Anzahl von Zeilen gleich der Anzahl von Spalten ist.
  16. Verfahren nach Anspruch 11, wobei jeder von der Mehrzahl von Abtastzyklen in einer selben Reihenfolge von Treibleitungen auftritt.
DE102018119294.0A 2017-08-15 2018-08-08 Automatisches Tauschen der Reihenfolge zum Finden einer Taste um Abtastkodierungen zu erzeugen Active DE102018119294B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/677,418 US10303263B2 (en) 2017-08-15 2017-08-15 Auto swap order of finding key to generate scan codes
US15/677,418 2017-08-15

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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
CN109407857B (zh) 2022-06-17
DE102018119294A1 (de) 2019-02-21
GB201812870D0 (en) 2018-09-19
US20190056795A1 (en) 2019-02-21
JP2019036297A (ja) 2019-03-07
GB2567298B (en) 2020-04-22
GB2567298A (en) 2019-04-10
CN109407857A (zh) 2019-03-01
US10303263B2 (en) 2019-05-28
JP6595053B2 (ja) 2019-10-23

Similar Documents

Publication Publication Date Title
DE102019000433A1 (de) Generieren einer themenbasierten Zusammenfassung eines Textinhalts
DE102018007055A1 (de) Erzeugen einer zielgerichteten Zusammenfassung eines Textinhalts, die auf ein Zielpublikum-Vokabular abgestimmt ist
DE19918374A1 (de) Software-Tastatursystem mit Verwendung einer Griffelspur auf einer Berührungsfläche und Verfahren für die Erkennung von Tastencodes unter Verwendung desselben
DE202016107436U1 (de) Neuronaler Netzwerkprozessor
DE2946857A1 (de) Wortspeichergeraet
DE102007048608A1 (de) Testeinrichtung, Anzeigevorrichtung und Verfahren zum Überprüfen einer Gültigkeit von Anzeigesignalen
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
DE2913327C2 (de) Matrix-Multiplizierer
DE112019003326T5 (de) Speichererweiterte neuronale netzwerkarchitekturen eines codierers-decodierers
DE3334105C2 (de)
WO2009152822A1 (de) Verfahren und vorrichtung zur identifizierung einer person mittels ihres tippverhaltens unter berücksichtigung der örtlichen verteilung der tasten einer tastatur
DE102019203634A1 (de) Verfahren und Vorrichtung zum Ansteuern eines Roboters
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
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
DE3110297C2 (de) Anzeigevorrichtung für mehrere Zeichengruppen eines Textes
DE3438964A1 (de) Elektronische einrichtung mit einer dateneingabefunktion mittels fingeraktivierung
DE2941824A1 (de) Programmeingabesystem
DE112021001654T5 (de) Anomaliebestimmungsvorrichtung
DE102020215138A1 (de) Verfahren und Vorrichtung zum Betreiben eines technischen Systems

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