DE102008028223B4 - Modusabhängige Verarbeitung von Berührungsdaten - Google Patents

Modusabhängige Verarbeitung von Berührungsdaten Download PDF

Info

Publication number
DE102008028223B4
DE102008028223B4 DE102008028223.5A DE102008028223A DE102008028223B4 DE 102008028223 B4 DE102008028223 B4 DE 102008028223B4 DE 102008028223 A DE102008028223 A DE 102008028223A DE 102008028223 B4 DE102008028223 B4 DE 102008028223B4
Authority
DE
Germany
Prior art keywords
touch
control
touch data
instance
instances
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
DE102008028223.5A
Other languages
English (en)
Other versions
DE102008028223A1 (de
Inventor
Steve Porter Hotelling
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.)
Apple Inc
Original Assignee
Apple Inc
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 Apple Inc filed Critical Apple Inc
Publication of DE102008028223A1 publication Critical patent/DE102008028223A1/de
Application granted granted Critical
Publication of DE102008028223B4 publication Critical patent/DE102008028223B4/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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04808Several contacts: gestures triggering a specific function, e.g. scrolling, zooming, right-click, when the user establishes several contacts with the surface simultaneously; e.g. using several fingers or a combination of fingers and pen

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)
  • User Interface Of Digital Computer (AREA)
  • Position Input By Displaying (AREA)

Abstract

Verfahren zum Betrieb einer mehrfachberührungsfähigen Vorrichtung, umfassend:Erzeugung von einer oder mehreren Steuerinstanzen durch eine oder mehrere auf der mehrfachberührungsfähigen Vorrichtung ablaufende Applikationen (200), wobei die Anwendungen einen Typ von ihnen benötigten Berührungsdaten in Form von Steuerinstanzen definieren;Senden der einen oder mehreren Steuerinstanzen von der einen oder den mehreren Anwendungen an ein Mehrfachberührungsdienstprogramm (200);Empfangen von Berührungsdaten durch das Mehrfachberührungsdienstprogramm (204);Verarbeiten der Berührungsdaten unter Berücksichtigung der einen oder mehreren Steuerinstanzen durch das Mehrfachberührungsdienstprogramm (206), um einen oder mehrere Ergebnissätze zu erhalten, wobei jeder Ergebnissatz mit einer entsprechenden Steuerinstanz assoziiert ist; undSenden des einen oder der mehreren Ergebnissätze an die eine oder die mehreren Applikationen (208).

Description

  • Gebiet der Erfindung
  • Die Erfindung betrifft Benutzerschnittstellen und insbesondere Benutzerschnittstellen für Vorrichtungen, die Mehrfachberührungsanzeigen aufweisen.
  • Hintergrund der Erfindung
  • Eine Maus ist ein sehr bekanntes und relativ einfaches Schnittstellengerät, das in vielen Computergeräten verwendet wird. Die durch eine Maus gelieferte Eingabe kann sehr einfach sein - eine Ortsangabe und der Status verschiedener, an der Maus verfügbarer Tasten oder Scrollräder. Viele heutige Berührungsbildschirmvorrichtungen stellen eine Funktionalität bereit, die ähnlich der einer Maus ist, indem sie es einem Benutzer ermöglichen einen einzigen bestimmten Ort durch das Drücken eines Stifts oder Fingers gegen sie zu spezifizieren. Heutige Betriebssysteme (OSs) können für darauf laufende Softwareapplikationen verschiedene Werkzeuge bereitstellen, um die Interaktion mit dem Benutzer über eine graphische Benutzerschnittstelle und eine Maus oder eine mausähnliche Eingabe zu vereinfachen. Beispielsweise kann es ein Dienstprogramm des Betriebssystems einer Softwareapplikation ermöglichen, ein Widget (zum Beispiel eine Taste oder eine Bildlaufleiste) zu definieren und zu registrieren. Das Dienstprogramm des Betriebssystems kann verfolgen, wenn ein Benutzer mit der Maus auf das Widget klickt und kann die Softwareapplikation darauf aufmerksam machen. Damit wird die Entwicklung von Softwareapplikationen erleichtert und vereinfacht, da keine Applikation mehr die Mausbewegungen verfolgen muss. Neuere Entwicklungen in der Technologie der Benutzerschnittstellen haben das Mehrfachberührungsfeld eingeführt. Ein beispielhaftes Mehrfachberührungsfeld ist in der US Patentanmeldung Nr. 11/649,998 , eingereicht am 03. Januar 2007 mit dem Titel „Proximity and Multi -Touch Sensor Detection and Demodulation“ (welches hiermit in seiner Gesamtheit durch Verweis aufgenommen wird) beschrieben.
  • Die Druckschrift WO 2006/020304 A2 beschreibt ein Benutzerschnittstellenverfahren.
  • Das dort offenbarte Verfahren beinhaltet das Erfassen einer Berührung mit anschließendem Bestimmen eines Benutzerschnittstellenmodus, wenn eine Berührung erfasst wird. Das dort offenbarte Verfahren beinhaltet weiterhin das Aktivieren eines oder mehrerer GUI Elemente basierend auf dem Benutzerschnittstellenmodus und in Antwort auf die erfasste Berührung.
  • Die Druckschrift US 2003 / 0 193 481 A1 beschreibt ein grafisches Benutzerschnittstellensystem, das ein berührungsempfindliches Eingabe-Overlay umfasst. Das berührungsempfindliche Eingabe-Overlay ist so konfiguriert, dass es einen flexiblen ergänzenden oder ersetzenden Eingabemodus zum Eingeben und Navigieren von Text und Informationen auf einer herkömmlichen grafischen Benutzeroberfläche ohne die Hilfe einer Maus oder Tastatur ermöglicht.
  • Die Druckschrift US 2006 / 0 097 991 A1 beschreibt ein Berührungsbedienfeld mit einem transparenten kapazitiven Erfassungsmedium, das so konfiguriert ist, dass es mehrere Berührungen oder Beinahe-Berührungen erkennt, die gleichzeitig und an unterschiedlichen Stellen in der Ebene des Berührungsbedienfelds auftreten, und um unterschiedliche Signale zu erzeugen, die die Stelle der Berührungen auf der Ebene des Berührungsfelde für jede der mehreren Berührungen darstellen.
  • Einer der Vorteile eines Mehrfachberührungsfeldes kann es sein, dass es mehrere Berührungsereignisse an mehreren Orten des Feldes zur gleichen Zeit detektiert. Ein Mehrfachberührungsfeld kann daher nicht nur einen einzigen Interaktionsort liefern (wie viele der heutigen Berührungsfelder), sondern eine Karte von allen gerade berührten Teilen des Feldes. Diese kann eine viel reichhaltigere Benutzerinteraktion als frühere Eingabevorrichtungen ermöglichen. Allerdings kann es ein Mehrfachberührungsfeld auch erfordern, dass viel mehr Daten durch verschiedene seine Vorteile benutzende Applikationen verarbeitet werden müssen. Insbesondere kann es für Applikationen, die ein Mehrfachberührungsfeld verwenden, erforderlich sein, eine gesamte die gegenwärtig berührten Orte spezifizierende Karte anstatt eines einzigen Mausklickortes zu verarbeiten. Im Ergebnis kann dies viel höhere Verarbeitungsanforderungen für laufende Applikationen auf einer mehrfachberührungsfähigen Vorrichtungen bedeuten.
  • Zusammenfassung der Erfindung
  • Die Aufgabe der Erfindung wird durch das Verfahren des unabhängigen Anspruchs 1 und die Gegenstände der weiteren unabhängigen Ansprüche gelöst. In den abhängigen Ansprüchen sind weitere vorteilhafte Verfahren angegeben.
  • Die Erfindung betrifft eine mehrfachberührungsfähige Vorrichtung, die eine Hardware- oder Softwaredienstschicht aufweisen kann, die ein applikationsbewusstes Verarbeiten von Berührungsdaten durchführen kann. Genauer gesagt, verschiedene auf der Vorrichtung ausgeführte Applikationen können an die Dienstschicht Definitionen der Typen von Berührungsdaten senden, die sie von der berührungsempfindlichen Anzeige benötigen. Die Dienstschicht kann dann die hereinkommenden Berührungsdaten im Bezug auf diese Definitionen verarbeiten und an die Applikationen Ergebnisdaten in einem von den Applikationen angeforderten Format zurücksenden. Auf diese Weise kann die mit der Verarbeitung von Berührungsdaten verbundene Rechenbelastung gesenkt werden. Außerdem können in bestimmten Fällen die Applikationen genauere Daten erhalten als in früheren Systemen verfügbar. Applikationen, die auf einer mehrfachberührungsfähigen Vorrichtung ausgeführt werden, können den Typ der Berührungsdaten, die sie anfordern in Form von Steuerinstanzen definieren. Steuerinstanzen können verschiedene Wege definieren, mit denen ein Benutzer mit auf der mehrfachberührungsfähigen Vorrichtungen laufenden Applikationen kommunizieren oder diese steuern kann. Steuerinstanzen können zum Beispiel Tasten, Schieber, Knöpfe, Navigationsfelder, usw. sein. Jede Steuerinstanz kann zusammen mit einem assoziierten Steuertyp den Typ der Ergebnisse definieren, die für diese Steuerinstanz benötigt werden und wie diese Ergebnisse zu berechnen sind. Auf diese Weise können die Applikationen eine oder mehrere Steuerinstanzen an die Dienstschicht weitergeben, und die Dienstschicht kann die hereinkommenden Berührungsdaten unter Berücksichtigung der Steuerinstanzen verarbeiten und den Applikation Ergebnisse liefern, die im Einklang mit den Steuerinstanzen berechnet wurden. Daher können Applikationen beispielsweise eine einfache Angabe erhalten, ob eine Taste berührt wurde oder ob und wieweit ein Schieber bewegt wurde. ohne geometrische Berührungsdaten prozessieren zu müssen um diese Informationen zu erhalten.
  • Kurze Beschreibung der Zeichnungen
    • 1 ist ein Diagramm einer beispielhaften mehrfachberührungsfähigen Vorrichtung gemäß einer Ausführungsform dieser Erfindung.
    • 2 ist ein Flussdiagramm, das ein beispielhaftes Verfahren zum Betrieb der Applikations- und MTL-Parserschichten gemäß einer Ausführungsform dieser Erfindung zeigt.
    • 3 ist ein Diagramm, das gemäß einer Ausgestaltung dieser Erfindung verschiedene beispielhafte Steuerinstanzen verschiedener Steuertypen wie auf einem Bildschirm angezeigt zeigt,.
    • 4 ist ein Diagramm, das die Transparenz und/oder Intransparenz beispielhafter Steuerelemente gemäß einer Ausführungsform dieser Erfindung zeigt.
    • 5 illustriert gemäß einer Ausführungsform dieser Erfindung die Verarbeitung von Berührungsdaten für ein beispielhaftes Steuerelement eines beispielhaften Mehrfach-DOF-Steuertyps.
    • 6 illustriert gemäß einer Ausfuhrungsform dieser Erfindung die Verarbeitung der Berührungsdaten aus 5 zu einem späteren Zeitpunkt für ein beispielhaftes schrittweises Steuerelement;
    • 7 ist ein Diagramm, dass gemäß einer Ausführungsform dieser Erfindung eine beispielhafte schrittweise Änderung zeigt, bei der sich der Berührungsbereich bewegen und ein neuer Kontaktfleck auftreten kann.
    • 8 ist ein Diagramm einer beispielhaften mehrfachberührungsfähigen Vorrichtung gemäß einer Ausführungsform dieser Erfindung.
  • Detaillierte Beschreibung der bevorzugten Ausführungsformen
  • In der folgenden Beschreibung der bevorzugten Ausführungsformen wird auf die beiliegenden Zeichnungen verwiesen, die einen Teil dieses Dokuments bilden, und in denen im Wege der Illustration spezielle Ausgestaltungen in denen die Erfindung ausgeführt werden kann, gezeigt sind. Es versteht sich, dass andere Ausfuhrungsformen verwendet und strukturelle Änderungen durchgeführt werden können, ohne von dem Inhalt der bevorzugten Ausführungsformen der vorliegenden Erfindung abzuweichen.
  • Die Erfindung betrifft die Verarbeitung von Berührungsdaten in einer niedrigeren Schicht einer mehrfachberührungsfähigen Vorrichtung (zum Beispiel im Betriebssystem OS), um relativ einfache Berührungsereignisse zu bilden, so dass die Anforderungen an die Applikationsschicht bezüglich Verarbeitung und Kommunikationsbandbreite gesenkt werden können.
  • 1 ist ein Diagramm einer beispielhaften mehrfachberührungsfahigen Vorrichtung gemäß Ausführungsformen dieser Erfindung. Genauer, 1 ist ein Schichtdiagramm der Module zur Berührungsdatenverarbeitung einer mehrfachberührungsfähigen Vorrichtung. Die niedrigste Schicht kann ein physikalischer Mehrfachberührungssensor 100 sein. Der physikalische Sensor kann beispielsweise ein Mehrfachberührungsfeld sein, dass Berührungsereignisse basierend auf Messungen einer Gegenkapazität sein (zum Beispiel das Mehrfachberührungsfeld aus der U.S. Patentanmeldung Nr. 11/649,998 wie oben beschrieben). Das Mehrfachberührungsfeld kann einer Anzeige überlagert sein oder sogar innerhalb einer Anzeige integriert sein, so dass ein Benutzer mit der Vorrichtung durch Berührung einer Anzeige interagieren kann. Die U.S. Patentanmeldung 11/649.998, eingereicht am 03. Januar 2007 mit dem Titel „Proximity and Multi-Touch Sensor and Demodulation“ (welche durch Verweis in ihrer Gesamtheit hier aufgenommen ist) lehrt die Kombination eines Mehrfachberührungsfeldes mit einer Anzeige. Der physikalische Sensor kann ebenfalls Schaltungen zur Verarbeitung und/oder Digitalisierung von von dem Mehrfachberührungsfeld erhaltenen Daten aufweisen. In einigen Ausführungsformen kann der physikalische Sensor konfiguriert sein, um zu messen, ob bestimmte vordefinierte Berührungspixel berührt sind oder nicht. In anderen kann der physikalische Sensor auch den Druck oder die Intensität mit dem verschiedenen Pixels berührt werden, messen.
  • Ein Fehlerbeseitigungs- und Aktivitätsdetektiermodul 101 kann Daten von dem physikalischen Sensor empfangen und verschiedene Fehlerbeseitigungsoperationen darauf anwenden. Die Fehlerbeseitigung kann ein Entfernen von Daten, die im Normalfall nicht durch ein beabsichtigtes Berührungsereignis erzeugt worden wären, beinhalten. Außerdem kann das Modul 101 auch eine Aktivitätsdetektierung ausführen. Auf diese Weise kann es detektieren, ob irgendeine Berührungsaktivität auftritt, und falls dies nicht der Fall ist die hereinkommenden Berührungsdaten entfernen (d.h. nicht an die nächste Schicht weiterleiten). Daher kann durch die Vermeidung von unnötiger Verarbeitung von Berührungsdaten Strom gespart werden. Die Schichten 100 und 101 können Teil einer Hardwareschicht sein.
  • Die Schichten 102 und 106 können Teile einer Hardwareabstraktionsschicht sein. Die Hardwareabstraktionsschicht kann vorhanden sein, um höheren Schichten nützlichere Mehrfachberührungsdaten bereitzustellen. Die Schichten 102 und 106 können in Hardware oder Software ausgeführt sein. Eine Mehrfachberührungssprachverarbeitungsschicht 102 kann verwendet werden, um Rohdaten, die gemessene Spannungen kennzeichnen (die ihrerseits Gegenkapazitäten an verschiedenen Berührungspixel kennzeichnen) in verarbeitete Berührungsdaten zu verarbeiten. Die verarbeiteten Berührungsdaten können auf Koordinaten der Berührungspixel beruhen und einen binären Wert aufweisen, der angibt ob ein Pixel berührt ist oder nicht. In anderen Ausführungsformen können die verarbeiteten Berührungsdaten andere oder zusätzliche Daten enthalten, wie zum Beispiel einen Wert für jedes Pixel, der die Stärke mit der ein Pixel berührt wird angibt. Man kann sich die verarbeiteten Berührungsdaten als ein Bild vorstellen, wobei jedes Bildpixel angibt, ob ein korrespondierendes Pixel berührt ist (oder wie stark es berührt ist).
  • Eine Anzeigegraphik-/Eingabeoberflächenkoordinatenübersetzungsschicht 106 kann verwendet werden, um verarbeiteten Berührungsdaten von Berührungsfeldkoordinaten in Anzeigekoordinaten zu übersetzen. Für praktische Zwecke ist der kleinste Bereich, an dem ein Berührungsereignis gemessen werden kann (ein Berührungspixel), größer als ein angezeigtes Pixel. Normalerweise braucht wegen der Größe des menschlichen Fingers die Berührungsauflösung nicht so hoch sein wie die Anzeigeauflösung. Allerdings kann es nützlich sein, die Berührungsdaten auf demselben Koordinatensystem beruhen zu lassen wie die Anzeigedaten, um Berührungsereignisse mit auf dem Schirm anzeigten Elementen (zum Beispiel Knöpfe usw.) zu korrelieren. Zu diesem Zweck kann der Anzeigcgraphik-/Eingabeoberflächenkoordinatenübersetzer verwendet werden, um die Berührungsdaten in Anzeigekoordinaten zu übersetzen. Der Anzeigegraphik-/Eingabeoberflächenkoordinatenübersetzer kann die übersetzten Berührungsdaten an einen MTL-Parser 103 senden. Die durch den MTL-Parser empfangenden Daten können Rasterdaten sein. In anderen Worten, sie können ein oder mehrere Matrizen von mit den entsprechenden Berührungspixeln assoziierten Berührungswerten aufweisen.
  • Die Mehrfachberührungssprach-(MTL)-Parserschicht 103 kann die koordinatenbasierten Berührungsdaten anzeigen und sie verwenden, um auf hoher Ebene eine steucrelementbasierte Schnittstelle zu der Applikationsschicht 105 bereitzustellen. Die Applikationsschicht 105 kann eine oder mehrere Applikationen aufweisen, wie z.B. ein Telefonbuch, E-Mail, eine Kartenapplikation, einen Video- oder Bildbetrachter, usw.
  • Der Betrieb der Applikations- und MTL-Parserschichten ist in größerem Detail in 2 beschrieben. Bei Schritt 200 können eine oder mehrere Applikationen eine oder mehrere Steuerinstanzen definieren und diese an den MTL-Parser senden. Eine Steuerinstanz kann ein Element einer Benutzerinteraktion sein. Es kann sich um eine Taste, einen Knopf, einen Schieber, usw. handeln. Eine Steuerinstanz kann eine bildliche Darstellung aufweisen, und eine Berührungsfunktionalität in sich tragen, d.h. ein Benutzer kann eine auf der Anzeige erscheinende Steuerinstanz berühren, um mit der Applikation, die die Steuerinstanz erzeugt hat, zu kommunizieren. Auf diese Weise kann ein Benutzer eine Taste berühren, um sie zu betätigen, einen Schieber ziehen, um ihn zu bewegen, oder seine/ihre Finger auf einem Knopf platzieren und sie drehen, um den Knopf zu drehen.
  • Die durch die Applikation erzeugten Steuerinstanzen können Instanzen von einem oder mehreren Datentypen sein. Die Typen können zu mehreren Typen von Steuerelementen korrespondieren, wie z.B. Knöpfe, Tasten, Schieber, usw. Die Instanzen können Daten zur Identifizierung der Größe/Form der Steuerelemente, der Position der Steuerelemente, usw. aufweisen. In einigen Ausführungsformen kann die Instanz auch Daten aufweisen, zur Definition der visuellen Darstellung des Steuerelements. In anderen Ausführungsformen kann die Applikation mit anderen Modulen (wie beispielsweise Core Graphik 104) kommunizieren, um die visuelle Darstellung der Steuerelemente zu definieren. Applikationen können fortlaufend neue Steuerinstanzen definieren und ältere Steuerinstanzen durch Kommunikation mit dem MTL-Parser bewegen oder löschen.
  • Beim Schritt 202 kann der MTL-Parser alle aktuellen Steuerinstanzen speichern. Beim Schritt 204 kann der MTL-Parser verarbeitete Berührungsdaten von einer niedrigeren Schicht (wie z.B. der Anzeigegraphik/ Eingabeoberflächenübersetzer) empfangen. Beim Schritt 206 kann der MTL-Parser die empfangenen Daten auf die gespeicherten Steuerinstanzen anwenden, um Interaktionen mit den Instanzen zu bestimmen - d.h. ob Tasten gedrückt, Knöpfe gedreht wurden, usw.
  • Beispielsweise kann der MTL-Parser den durch eine Tasteninstanz definierten Bereich untersuchen und prüfen, ob die verarbeiteten Berührungsdaten irgendwelche Berührungsereignisse in diesem Bereich anzeigen. In einigen Instanzen kann es erforderlich sein, dass der MTL-Parser eine Steuerinstanz sowohl auf historische Berührungsdaten als auch auf aktuelle Berührungsdaten anwendet, um zu bestimmen, wie ein Benutzer mit dieser Instanz interagiert. Zum Beispiel kann es für einen Knopf erforderlich sein, dass der MTL-Parser sowohl frühere Berührungspositionen auf und um den Knopf herum als auch ihre aktuellen Positionen untersucht, um zu bestimmen, ob der Knopf gedreht wird. Der MTL-Parser kann dies erreichen, indem er historische verarbeitete Berührungsdaten speichert und sie während Schritt 206 verarbeitet. Alternativ kann der MTL-Parser Zwischendaten abspeichern, die für jeden Steuertyp spezifisch sind. Wenn z.B. eine einzige Steuerinstanz vom Knopftyp vorhanden ist, kann der MTL-Parser nur historische Berührungsdaten für den durch diese Instanz definierte Bereich behalten, und die historischen Daten nur für eine spezifische zurückliegende, für die Bestimmung einer Knopfdrehung erforderliche Periode behalten (z.B. kann sie nur einen früheren Abtastrahmen behalten). Einige Steuerelemente, die historische Daten verwenden, können auch als inkrementelle Steuerelemente bezeichnet werden, da sie oft nur historische Daten eines früheren Abtastrahmens verwenden und auf diese Weise schrittweise Änderungen messen.
  • Beim Schritt 208 kann der MTL-Parser verschiedene in Schritt 206 erhaltene Ergebnisdaten an verschiedene Applikationen senden. Die Ergebnisdaten können zu den Steuerinstanzen gehören, die die Applikationen dem Parser geschickt haben. Genauer, die Ergebnisdaten können mit den Steuertypen assoziiert sein, die die Steuerinstanzen definieren. Daher kann beispielsweise ein einfacher Tastentyp einen binären Wert als seine Ergebnisdaten definieren, der angibt, ob die Taste betätigt ist oder nicht. Ein Knopfsteuertyp kann eine Integerzahl als seine Ergebnisdaten definieren, die einen Drehwinkel des Knopfs angibt.
  • Ausführungsformen der Erfindung können also Applikationsprogrammierung stark erleichtern und die Datenmenge, die Applikationen zu verarbeiten haben, reduzieren, indem sie eine niedriger liegende MTL-Parserschicht bereitstellen, die kompakt und einfach zu verwendende Ergebnisdaten an die Applikationen sendet. Außerdem kann der MTL-Parser, da er Kenntnis aller Steuerinstanzen hat, die Bereiche auf der Anzeige, für die Berührungsdaten für die Applikationen relevant sind (d.h. es gibt Steuerinstanzen in diesem Bereich) sowie diejenigen, für die dies nicht gilt, verfolgen. Auf diese Weise kann der MTL-Parser die Effizienz erhöhen, indem er Berührungsdaten für irrelevante Bereiche nicht verarbeitet. Des Weiteren kann der MTL-Parser die Effizienz von unter ihm liegenden Schichten verbessein, indem er sie instruiert, irrelevante Daten nicht zu verarbeiten. In einigen Ausführungsfonnen kann der MTL-Parser sogar das Berührungsfeld selbst instruieren, Berührungsdaten aus irrelevanten Regionen des Feldes nicht zu verarbeiten. Dies kann Strom sparen, da das Berührungsfeld ein Stimulationssignal auch abschalten kann (erforderlich für Berührungsmessung gemäß einiger Ausführungsfonnen).
  • In früheren Systemen verarbeitet der MTL-Parser Berührungsdaten ohne von den verschiedenen, durch verschiedene Applikationen angezeigten Steuerelementen Kenntnis zu haben. Auf diese Weise kann der Parser Berührungsdaten in einem Standardformat verarbeiten. Beispielsweise kann der Parser Gruppen von Pixels. die berührt wurden, in Berührungsbereichen zusammen gruppieren, die Berührungsbereichen in Ellipsen (und/oder anderen einfach zu definierenden Formen) einpassen, und die verschiedenen Ellipsen oder anderen Formen definierenden Daten an die Applikationen senden. Die Applikationen würden dann diese Formen zu verarbeiten haben und sie mit den durch die Applikationen auf dem Schirm angezeigten Steuerelementen vergleichen, um zu bestimmen, ob und wie der Benutzer mit diesen Steuerelementen interagiert. Einige Ausführungsformen der Erfindung können die letztere beschriebene Funktionalität zusammen mit der oben beschriebenen auf fortgeschrittenen Steuertypen basierenden Funktionalität aufweisen, um Vorgängerapplikationen zu unterstützen und/oder einige Instanzen zu unterstützen, in der die steuertypbasierte Funktionalität nicht optimal sein kann.
  • Während es auf den ersten Blick scheinen mag, dass die Vorgängersysteme einen höheren Präzisionsgrad ermöglichen, da sie wirkliche Berührungsdaten an die Applikationen weiterleiten, muss das nicht immer der Fall sein. Zum Beispiel können in einigen Fällen die steuerinstanzbasierten Systeme der vorliegenden Erfindung die Absicht des Benutzers genauer feststellen, als Vorgängersysteme. Vorgängersysteme komprimieren normalerweise die Berührungsdaten bevor sie sie an die Applikationen weiterleiten (z.B. indem sie sie in Ellipsen oder andere Formen umwandeln, wie oben diskutiert) um zweckmäßig zu sein. Allerdings können die komprimierten Daten möglicherweise die Absichten des Benutzers nicht korrekt übermitteln. Andererseits kann, gemäß Ausführungsfonnen der Erfindung, der MTL-Parser Steuerinstanzen jedes Steuertyps unterschiedlich verarbeiten. Auf diese Weise können Steuertypen so vordefiniert werden, dass sie so korrekt wie möglich die Benutzerabsicht interpretieren. Daher können die Ausführungsformen der Erfindung, selbst wenn sie nicht tatsächlich Berührungsdaten an die Applikationen weiterleiten, es den Applikationen ermöglichen, Benutzerabsichten genauer zu interpretieren.
  • Außerdem würde der Fachmann erkennen, dass Ausführungsformen dieser Erfindung viel weniger Verarbeitung benötigen als die Vorgängersysteme. In den Vorgängersystemen kann es für den Parser erforderlich sein, alle oder fast alle hereinkommenden Berührungsdaten zu verarbeiten und an die Applikationen zu senden, da er keine Kenntnis davon hat, welche Datentypen die Applikationen benötigen. Zusätzlich würden die Applikationen die durch den Parser empfangenen Daten erneut verarbeiten müssen, um zu bestimmen, wie sie auf die bestimmten durch die Applikationen verwendeten Steuerelemente anzuwenden sind. In Ausführungsformen der vorliegenden Erfindung hat der Parser Kenntnis davon, welche Berührungsdaten die Applikationen benötigen und kann die Verarbeitung auf das beschränken, was für die Applikationen relevant ist. Außerdem sendet der Parser an die Applikationen Daten, die bereits mit den Steuerelementen der Applikationen assoziiert sind, wodurch die Bearbeitung, die die Applikationen für die hereinkommenden Berührungsdaten aufwenden müssen, minimiert oder komplett eliminiert werden.
  • 3 zeigt verschiedene Steuerinstanzen verschiedener Steuertypen, wie auf einem Schirm angezeigt. Beispielsweise können eine oder mehrere Instanzen vom Tastentyp (wie z.B. Taste 300) verwendet werden. Eine Taste kann verwendet werden, um zu detektieren, ob ein Benutzer die Taste betätigt oder drückt. Schiebersteuerelemente 301 und 302 können ebenso verwendet werden. Schieber können detektieren, wenn ein Benutzer seinen/ihre Finger entlang des Steuerelements verschiebt. Ein Dreh- oder Knopfsteuerelement (wie z.B. Knopf 303) kann ebenfalls verwendet werden. Ein Knopfsteuerelement kann die Drehung von gegen den Knopf gedrückten Fingern detektieren. Schieber- und Knopfsteuerelemente können die Steuertypen sein, die historische Daten erfordern. Auf diese Weise kann der MTL-Parser frühere Berührungszustände des Schiebers oder Knopfs mit aktuellen vergleichen, um zu bestimmen, ob eine Verschiebung und/oder Drehung auftritt. Außerdem kann ein Berührungsfeldsteuerelement 304 verwendet werden. Ein Berührungsfeldsteuerelement kann vorgesehen sein, um ein Berührungsfeld eines Computernotebooks zu emulieren, und kann verwendet werden, um verschiedene Berührungsereignisse auf dem Berührungsfeld zu detektieren. Das Bercilirtingsfeldsteuerelement kann auch Funktionalität aufweisen, die zusätzlich zu der eines herkömmlichen Notebook-Computerberührungsfeldes ist, in dem komplexere Ereignisse, wie z.B. das Spreizen von Fingern usw. detektiert werden. So kann beispielsweise das Berührungsfeldsteuerelement eine Navigationsoberfläche sein, die die seitliche Bewegung der Hand, Druck der Hand gegen die Oberfläche, Spreizen und Zusammenziehen der Hand, eine Drehung der Hand auf der Oberfläche sowie die Anzahl der Kontaktflecken auf der Oberfläche detektiert.
  • 4 zeigt die Transparenz- und/oder Intransparenzsoptionen für Steuerelemente entsprechend Ausführungsformen der Erfindung. Entsprechend einiger Ausführungsformen können verschiedene Steuerelemente übereinander gelagert oder so definiert werden, dass sie beide denselben Bereich abdecken. So können z.B. die Steuerelemente 400 und 401 beide den Überschneidungsbereich 403 abdecken. Einige Ausführungsformen erlauben es, dass die Steuerelemente als transparent oder intransparent definiert sind. Im Falle transparenter Steuerelemente können beide Steuerelemente Berührungsereignisse im gemeinsamen Bereich auf die gleiche Weise detektieren, als wenn es keine Überlagerung gäbe. So können für den Fall, das die Steuerelemente 400 und 401 beide Tasten sind und ein Finger auf den Bereich 402 gedrückt wird, beide Steuerelemente die Berührung des Fingers detektieren.
  • Entsprechend einiger Ausführungsformen können die Steuerelemente intransparent sein. Wenn Intransparenz verwendet wird, können verschiedene Steuerinstanzen einen Niveauparameter aufweisen. Eine intransparente Steuerinstanz kann jede unter ihr befindliche Steuerinstanz abschirmen und wenigstens einen Teil ihres Bereiches schneiden. In einigen Ausführungsformen können Instanzen mit dem niedrigsten Niveauparameter als dem höchsten Niveau zugehörig betrachtet werden (d.h. mit allen anderen Instanzen unter ihnen liegend), aber andere Anordnungen sind möglich. So kann also unter der Annahme, dass die Instanz 400 intransparent sein kann und ein höheres Niveau aufweist als Instanz 401, die Instanz 400 die Instanz 401 abschirmen (d.h. verhindern, dass Berührungsereignisse bei der Instanz 401 registriert werden). In einigen Ausführungsformen tritt Abschirmung nur in den Bereichen auf, in denen die intransparente Instanz die unter ihr liegende Instanz überlagert. So kann für das Beispiel der 4 eine Abschirmung im überlagerten Bereich 403 auftreten (und so die Berührung 402 abschirmen), aber nicht im Bereich 404, wo keine Überlagerung auftritt.
  • In einigen Ausführungsformen, die Stärke oder Druck der Berührung zusätzlich zu Berührungsereignissen messen, kann die Intransparenz von Steuerelementen nur partiell sein. Ein partiell in transparentes Steuerelement kann ein Steuerelement unter sich nicht vollständig abschirmen, sondern nur die Stärke des Berührungsereignisses für das Steuerelement unter sich reduzieren.
  • Die folgende Beschreibung diskutiert eine Reihe von Ausführungsformen der Erfindungen im Detail. Entsprechend dieser vorliegenden Ausführungsformen können die MTL-Steuerelemente die folgenden Definitionen benützen:
    • - Definition für den Bereich des Steuerelements: „Steuerbereiche“;
    • - Definition der Steuertypen, einschließlich welche Art von Ausgabedaten von dem Steuerelement erwünscht ist: „Steuertypdefinitionen“ (diese bezeichnen Definitionen für Steuerbereiche;
    • - Definition von Steuerinstanzen, mit den X-, Y-Positionen für jedes Steuerelement: „Steuerinstanzen“ oder einfach „Steuerungen“, die Steuertypen bezeichnen.
  • Sobald Steuerinstanzen definiert sind, können Steuerausgangsdaten (oder Ergebnisdaten) durch jede Steuerinstanz, die gegenwärtig eine Benutzeraktivität erfährt, generiert werden. Normalerweise können Steuerungen, die gerade nicht aktiv verwendet werden, „ruhig“ sein und keine Daten ausgeben.
  • Die Steuerausgangsdaten können enthalten:
    • - Die Anzahl der Steuerungen, die gegenwärtig aktiv sind;
    • - für jede aktive Steuerung:
      • - CTRLID - einen Steueridentifizierungskode, der die Ausgangsdaten mit der Steuerinstanz assoziiert
      • - Datensatz - ein Satz von Daten, der zusätzliche Informationen bezüglich des Status der Steuerung oder einen inkrementellen Status der Steuerung seit dem letzten Ausgangsdatenreport liefert. Im Spezialfall einer Taste, ist ein Datensatz nicht erforderlich, weil die Anwesenheit von CTRLID ausreichend sein kann, um anzuzeigen, dass die Taste gegenwärtig betätigt ist.
  • Eine Steuerinstanz kann ein reales Steuerelement, beispielsweise eine Taste sein. Steuerinstanzen können auf Steuertypen verweisen, die vor der Definition der Steuerinstanzen definiert werden können. Beispielsweise kann ein Steuertyp die Form und das Verhalten einer Taste beschreiben. Viele Steuerinstanzen können sich auf denselben Steuertyp beziehen (beispielsweise können sich viele Steuerinstanzen auf eine Taste beziehen, um eine virtuelle Tastatur zu konstruieren).
  • Steuerelemente können sich in analoger Weise zu überlappenden graphischen Objekten auf einer Anzeige überlappen. „Order“ (in der Steuerinstanz definiert) und ein Intransparenzparameter (in dem Steuertyp definiert) können verwendet werden, um das Verhalten sich überlappender Steuerelemente wie folgt zu bestimmen:
    • - Für intransparente Steuerelemente, extrahieren die Steuerelemente, die zuerst verarbeitet werden (mit den niedrigsten Order-Werten) ein Signal aus dem Rohbild entsprechend ihrer Bereichsmaske, und subtrahieren das verwendete Signal, so dass es NICHT für Steuerungen zugänglich ist, die später verarbeitet werden (höhere Order-Werte).
    • - Für transparente Steuerelemente, extrahieren sie ein Signal aus dem Rohbild entsprechend der Bereichsmaske, aber sie subtrahieren das verwendete Signal nicht, so dass das verwendete Signal IS für eine Wiederverwendung durch später verarbeitete Steuerelemente zur Verfügung steht.
  • Eine Analogie zu einander überlappenden Objekten auf einer Anzeige kann erweitert werden: Intransparente Steuerelemente mit den niedrigsten Order-Werten können analog Anzeigeobjekten sein, die dem Benutzer am nächsten sind, welche die Sichtbarkeit von weiter vom Benutzer entfernten Anzeigeobjekten stören. Transparente Steuerelemente können analog zu transparenten Anzeigeobjekten sein, weil weiter vom Benutzer entfernte Anzeigeobjekte immer noch durch die transparenten Steuerelemente sichtbar sind. Tabelle 1 (Steuerinstanzparameter)
    Definition Eingabeparameter für Steuerinstanz Beschreibung Typ Bedeutung
    T Alias für Steuertyp unsigned int Bezeichnung
    X X Koordinate der Steuerzeichenbox untere linke Ecke unsigned byte Eingabepixel
    Y Y Koordinate der Steuerzeichenbox untere linke Ecke unsigned byte Eingabepixel
    Order Reihenfolge der Verarbeitung von Steuerelementen, vom ersten zum letzten. unsigned int 0 = zuerst zu verarbeiten, 1 = 2., 2 = 3., usw.
    Definition Ausgabeparameter für Steuerinstanz Beschreibung Typ Bedeutung
    CTRLID Steuerinstanz ID Kode, um Ausgabereportdaten mit Steuerinstanzdefinition zu assoziieren unsigned int Eindeutige ID für Steuerinstanz
  • Steuerbereiche können wieder verwendbare Definitionen von Formen sein, auf die durch Steuertypen referenziert werden kann. Mehr als ein Steuertyp kann dcnselben Steuerbereich referenzieren. Koordinaten können sich auf den lokalen Ursprung beziehen, der in der Steuerinstanz festgelegt werden kann. Der lokale Ursprung kann als die untere linke Ecke der Zeichenbox definiert sein.
  • Eine Rechteckbereichsdefinition kann einen einfachen rechteckigen Bereich definieren. Der gesamte Bereich innerhalb des Rechtecks kann für Eingaben des durch den Steuertyp festgelegten Typs aktiv sein. Tabelle 2 (Rechteckiger Bereich)
    Eingabeparameter Beschreibung Typ Bedeutung
    M Höhe Zeichenbox (Y Dimension) unsigned byte Eingabepixels
    N Länge der Zeichenbox (X Dimension) unsigned byte Eingabepixels
    Ausgabeparameter Beschreibung Typ Bedeutung
    R Alias für Bereich - kann durch Steuertypdefinitionen referenziert werden unsigned int Bezeichnung
  • Eine Definition eines binären Maskenbereichs kann eine beliebige Form innerhalb einer einfachen rechteckigen Zeichenbox definieren. Der gesamte mit einer „1“ assoziierte Bereich kann für Eingaben des durch den Steuertyp spezifizierten Typs aktiv sein. Der gesamte, mit einer „0“ assoziierte Bereich kann für Eingaben inaktiv sein. Tabelle 3 (Zeichenmaske)
    Eingabeparameter Beschreibung Typ Bedeutung
    M Höhe Zeichenbox (Y Dimension) unsigned byte Eingabepixels
    N Länge Zeichenbox (X Dimension) unsigned byte Eingabepixels
    Eingabeparameter Beschreibung Typ Bedeutung
    Mask Binäre Matrix, 2D-Bild, definiert aktive und inaktive Bereiche innerhalb der Zeichenbox Matrix aus Bits der Größe MXN 1 = aktiv, 0 = inaktiv
    Ausgabeparameter Beschreibung Typ Bedeutung
    R Alias für Bereich - kann durch Steuertypdefinitionen referenziert werden unsigned int Bezeichnung
  • Ein gestaffelter Maskenbereich kann eine beliebige Form mit gestaffelter Empfindlichkeit innerhalb einer einfachen rechteckigen Zeichenbox definieren. An jedem Element kann ein skalarer Wert die relative Empfindlichkeit an diesem Punkt bestimmen. Alle Pixels mit einer „0“ können für Eingaben inaktiv sein. Pixels mit „255“ können volle Empfindlichkeit aufweisen. Pixels mit „127“ können 50% Empfindlichkeit aufweisen. Table 4 (Gestaffelte Maske)
    Eingabeparameter Beschreibung Typ Bedeutung
    M Höhe Zeichenbox (Y Dimension) unsigned byte Eingabepixels
    N Länge Zeichenbox (X Dimension) unsigned byte Eingabepixels
    Mask Unsigned-Byte Matrix, 2D-Bild, definiert aktive und inaktive Bereiche innerhalb der Zeichenbox Matrix aus unsigned Bytes der Größe MXN 255 = aktiv, 0 = inaktiv
    Ausgabeparameter Beschreibung Typ Bedeutung
    R Alias für Bereich - kann durch Steuertypdefinitionen referenziert werden unsigned int Bezeichnung
  • Steuertypen können Bereichsdefinitionen referenzieren und funktionale Anforderungen hinzufügen, um funktionale wiederverwendbare Steuertypen zu bilden, die verwendet werden können, um verschiedene Steuerinstanzen aufzurufen. Ein Beispiel für eine spezielle Steuertypdefinition kann die Beschreibung einer Taste einer Tastatur sein. Es kann zwei Hauptfamilien von Steuertypen geben: (i) Tastensteuertypen und (ii) Multi-DOF-Steuertypen.
  • Multi-DOF-Steuertypen beziehen sich auf Steuertypen, die mehrere Freiheitsgrade zulassen. Sie können einen konfigurierbaren Satz von Ausgangsparametern bereitstellen, die in Gruppenausgaben und Mehrfachpunktausgaben klassifiziert werden können:
    • Gruppenausgaben können Parameter sein, die alle auf dem Steuerbereich gefundene Kontaktflecken verwenden. Diese Ausgaben können optimiert sein für gleichmäßiges Druckverfolgen, gleichmäßiges XY-Verfolgen, gleichmäßige Drehungsverfolgung, gleichmäßige R-Verfolgung und Verfolgung der geschätzten Anzahl von Klecksen. Sie können während Zustände des Zusammenkommens oder Trennens von Kontaktflecken auftreten, bessere Ergebnisse liefern als Mehrfachpunktausgaben.
  • Mehrfachpunktausgaben können Listen von Kontaktflecken sein, die für jeden Kontaktfleck Attribute aufweisen. Diese können gute Ergebnisse liefern, wenn Kontaktpunkte getrennt sind, aber liefern möglicherweise nicht so gute Ergebnisse als Gruppenausgaben während Zuständen des Zusammenkommens und Trennens von Kontaktflecken vorliegen.
  • Zusätzlich zu „Gruppe“ gegenüber „Mehrfach-Punkt“, können Ausgaben breit als „instantan“ oder „inkrementell“ kategorisiert werden. Instantane Ausgaben brauchen nicht von früheren Bilddaten abhängen. Einige der instantanen Ausgaben können sich abrupt ändern, wenn neue Kontaktflecken eingebunden, ausgeschlossen, in einem gemeinsamen Bereich aufgenommen oder Kontaktpunkte von einem gemeinsamen Bereich separiert werden. Inkrementelle Ausgaben können sowohl das aktuelle Bild als auch das letzte Bild verwenden. Das Ziel für inkrementelle Ausgaben kann sein, dass sie fortlaufen kontinuierliche, gleichmäßige, sinnvolle Daten, die wirklich die Absicht des Benutzers repräsentieren liefern, trotz Änderungen wegen der Addition, Subtraktion, dem Zusammenführen oder der Trennung von Kontaktflecken. Die einzelnen Ausgaben und damit assoziierten Berechnungen können durch den in der Steuertypdefinition definierten Klassenparameter aktiviert/deaktiviert werden, wie in der folgenden Tabelle illustriert. Tabelle 5 (Typen von Ausgaben)
    Instantane Ausgaben Inkrementelle Ausgaben
    Gruppen Ausgaben CTRLID: Steuerung Aktiv Klasse5: XGinc, YGinc
    Klasse0: Ztot, AG Klasse6: RGinc
    Klasse1: XG, YG Klasse7: ThetaGinc
    Klasse2: RG
    Klasse3: NBG
    Klasse4: ThetaG, ECG
    MehrfachpunktAusgaben Klasse8: NPTS, für jeden Punkt: PTID, Z, A, X, Y
    Klasse9: für jeden Punkt: R, Theta, EC
  • Die folgende Tabelle kann beispielhafte Steuerapplikationen und die damit assoziierten Steuertypempfehlungen sowie eine beispielhafte Parameterzuordnung illustrieren. Table 6 (Beispielhafte Steuerapplikationen)
    Beispiel Steuerapplikation Beispiel Steuertyp Beispiel Parameterzuordnung
    Bildschirmtastatur Taste CTRLID Taste betätigt
    Virtuelles Gaspedal Multi-DOF, Klasse0 CTRLID Gaspedal wird verwendet
    Ztot Wie stark wird das Gaspedal getreten
    „Einfach-Berührung“ absolute Cursorsteuerung Multi-DOF, Klasse0, Klasse1 CTRLID Cursor wird bewegt
    Ztot Verwendet, um zu bestimmen, ob Taste betätigt ist oder nicht
    XG, YG Absolute Koordinatensteuerung Cursor
    Trackpad mit inkremeteller Cursorbewegung und Scroll-/Schwenkausgaben Multi-DOF, Klasse0, Klasse3, Klasse5 CTRLID Trackpad wird verwendet
    Ztot Verwendet, um zu bestimmen, ob während des Zeigens Taste betätigt ist oder nicht
    NBG Wenn NBG = 1, dann Zeigemodus. Wenn NBG>1 dann Navigationsmodus
    XGinc, YGinc Für Zeigemodus, verwendet für relative (inkrementelle) Koordinatensteuerung Cursor. Für Navigationsmodus, dann für Scrollen/Schwenken verwendet
    Inkrementelle Navigationssteuerung im Trackpad-Stil mit inkrementeller Cursorbewegung und Scroll-/ Schwenk-/Zoom-/ Multi-DOF, Klasse0, Klasse 3, Klasse 5. Klasse 6, CTRLID NavPad wird verwendet
    Ztot Verwendet, um zu bestimmen, ob während des Zeigens Taste betätigt oder nicht
    Drehausgaben Klasse 7 NBG Wenn NBG = 1, dann Zeigemodus. Wenn NBG>1 dann Navigationsmodus
    XGinc, YGinc Im Zeigemodus verwendet für relative (inkrementelle) Koordinatensteuerung Cursor. Im Navigationsmodus verwendet für Scrollen/Schwenken
    RGinc Im Navigationsmodus verwendet als Zoomsteucrung
    ThetaGinc Im Navigationsmodus verwendet für Drehsteuerung
    Fenster für absolute Manipulationsinteraktion Multi-DOF, Klasse 1, Klasse5, Klasse6, Klasse7 CTRLID Steuerung wird verwendet
    XG, YG Verwendet, um den absoluten Mittelpunkt für Drehung eines manipulierten graphischen Objekts zu bestimmen
    XGinc, YGinc Seitliche Bewegung eines manipulierten graphischen Objekts
    RGinc Skalierung (oder Zoomfaktor) des manipulierten Objekts
    ThetaGinc Drehung des manipulierten Objekts
    Gesteninterpretation Beispiel: Lege Hände auf die Oberfläche, um amorphe Tastatur nach oben zu bringen Multi-DOF, Klasse8, kann transparent sein, niedrigste Order, koexistierfähig mit anderen Steuerungen CTRLID Steuerung wird verwendet
    NPTS, PTID. X, Y Wenn NPTS>8 und die Liste von Punkten annährend dem Kontaktmuster einer Tastatur entspricht, bringe die virtuelle Tastatur herauf
    Fingermalen. Manipulation des iTunes-Visualisierers usw. Multi-DOF, Klasse8, Klasse9 CTRLID Steuerung wird verwendet
    NPTS, PTID, Z, A, X, Y, R, Theta, EC Jeder Punkt kann durch eine äquivalente Ellipse angenähert werden, die dann verwendet werden könnte zum Fingernialen oder irgendetwas anderem.
  • Ein Tastensteuertyp kann ein relativ einfaches Steuerelement sein, das für Bildschirmtastaturen gedacht ist. Tabelle 7 (Tasten steuer typ)
    Definition Eingabeparameter für Tastensteuertyp Beschreibung Typ Bedeutung
    H Alias für Bereichsdefinition unsigned int Bezeichnung
    ZDIV Steuert die Skalierung von Ztot unsigned byte Anzahl von Rechtsverschiebungen, die auf Summe anzuwenden sind, bei Berechnung von Ztot
    Zon Schwelle für Taste betätigt unsigned int Wenn Ztot Zon überschreitet, Taste ist betätigt
    Zoff Schwelle für Taste nicht betätigt unsigned int Wenn Ztot Zoff unterschreitet, ist Taste nicht betätigt
    Opc Intransparenzsteuerung - bestimmt, ob durch diesen Steuerbereich verwendetes Signal für nachfolgende überlappende Steuerelemente mit höheren Order-Werten verfügbar ist Binary 1 = intransparent, 0 = transparent
    Definition Ausgabeparameter für Tastensteuertyp Beschreibung Typ Bedeutung
    T Alias für Steuertyp - kann durch Steuerinstanz referenziert werden unsigned int Bezeichnung
    Reportausgabeparameter für Tastensteuerelement Beschreibung Typ Bedeutung
    CTRLID Steuerinstanz ID Kode, um Ausgabereportdaten mit Steuerinstanzdefinition zu assoziieren unsigned int Eindeutige ID für Steuerinstanz
  • Für den Spezialfall einer Taste kann „Dataset“ nicht erforderlich sein, da das Vorhandensein von CTRLID in der Ausgabereportliste ausreichend sein kann, um anzuzeigen, dass die Taste gegenwärtig betätigt ist.
  • Im Folgenden werden einige beispielhafte Algorithmen zur Verarbeitung von Berührungsdaten für Tastensteuertypen beschrieben. Bilddaten in einem Bereich können nach Fehlerbeseitigung durch eine Unsigned Byte Matrix D(p,q) repräsentiert werden, wobei p die Zeilennummer repräsentieren kann von 0 (unten) bis M - 1 (oben), und q kann die Spaltennummer repräsentieren von 0 (links) bis N - 1 (rechts). Wenn D(p,q) = 0, kann kein Eingangssignal an diesem Pixel gemessen werden. Wenn D(p,q) = 255, kann ein Maximalsignal an diesem Pixel gemessen werden. Für eine rechteckige Maske: Z ( p , q ) = D ( p , q )
    Figure DE102008028223B4_0001
  • Binäre Maskendaten können in einer Bitmatrix M(ii) gespeichert werden wobei i die Zeilennummer von 0 (unten) bis Ylen - 1 (oben) und j die Spaltennummer von 0 (links) bis Xlen - 1 (rechts) repräsentieren kann. Daher gilt für eine binäre Maske: Z ( p , q ) = D ( p , q ) * M ( p , q )
    Figure DE102008028223B4_0002
  • Gestaffelte Maskendaten können in einer Matrix G(ij) aus unsigned Bytes gespeichert werden, wobei i die Zeilennummer von 0 (unten) bis Ylen - 1 (oben) repräsentieren kann und j die Spaltennummer von 0 (links) bis Xlen - 1 (rechts) repräsentieren kann. Z ( p , q ) = D ( p , q ) * M ( p , q ) 256
    Figure DE102008028223B4_0003
  • Ztot kann wie folgt berechnet werden: Z t o t = p = 0 M 1 q = 0 N 1 Z ( p , q ) 2 Z D I V
    Figure DE102008028223B4_0004
  • Eine Tastenschwellenerfassung kann wie folgt durchgeführt werden: Wenn  ( TASTE = = AUS )  Wenn Ztot > Zon then TASTE = EIN Wenn  ( TASTE = = EIN )  Wenn Ztot < Zoff dann TASTE = AUS
    Figure DE102008028223B4_0005
  • Ein Multi-DOF Steuertyp kann wie folgt definiert werden: Tabelle 8 (Multi-DOF Steuertyp)
    Definition Eingabeparameter für Multi-DOF Steuertyp Beschreibung Typ Bedeutung
    H Alias zur Bereichsdefinition unsigned int Bezeichnung
    ZDIV Steuert die Skalierung von Ztot unsigned byte Anzahl von auf Summe anzuwendender Rechtsverschiebungen bei der Berechnung von Ztot
    Zon Schwelle für Aktivierung des Steuerelements unsigned int Wenn Ztot Zon überschreitet, ist Steuerelement aktiv (Ausgabedaten werden ausgegeben)
    Zoff Schwelle für Deaktivierung des Steuerelements unsigned int Wenn Ztot Zoff unterschreitet, ist Steuerelement inaktiv (keine Ausgabedaten)
    Opc Intransparenzsteuerung - bestimmt, ob das durch diesen Steuerbereich verwendete Signal für nachfolgende, überlappende Steuerelemente mit höheren Order-Werten verfügbar ist Binary 1 = intransparent, 0 = transparent
    Klasse0 Aktiviere Klasse 0 Parameter Binary 1 = ein, 0 = aus
    Klasse1 Aktiviere Klasse 1 Parameter Binary 1 = ein, 0 = aus
    Klasse2 Aktiviere Klasse 2 Parameter Binary 1 = ein, 0 = aus
    Klasse3 Aktiviere Klasse 3 Parameter Binary 1 = ein, 0 = aus
    Klasse4 Aktiviere Klasse 4 Parameter Binary 1 = ein, 0 = aus
    Klasse5 Aktiviere Klasse 5 Parameter Binary 1 = ein. 0 = aus
    Definition Eingabeparameter für Multi-DOF Steuertyp Beschreibung Typ Bedeutung
    Klasse6 Aktiviere Klasse 6 Parameter Binary 1 = ein, 0 = aus
    Klasse7 Aktiviere Klasse 7 Parameter Binary 1 = ein, 0 = aus
    Klasse8 Aktiviere Klasse 8 Parameter Binary 1 = ein, 0 = aus
    Klasse9 Aktiviere Klasse 9 Parameter Binary 1 = ein, 0 = aus
    Definition Ausgabeparameter für Multi-DOF Steuertyp Beschreibung Typ Bedeutung
    T Alias für Steuertyp - kann durch Steuerinstanz referenziert werden unsigned int Bezeichnung
    Reportausgabe Parameter für Multi-DOF Steuerelement Beschreibung Typ Bedeutung
    CTRLID Steuerinstanz ID Kode zur Assoziierung von Ausgabereportdaten mit Steuerinstanzdefinition unsigned int Eindeutige ID für Steuerinstanz
    Ausgabeparameter, nur verfügbar, wenn Klasse0 = 1
    Ztot Integriertes Gesamtsignal für die Gruppe unsigned int
    AG Gesamtbereich von Inputpixels, die Werte höher als 50 % der Spitze für die Gruppe aufweisen unsigned int Eingabepixels
    Reportausgabe Parameter für Multi-DOF Steuerelement Beschreibung Typ Bedeutung
    Ausgabeparameter, nur verfügbar, wenn Klasse2 = 1
    XG X Koordinate des Schwerpunkts für Gruppe unsigned int 1/64 Eingabepixels, relativ zu lokaler Zeichenbox
    YG Y Koordinate des Schwerpunkts für Gruppe unsigned int 1/64 Eingabepixels, relativ zu lokaler Zeichenbox
    Ausgabeparameter, nur verfügbar, wenn Klasse2 = 1
    RG Maß für den durchschnittlichen Radius vom Schwerpunkt zum Signal im Kontaktfleck. Analog zum Radius der Drehbewegung Integer 1/64 Eingabepixels
    Ausgabeparameter, nur verfügbar, wenn Klasse3 =1
    NBG Schätzwert für Anzahl von „Stößen“ in der Gruppe unsigned byte Anzahl der Stöße
    Ausgabeparameter, nur verfügbar, wenn Klasse4 = 1
    ThetaG Winkel der ersten Trägheitshauptachse relativ zur X Achse der Vorrichtung. Die zweite Hauptachse ist um 90 Grad gegenüber der ersten Hauptachse gedreht signed int 1/10 Grad Schritte... -900 = -90.0 Grad, +900 = 90.0 Grad
    ECG Exzentrizität: Verhältnis der Hauptträgheitsmomente: erstes Hauptmoment geteilt durch zweites Hauptmoment unsigned byte Gültigkeitsbereich: 1 = 0.1 bis 10 = 1.0 bis 255 = 25.5
    Reportausgabe Parameter für Multi-DOF Steuerelement Beschreibung Typ Bedeutung
    Ausgabeparameter, nur verfügbar, wenn Klasse5 = 1
    XGinc Änderung in XG Parameter, enthält keine Änderungen des Parameters wegen Änderungen im Merkmalssatz signed int 1/64 Eingabepixels
    YGinc Änderung in YG Parameter, enthält keine Änderungen des Parameters wegen Änderungen im Merkmalssatz signed int 1/64 Eingabepixels
    Ausgabeparameter, nur verfügbar, wenn Klasse6 = 1
    RGinc Anderung in RG Parameter, enthält keine Änderungen des Parameters wegen Änderungen im Merkmalssatz signed int 1/64 Eingabepixels
    Ausgabeparameter, nur verfügbar, wenn Klasse7 = 1
    ThetaGinc Änderungen in ThetaG Parameter, ohne Parameteränderung wegen Änderungen im Merkmalssatz signed int 1/10 Grad Schritte
    Ausgabeparameter, nur verfügbar, wenn Klasse8 = 1
    NPTS Anzahl zu meldender Kontaktflecken unsigned byte # von Flecken
    Für jeden angezeigten Kontaktfleck werden die folgenden Daten ausgegeben...
    PTID Punkt ID, ermöglicht das Verfolgen von Kontaktflecken über mehrere Reports hinweg unsigned byte ID Bezeichnung
    Reportausgabe Parameter für Multi-DOF Steuerelement Beschreibung Typ Bedeutung
    Z Integriertes Gesamtsignal für den Kontaktfleck unsigned int
    A Gesamtbereich von Eingabepixels, die Werte höher als 50 % der Spitze für den Kontaktfleck aufweisen unsigned int Eingabepixels
    X X Koordinate des Schwerpunkts für den Kontaktfleck unsigned int 1/64 Eingabepixels, relativ zum lokalen Ursprung des Steuerelements
    Y Y Koordinate des Schwerpunkts für den Kontaktfleck unsigned int 1/64 Eingabepixels, relativ zum lokalen Ursprung des Steuerelements
    Ausgabeparameter, nur verfügbar wenn Klasse9 = 1
    R Maß für die durchschnittliche Entfernung vom Schwerpunkt zum Signal in Kontaktfleck(en). Analog zum Radius der Drehbewegung unsigned int 1/64 Eingabepixels
    Theta Winkel zwischen minimaler Trägheitshauptachse und X Achse der Vorrichtung. Die minimale Hauptachse korrespondiert zu der langen Achse für eine repräsentative Kontaktfleckellipse signed int 1/10 Grad Schritte... -900 = -90.0 Grad, +900 = 90.0 Grad.
    EC Exzentrizität: Verhältnis der Hauptträgheitsmomente: erstes Hauptmoment geteilt durch zweites Hauptmoment unsigned byte Gültigkeitsbereich: 1 = 0.1 bis 10 = 1.0 bis 255 = 25.5
  • Im Folgenden sind einige Algorithmen für die Verarbeitung von Berührungsdaten von Multi-DOF Steuertypen beschrieben. Bilddaten eines Bereichs können nach Fehlerbeseitigung durch eine Matrix D(p,q) repräsentiert werden, wobei p die Zeilennummer von 0 (unten) bis M - 1 (oben) repräsentiert, und q die Spaltennummer von 0 (links) bis N - 1 (rechts) repräsentieren kann.
  • Algorithmen für Klasse0 und Klassel Ausgabeparameter: Ztot, XG, YG, AG werden im Folgenden diskutiert. Für eine rechteckige Maske: Z ( p , q ) = D ( p , q )
    Figure DE102008028223B4_0006
  • Binäre Maskendaten können in einer Bitmatrix M(i,j) gespeichert werden, wobei i die Zeilennummer von 0 (unten) bis Ylen - 1 (oben) repräsentieren kann und j die Spaltennummer von 0 (links) bis Xlen - 1 (rechts) repräsentieren kann. Also für eine binäre Maske: Z ( p , q ) = D ( p , q ) * M ( p , q )
    Figure DE102008028223B4_0007
  • Gestaffelte Maskendaten können in einer Matrix G(ij) aus unsigned Bytes vorliegen, wobei i die Zeilennummer von 0 (unten) bis Ylen - 1 (oben) repräsentieren kann und j die Spaltennummer von 0 (links) bis Xlen - 1 (rechts) repräsentieren kann. Also für eine gestaffelte Maske: Z ( p , q ) = D ( p , q ) * M ( p , q ) 256
    Figure DE102008028223B4_0008
  • Ztot kann wie folgt berechnet werden: Z t o t = p = 0 M 1 q = 0 N 1 Z ( p , q ) 2 Z D I V
    Figure DE102008028223B4_0009
  • Eine Schwellenbestimmung für die Aktivierung von Steuerelementen kann gemäß dem folgenden Kode ausgeführt werden: Wenn  ( CONTROL ACTIVE = = AUS )  Wenn Ztot > Zon dann CONTROL ACTIVE = AN Wenn  ( CONTROL ACTIVE = = AN )  Wenn Ztot < Zoff dann CONTROL ACTIVE = AUS
    Figure DE102008028223B4_0010
  • AG kann wie folgt berechnet werden:   S p i t z e = m a x ( Z ( p , q ) ) S c h w e l l e = 0.50   H i F l a g ( p , q ) = wenn ( Z ( p , q ) > Schwelle .   1.0 )   A G = p = 0 M 1 q = 0 N 1 H i F l a g
    Figure DE102008028223B4_0011
  • 5 illustriert die Verarbeitung von Berührungsdaten für ein beispielhaftes Steuerelement eines beispielhaften Multi-DOF Steuertyps. Zum Beispiel, kann sich 5 auf einen Knopfsteuertyp beziehen. Der Bereich 500 kann ein Bereich sein, der als erstmals berührt gemessen wurde. Der Bereich 500 kann sich ergeben aus der Detektierung von Berührungen an jedem einzelnen Pixel innerhalb des Bereiches oder durch Detektierung von Berührungen an einigen Pixels des Bereichs und Verbindung dieser Pixel um einen kontinuierlichen Bereich zu bilden.
  • Die Parameter XG und YG können die X und Y Koordinaten eines Schwerpunkts 501 des Berührungsbereichs 500 sein. Der Schwerpunkt kann als der Punkt mit den mittleren X und Y Koordinaten des Bereichs 500 definiert werden. RG kann als durchschnittlicher Radius 502 des Bereichs 500 definiert werden. ThetaG kann als ein Winkel 503 zwischen einer ersten Hauptträgheitsachse 504 und der X Achse der Vorrichtung definiert werden. Die zweite Trägheitshauptachse kann senkrecht zu der ersten verlaufen.
  • Die Schwerpunktsberechnungen für XG, YG können wie folgt lauten: X G = Z t o t * 2 Z D I V p = 0 M 1 q = 0 N 1 Z ( p , q ) * q 64
    Figure DE102008028223B4_0012
    Y G = Z t o t * 2 Z D I V p = 0 M 1 q = 0 N 1 Z ( p , q ) * p 64
    Figure DE102008028223B4_0013
  • Der Klasse2 Ausgabeparameter RG kann wie im Folgenden gezeigt abgeleitet werden. Es ist anzumerken, dass Klasse 1 Parameter von Klasse 0 Parametern abhängen. Das Trägheitsmoment für Gruppe 500 um die x-Achse durch den Schwerpunkt kann sein: I x G = p = 0 M 1 q = 0 N 1 ( p Y G ) 2 * Z ( p , q )
    Figure DE102008028223B4_0014
  • Das Trägheitsmoment für die Gruppe, um die y-Achse durch den Schwerpunkt kann sein: I y G = p = 0 M 1 q = 0 N 1 ( q X G ) 2 * Z ( p , q )
    Figure DE102008028223B4_0015
  • Das polare Trägheitsmoment für die Gruppe, um den Schwerpunkt kann sein: I p G = I x G + I y G
    Figure DE102008028223B4_0016
  • Der polare Radius der Drehbewegung um den Schwerpunkt kann sein: R G = I p G Z t o t * 2 Z D I V
    Figure DE102008028223B4_0017
  • Der Ausgabeparameter NBG kann ein Schätzwert für die Anzahl von „Stößen“ in der Gruppe sein. Er kann durch räumliche Frequenzanalyse, wie z.B. diskrete Kosinus-Transformationsalgorithmen bestimmt werden. Er kann gleich der Anzahl getrennter Kontaktflecken sein, oder auch nicht.
  • Algorithmen zur Berechnung der Klasse4 Ausgabe Parameter ThetaG, ECG sind im Folgenden gezeigt. Es ist anzumerken, dass Klasse3 Parameter von Klasse1 Parametern abhängen. Das Trägheitsprodukt um den Schwerpunkt kann wie folgt berechnet werden: I x y G = p = 0 M 1 q = 0 N 1 ( p Y G ) * ( q X G ) * Z ( p , q )
    Figure DE102008028223B4_0018
  • Die erste Hauptachse kann berechnet werden als: T h e t a 1 = 1 2 tan 1 ( 2 * I x y G I x G I y G )
    Figure DE102008028223B4_0019
  • Anmerkung: Theta1 weist einen Bereich von -90 Grad bis +90 Grad auf.
  • Die zweite Hauptachse kann berechnet werden als: T h e t a 2 = T h e t a 1 + 90
    Figure DE102008028223B4_0020
  • Anmerkung: Theta2 hat einen Bereich von 0 Grad bis 180 Grad.
  • Das erste Hauptträgheitsmoment kann berechnet werden als: I 1 G = I x G + I y G 2 + ( I x G I y G 2 ) * cos ( 2 * T h e t a 1 ) I x y G * sin ( 2 * T h e t a 1 )
    Figure DE102008028223B4_0021
  • Das zweite Hauptträgheitsmoment kann berechnet werden als: I 2 G = I x G + I y G 2 + ( I x G I y G 2 ) * cos ( 2 * T h e t a 2 ) I x y G * sin ( 2 * T h e t a 2 )
    Figure DE102008028223B4_0022
  • Das Verhältnis der Hauptträgheitsmomente (erstes /zweites) kann sein: E C G = I 1 G I 2 G
    Figure DE102008028223B4_0023
  • Klasse5, Klasse6 und Klasse7 Ausgabeparameter: XGinc, YGinc, Ztotinc, AGinc, RGinc, ThetaGinc können inkrementelle Parameter sein, in anderen Worten, sie können vorgesehen sein, um inkrementelle Änderungen von Berührungsdaten zu messen. Zum Beispiel verwendet 6 inkrementelle Parameter zur Illustration. Genauer illustriert 6 eine Verarbeitung von Berührungsdaten gemäß 5 zu einem späteren Zeitpunkt, für ein beispielhaftes inkrementelles Steuerelement. Der ursprüngliche Berührungsbereich 500 von 5 kann zu einem späteren Zeitpunkt in einen Berührungsbereich 600 geändert werden. Der neue Berührungsbereich 600 kann einen neuen Schwerpunkt 601 mit neuen Koordinaten XG und YG, einen neuen mittleren Radius 602 (RG) und einen neuen Winkel der ersten Trägheitshauptachse 603 (ThetaG) aufweisen.
  • Die inkrementellen Parameter XGinc, YGinc, RGinc, ThetaGinc können wie folgt berechnet werden, wenn sich der Merkmalssatz (Anzahl von Kontaktflecken/ungefähre Position der Kontaktflächen) nicht ändert: X G i n c = X G X G _ o l d
    Figure DE102008028223B4_0024
    Y G i n c = Y G Y G _ o l d
    Figure DE102008028223B4_0025
    R G i n c = R G R G _ o l d
    Figure DE102008028223B4_0026
    T h e t a G i n c = T h e t a G T h e t a G _ o l d
    Figure DE102008028223B4_0027
    wobei XG_old, YG_old, RG_old und ThetaG_old Ausgabeparameter aus der vorherigen Stufe sein können (siehe 5). Anmerkung: ThetaGinc kann angepasst werden, um abrupte Änderungen durch Überlauf/Unterlauf von ThetaG jenseits von +90 Grad oder -90 Grad zu berücksichtigen.
  • 7 ist ein Diagramm, das eine inkrementelle Änderung zeigt, bei der sich der Berührungsbereich bewegen und ein neuer Kontaktfleck auftreten kann. Die Berechnung der inkrementellen Parameter kann sich ändern, immer wenn sich der Merkmalssatz (z.B. die Anzahl und die relative Position der Kontaktflecken) durch Addition, Subtraktion, Zusammenführung oder Trennung von Kontaktilecken ändert. 7 zeigt ein Beispiel dafür, wie inkrementelle Parameter in dem ersten Abtastrahmen berechnet werden können, nachdem ein neuer Kontaktfleck auftritt. In 7 wurden die Position und der Winkel des Bildes 500 geändert, um ein Bild 700 mit Schwerpunkt 701 zu erzeugen, und ein neuer Kontaktfleck 702 ist aufgetreten. Unter der Annahme, dass XG_old, YG_old, RG_old. ThetaG_old Ausgaben des letzten Bildes 500 mit altem Merkmalssatz sind. und dass XG2, YG2, ThetaG2 berechnete Ausgaben des NEUEN Bildes, basierend auf dem ALTEN Merkmalssatz sind (d.h. ignorieren des neuen Fleckens 702), können die inkrementellen Werte XGinc, YGinc, Rginc und ThetaGinc wie folgt erhalten werden: X G i n c = X G 2 X G _ o l d
    Figure DE102008028223B4_0028
    Y G i n c = Y G 2 Y G _ o l d
    Figure DE102008028223B4_0029
    R G i n c = R G 2 R G _ o l d
    Figure DE102008028223B4_0030
    T h e t a G i n c = T h e t a G 2 T h e t a G _ o l d
    Figure DE102008028223B4_0031
  • Anmerkung: ThetaGinc sollte angepasst werden, um abrupte Änderungen wegen Überlauf/Unterlauf von ThetaG jenseits von +90 Grad oder -90 Grad zu berücksichtigen.
  • Dieses Verfahren zur Berechnung von inkrementellen Parametern kann trotz der Addition, Subtraktion, dem Zusammenführen und Trennen von Kontaktflecken Kontinuität herstellen.
  • Die Berechnung der inkrementellen Parameter in dem ersten Bild nach einer Subtraktion von Kontaktflecken kann auf ähnliche Weise funktionieren. Daher können unter der Annahme, dass XG_old, YG_old, RG_old, ThetaG_old Ausgaben des NEUEN Bildes mit dem ALTEN Merkmalssatz und XG3, YG3, RG3, ThetaG3 berechnete Ausgaben, des ALTEN Bildes basierend auf dem NEUEN Merkmalssatz sind, die inkrementellen Werte wie folgt erhalten werden: X G i n c = X G X G 3
    Figure DE102008028223B4_0032
    Y G i n c = Y G Y G 3
    Figure DE102008028223B4_0033
    R G i n c = R G R G 3
    Figure DE102008028223B4_0034
    T h e t a G i n c = T h e t a G T h e t a G 3
    Figure DE102008028223B4_0035
  • Anmerkung: ThetaGinc kann angepasst werden, um abrupte Änderungen durch Überlauf/Unterlauf von ThetaG jenseits von +90 Grad oder -90 Grad zu berücksichtigen.
  • Algorithmen für Klasse8 Ausgabe Parameter: NPTS, PTID, Z, X, Y, A, R, Theta, EC werden im Folgenden diskutiert.
  • NPTS repräsentiert die Anzahl von Kontaktflecken in dem Steuerbereich. Auf hoher Ebene betrachtet kann ein allgemeiner Ansatz wie das folgende Verfahren verwendet werden:
    • - Leite Berührungsdaten durch Tiefpassraumfilter;
    • - Filtere Rauschen durch Schwellen aus;
    • - Teile Bereiche ein; und
    • - Limitiere die Größe jedes Bereichs auf Pixels überhalb von 50 % der Spitze des Bereichs.
  • Nachdem die Kontaktfleckenbereiche definiert sind, können die einzelnen Kontaktfleckenparameter für jeden Kontaktfleck mit Algorithmen verarbeitet werden, die denen bereits oben im Detail für die Gruppenparameter beschriebenen entsprechen: Tabelle 9 (Berechnung einzelner Kontaktfleckenparameter Klasse 8)
    Einzelner Kontaktfleckenparameter Verwende gleichen Algorithmus wie bei...
    7 ZG
    A AG
    X XG
    Y YG
  • Sobald die einzelnen Kontaktfleckenparameter, wie oben gezeigt etabliert sind, kann PTID für jeden Kontakt gefunden werden, indem die neuen X, Y, Z und A Parameter sowohl mit ihren letzten Werten als auch mit früheren Zeitableitungen dieser Parameter verglichen werden.
  • Algorithmen für Klasse9 Ausgabeparameter: R, Theta, EC werden im Folgenden gezeigt. Die einzelnen Kontaktfleckenparameter für jeden Kontaktfleck können mit Algorithmen verarbeitet werden, die denen bereits oben im Detail für die Gruppenparameter beschriebenen entsprechen: Tabelle 10 (Berechnung einzelner Kontaktfleckenparameter - Klasse 9)
    Einzelner Kontaktfleckenparameter Verwende gleichen Algorithmus wie bei...
    R RG
    Theta ThetaG
    EC ECG
  • Die oben diskutierten Ausführungsformen können die Bereitstellung eines Softwareentwicklungsbaukastens SDK ermöglichen, um die Entwicklung für Software für Mehrfachberührungsvorrichtungen zu erleichtern. Genauer, das SDK kann es Entwicklern ermöglichen, Klassen und Instanzen von Steuertypen unter Verwendung einer intuitiven graphischen Umgebung zu erzeugen und sie in Applikationen einzubetten. Daher können Entwickler, die nicht sehr gut mit den Einzelheiten von Mehrfachberührungsdatenverarbeitung vertraut sind, trotzdem Applikationen entwickeln, die die Vorteile einer Mehrfachberührungsanzeige nutzen.
  • Eine mehrfachberührungsfahige Anzeige kann in verschiedenen Vorrichtungen verwendet werden. Daher erfassen Ausführungsformen der Erfindung, ohne darauf beschränkt zu sein, Vorrichtungen, wie z.B. Mobiltelefone, tragbare Musikspieler, GPS Vorrichtungen, PDAs, tragbare E-Mailgeräte, elektronische Kioske, Computer, und andere Mehrfachberührungsanzeigen verwendende Vorrichtungen.
  • 8 ist ein Diagramm einer mehrfachberührungsfähigen Vorrichtung gemäß einer Ausführungsform dieser Erfindung. Eine melirfachberülirungsfähige Vorrichtung 800 kann ein Feld 801 aufweisen, das sowohl Anzeige- als auch Mehrfachberührungsfunktionalität aufweist. Die Vorrichtung kann ebenfalls einen Mehrfachberührungsverarbeitungsschaltkreis 802 zur Verarbeitung von Mehrfachberührungsdaten, Speicher 803 zum Speichern von Anweisungen und/oder Daten (der Speicher kann RAM oder ein anderer Speichertyp einschließlich nichtflüchtigen Speichers sein), einen Prozessor 804 und einen Bus 806 zur Verbindung verschiedener Elemente aufweisen. Die in 1 gezeigten Module können beim Feld 801, der Schaltung 802 und/oder durch im Speicher gespeicherte und durch den Prozessor ausführbare Anweisungen implementiert werden.
  • Wenngleich Ausführungsformen der vorliegenden Erfindungen hier mittels eines gegenkapazitätsbasierten Mehrfachberührungsfeldes beschrieben sind, versteht es sich, dass die vorliegende Erfindung nicht auf solche Ausführungsfonnen limitiert ist, sondern allgemein auf alle Mehrfachberührungsvorrichtungen, sowie auf andere Vorrichtungen, die ähnliche pixelbasierte Eingaben empfangen, bei denen verschiedene Pixels zur selben Zeit aktiv sein können, sowie z.B. Näherungssensorvorrichtungen, Kameravorrichtungen, usw. anwendbar ist.
  • Wenngleich die vorliegende Erfindung vollumfänglich in Verbindung mit ihren Ausführungsformen unter Verweis auf die beiliegenden Zeichnungen beschrieben ist, ist anzumerken, dass verschiedene Änderungen und Modifikationen für den Fachmann offensichtlich werden. Es versteht sich, dass solche Änderungen und Modifikationen innerhalb des Umfangs der vorliegenden Erfindung, wie durch die angehängten Ansprüche definiert, enthalten sind.

Claims (55)

  1. Verfahren zum Betrieb einer mehrfachberührungsfähigen Vorrichtung, umfassend: Erzeugung von einer oder mehreren Steuerinstanzen durch eine oder mehrere auf der mehrfachberührungsfähigen Vorrichtung ablaufende Applikationen (200), wobei die Anwendungen einen Typ von ihnen benötigten Berührungsdaten in Form von Steuerinstanzen definieren; Senden der einen oder mehreren Steuerinstanzen von der einen oder den mehreren Anwendungen an ein Mehrfachberührungsdienstprogramm (200); Empfangen von Berührungsdaten durch das Mehrfachberührungsdienstprogramm (204); Verarbeiten der Berührungsdaten unter Berücksichtigung der einen oder mehreren Steuerinstanzen durch das Mehrfachberührungsdienstprogramm (206), um einen oder mehrere Ergebnissätze zu erhalten, wobei jeder Ergebnissatz mit einer entsprechenden Steuerinstanz assoziiert ist; und Senden des einen oder der mehreren Ergebnissätze an die eine oder die mehreren Applikationen (208).
  2. Verfahren nach Anspruch 1, wobei die eine oder die mehreren Steuerinstanzen ein Format der Ergebnissätze definieren.
  3. Verfahren nach Anspruch 1, wobei die Verarbeitung der Berührungsdaten sowohl eine Verarbeitung der aktuellen Berührungsdaten als auch historischer Berührungsdaten umfasst.
  4. Verfahren nach Anspruch 3, wobei die Verarbeitung der Berührungsdaten ein Vergleichen der aktuellen Berührungsdaten mit historischen Berührungsdaten zum Erhalten inkrementeller Ergebnisse umfasst.
  5. Verfahren nach Anspruch 3, weiterhin aufweisend: auf den Steuerinstanzen basierendes Bestimmen durch das Mehrfachberührungsdienstprogramm, welche empfangenen Berührungsdaten in Zukunft als historische Berührungsdaten benötigt werden können; Speichern der empfangenen Berührungsdaten, die in Zukunft benötigt werden können; und Verwerfen aller anderen empfangenen Berührungsdaten.
  6. Verfahren nach Anspruch 1, wobei: die Verarbeitung der Berührungsdaten weiterhin die Ableitung von Berührungszwischendaten aufweist, wobei die Berührungszwischendaten in einer anderen Form als Rasterdaten vorliegen; wobei das Verfahren weiterhin aufweist: Speichern der Berührungszwischendaten; und Verwenden der Berührungszwischendaten um inkrementelle Ergebnisse zu erhalten.
  7. Verfahren nach Anspruch 1, wobei die Berührungsdaten eine Mehrzahl binärer Werte enthalten, wobei jeder binäre Wert angibt, ob ein bestimmtes Pixel berührt ist.
  8. Verfahren nach Anspruch 1, wobei die Berührungsdaten eine Mehrzahl von Werten enthalten, wobei jeder Wert die Stärke oder den Druck der Berührung eines bestimmten Pixels angibt.
  9. Verfahren nach Anspruch 1, wobei jede Steuerinstanz einen relevanten Bereich auf der Anzeigevorrichtung definiert, und wobei die mit jeder Steuerinstanz assoziierten Ergebnisse aus den Berührungsdaten des relevanten Bereichs auf der Anzeigevorrichtung für die Steuerinstanz abgeleitet werden.
  10. Verfahren nach Anspruch 9, wobei: eine oder mehrere Steuerinstanzen einen Niveauparameter aufweisen, der ein virtuelles Niveau für jede Steuerinstanz angibt; eine oder mehrere Steuerinstanzen als intransparent definiert sind; und die Verarbeitung der Berührungsdaten weiterhin für jede intransparente Instanz die Löschung aller Berührungsereignisse für Bereiche von Instanzen mit einem niedrigeren Niveau als die intransparente Instanz beinhaltet, die durch den Bereich der intransparenten Instanz überlagert sind.
  11. Verfahren nach Anspruch 10, wobei eine oder mehrere Steuerinstanzen als transparent definiert sind, und wobei während der Verarbeitung der Berührungsdaten Instanzen, die durch die transparenten Instanzen überlagert sind, nicht beeinflusst werden.
  12. Verfahren nach Anspruch 1, wobei jede Steuerinstanz mit einem Steuertyp aus einem oder mehreren Steuertypen assoziiert ist.
  13. Verfahren nach Anspruch 1, wobei eine der Steuerinstanzen eine Tastensteuerinstanz ist und die mit dieser Tastensteuerinstanz assoziierten Ergebnisse angeben, ob eine auf einer Anzeigevorrichtung erscheinende und mit dieser Tastensteuerinstanz assoziierte Taste betätigt wird.
  14. Verfahren nach Anspruch 1, wobei eine der Steuerinstanzen eine Schiebersteuerinstanz ist, und die mit dieser Schiebersteuerinstanz assoziierten Ergebnisse inkrementelle Änderungen einer Position einer Berührung oder von Berührungen entlang eines auf einer Anzeigevorrichtung erscheinenden und mit der Schiebersteuerinstanz assoziierten Schiebers angeben.
  15. Verfahren nach Anspruch 1, wobei eine der Steuerinstanzen eine Knopfsteuerinstanz ist, und die mit dieser Knopfsteuerinstanz assoziierten Ergebnisse inkrementelle Änderungen einer Drehorientierung einer Berührung oder von Berührungen entlang eines auf einer Anzeigevorrichtung erscheinenden und mit der Knopfsteuerinstanz assoziierten Knopfes angeben.
  16. Verfahren nach Anspruch 1, wobei eine der Steuerinstanzen eine Navigationsoberflächensteuerinstanz ist, und die mit dieser Navigationsoberflächensteuerinstanz assoziierten Ergebnisse inkrementelle Änderungen von relativen Positionen mehrerer Finger entlang einer auf einer Anzeigevorrichtung erscheinenden und mit der Navigationsoberflächensteuerinstanz assoziierten Navigationsoberfläche angeben.
  17. Computerlesbares Speichermedium mit einer MehrfachberührungsDienstprogramm-Software, die konfiguriert ist, um auf einem Prozessor (804) einer mehrfachberührungsfähigen Vorrichtung ausgeführt zu werden, wobei die Software konfiguriert ist, um den Prozessor (804) zu veranlassen: ein oder mehrere Schnittstellenbilder (300, 301, 302, 303, 304) auf einer Anzeigevorrichtung der mehrfachberührungsfähigen Vorrichtung anzuzeigen, wobei jedes Schnittstellenbild (300, 301, 302, 303, 304) mit einer oder mehreren Steuerinstanzen assoziiert ist, wobei es einem Benutzer ermöglicht wird, eines oder mehrere der Schnittstellenbilder zu berühren, wobei Berührungsdaten Daten enthalten, die eine oder mehrere Berührungen eines oder mehrere Schnittstellenbilder (300, 301, 302, 303, 304) angeben, und wobei Verarbeiten der Berührungsdaten aufweist: Erhalten von Berührungsdaten aus Rasterdaten; und Verarbeitung der Berührungsdaten auf eine mit der einen oder der mehreren Steuerinstanzen assoziierten Weise, um einen oder mehrere Ergebnissätze zu erhalten.
  18. Computerlesbares Speichermedium nach Anspruch 17, wobei die eine oder die mehreren Steuerinstanzen ein Format der Ergebnissätze definieren.
  19. Computerlesbares Speichermedium nach Anspruch 17, wobei die Verarbeitung der Berührungsdaten sowohl eine Verarbeitung der aktuellen Berührungsdaten als auch historischer Berührungsdaten umfasst.
  20. Computerlesbares Speichermedium nach Anspruch 19, wobei die Verarbeitung der Berührungsdaten ein Vergleichen der aktuellen Berührungsdaten mit historischen Berührungsdaten zum Erhalten inkrementeller Ergebnisse umfasst.
  21. Computerlesbares Speichermedium nach Anspruch 19, wobei die Software zusätzlich konfiguriert ist, um den Prozessor zu veranlassen: auf den einen oder der mehreren Steuerinstanzen basierend zu bestimmen, welche empfangenen Berührungsdaten in Zukunft als historische Berührungsdaten benötigt werden können; die empfangenen Berührungsdaten, die als historische Berührungsdaten benötigt werden können, zu speichern; und alle anderen empfangenen Berührungsdaten zu verwerfen.
  22. Computerlesbares Speichermedium nach Anspruch 17, wobei: die Verarbeitung der Berührungsdaten weiterhin die Ableitung von Berührungszwischendaten aufweist, wobei die Berührungszwischendaten in einer anderen Form als in Rasterform vorliegen; wobei die Software zusätzlich konfiguriert ist, um den Prozessor (804) zu veranlassen: die Berührungszwischendaten zu speichern; und die Berührungszwischendaten zu verwenden, um inkrementelle Ergebnisse zu erhalten.
  23. Computerlesbares Speichermedium nach Anspruch 17, wobei die Berührungsdaten eine Mehrzahl binärer Werte enthalten und jeder binäre Wert angibt, ob ein bestimmtes Pixel berührt ist.
  24. Computerlesbares Speichermedium nach Anspruch 17, wobei die Berührungsdaten eine Mehrzahl von Werten enthalten und jeder Wert die Stärke oder den Druck der Berührung eines bestimmten Pixels angibt.
  25. Computerlesbares Speichermedium nach Anspruch 17, wobei jede Steuerinstanz einen relevanten Bereich auf der Anzeigevorrichtung definiert, und wobei die mit jeder Steuerinstanz assoziierten Ergebnisse aus den Berührungsdaten des relevanten Bereichs auf der Anzeigevorrichtung für die Steuerinstanz abgeleitet werden.
  26. Computerlesbares Speichermedium nach Anspruch 25, wobei: eine oder mehrere Steuerinstanzen einen Niveauparameter aufweisen, der ein virtuelles Niveau für jede Steuerinstanz angibt; eine oder mehrere Steuerinstanzen als intransparent definiert sind; und die Verarbeitung der Berührungsdaten weiterhin für jede intransparente Instanz die Löschung aller Berührungsereignisse für Bereiche von Instanzen mit einem niedrigeren Niveau als die intransparente Instanz beinhaltet, die durch den Bereich der intransparenten Instanz überlagert sind.
  27. Computerlesbares Speichermedium nach Anspruch 26, wobei eine oder mehrere Steuerinstanzen als transparent definiert sind, und wobei während der Verarbeitung der Berührungsdaten Instanzen, die durch die transparenten Instanzen überlagert sind, nicht beeinflusst werden.
  28. Computerlesbares Speichermedium nach Anspruch 17, wobei jede Steuerinstanz mit einem Steuertyp aus einem oder mehreren Steuertypen assoziiert ist.
  29. Computerlesbares Speichermedium nach Anspruch 17, wobei eine der einen oder der mehreren Steuerinstanzen eine Tastensteuerinstanz ist und die mit dieser Tastensteuerinstanz assoziierten Ergebnisse angeben, ob eine auf der Anzeigevorrichtung erscheinende und mit dieser Tastensteuerinstanz assoziierte Taste betätigt wird.
  30. Computerlesbares Speichermedium nach Anspruch 17, wobei eine der einen oder der mehreren Steuerinstanzen eine Schiebersteuerinstanz ist, und die mit dieser Schiebersteuerinstanz assoziierten Ergebnisse inkrementelle Änderungen einer Position einer Berührung oder von Berührungen entlang eines auf der Anzeigevorrichtung erscheinenden und mit der Schiebersteuerinstanz assoziierten Schiebers angeben.
  31. Computerlesbares Speichermedium nach Anspruch 17, wobei eine der einen oder der mehreren Steuerinstanzen eine Knopfsteuerinstanz ist, und die mit dieser Knopfsteuerinstanz assoziierten Ergebnisse inkrementelle Änderungen einer Drehorientierung einer Berührung oder von Berührungen entlang eines auf der Anzeigevorrichtung erscheinenden und mit der Knopfsteuerinstanz assoziierten Knopfes angeben.
  32. Computerlesbares Speichermedium nach Anspruch 17, wobei eine der einen oder der mehreren Steuerinstanzen eine Navigationsoberflächensteuerinstanz ist, und die mit dieser Navigationsoberflächensteuerinstanz assoziierten Ergebnisse inkrementelle Änderungen der relativen Positionen mehrerer Finger entlang einer auf der Anzeigevorrichtung erscheinenden und mit der Navigationsoberflächensteuerinstanz assoziierten Navigationsoberfläche angeben.
  33. Mehrfachberührungsfähige Vorrichtung, umfassend: eine Anzeigevorrichtung (801) mit einem darin integrierten Mehrfachberührungsfeld; einen Speicher (803); einen Prozessor (804); ein Mehrfachberührungsdienstprogramm, das in dem Speicher (803) gespeichert und durch den Prozessor (804) ausführbar ist; und eine oder mehrere in dem Speicher (803) gespeicherte Applikationen, die durch den Prozessor (804) ausführbar und konfiguriert sind, um den Prozessor (804) zu veranlassen eine oder mehrere Steuerinstanzen zu erzeugen und sie an das Mehrfachberührungsdienstprogramm zu senden (200), wobei das Mehrfachberührungsdienstprogramm zusätzlich konfiguriert ist, um den Prozessor (804) zu veranlassen: ein oder mehrere Schnittstellenbilder (300, 301, 302, 303, 304) auf einer Anzeigevorrichtung der mehrfachberührungsfähigen Vorrichtung anzuzeigen, wobei jedes Schnittstellenbild (300, 301, 302, 303, 304) mit einer Steuerinstanz assoziiert ist, und eine oder mehrere Berührungen auf dem einen oder den mehreren Schnittstellenbildern zu erfassen, wobei Verarbeitung der Rasterberührungsdaten aufweist: Erhalten der Berührungsdaten aus Rasterdaten; und Verarbeitung der Berührungsdaten auf eine mit der Steuerinstanz assoziierten Weise, um einen Ergebnissatz zu erhalten.
  34. Mehrfachberührungsfähige Vorrichtung nach Anspruch 33, wobei die eine oder die mehreren Steuerinstanzen ein Format des Ergebnissatzes definieren.
  35. Mehrfachberührungsfähige Vorrichtung nach Anspruch 33, wobei die Verarbeitung der Berührungsdaten sowohl eine Verarbeitung der aktuellen Berührungsdaten als auch historischer Berührungsdaten umfasst.
  36. Mehrfachberührungsfähige Vorrichtung nach Anspruch 35, wobei die Verarbeitung der Rasterberührungsdaten ein Vergleichen der aktuellen Rasterberührungsdaten mit historischen Rasterberührungsdaten zum Erhalten inkrementeller Ergebnisse umfasst.
  37. Mehrfachberührungsfähige Vorrichtung nach Anspruch 35, wobei das Mehrfachberührungsdienstprogramm zusätzlich konfiguriert ist, um den Prozessor (804) zu veranlassen: auf den Steuerinstanzen basierend zu bestimmen, welche empfangenen Berührungsdaten in Zukunft als historische Berührungsdaten benötigt werden können; die empfangenen Berührungsdaten, die als historische Berührungsdaten benötigt werden können, zu speichern; und alle anderen empfangenen Berührungsdaten zu verwerfen.
  38. Mehrfachberührungsfähige Vorrichtung nach Anspruch 33, wobei: die Verarbeitung der Berührungsdaten weiterhin die Ableitung von Berührungszwischendaten aufweist, wobei die Berührungszwischendaten in einer anderen Form als in Rasterdaten vorliegen; wobei das Mehrfachberührungsdienstprogramm zusätzlich konfiguriert ist, um den Prozessor (804) zu veranlassen: die Berührungszwischendaten zu speichern; und die Berührungszwischendaten zu verwenden, um inkrementelle Ergebnisse zu erhalten.
  39. Mehrfachberührungsfähige Vorrichtung nach Anspruch 33, wobei die Berührungsdaten eine Mehrzahl binärer Werte enthalten und jeder binäre Wert angibt, ob ein bestimmtes Pixel berührt ist.
  40. Mehrfachberührungsfähige Vorrichtung nach Anspruch 33, wobei die Berührungsdaten eine Mehrzahl von Werten enthalten und jeder Wert die Stärke oder den Druck der Berührung eines bestimmten Pixels angibt.
  41. Mehrfachberührungsfähige Vorrichtung nach Anspruch 33, wobei jede Steuerinstanz einen relevanten Bereich auf der Anzeigevorrichtung definiert, und wobei die mit jeder Steuerinstanz assoziierten Ergebnisse aus den Berührungsdaten des relevanten Bereichs auf der Anzeigevorrichtung für die Steuerinstanz abgeleitet werden.
  42. Mehrfachberührungsfähige Vorrichtung nach Anspruch 41, wobei: eine oder mehrere Steuerinstanzen einen Niveauparameter aufweisen, der ein virtuelles Niveau für jede Steuerinstanz angibt; eine oder mehrere Steuerinstanzen als intransparent definiert sind; und die Verarbeitung der Berührungsdaten weiterhin für jede intransparente Instanz die Löschung aller Berührungsereignisse für Bereiche von Instanzen mit einem niedrigeren Niveau als die intransparente Instanz beinhaltet, die durch den Bereich der intransparenten Instanz überlagert sind.
  43. Mehrfachberührungsfähige Vorrichtung nach Anspruch 42, wobei eine oder mehrere Steuerinstanzen als transparent definiert sind, und wobei während der Verarbeitung der Berührungsdaten Instanzen, die durch die transparenten Instanzen überlagert sind, nicht beeinflusst werden.
  44. Mehrfachberührungsfähige Vorrichtung nach Anspruch 33, wobei jede Steuerinstanz mit einem Steuertyp aus einem oder mehreren Steuertypen assoziiert ist.
  45. Mehrfachberührungsfähige Vorrichtung nach Anspruch 33, wobei eine der Steuerinstanzen eine Tastensteuerinstanz ist und die mit dieser Tastensteuerinstanz assoziierten Ergebnisse angeben, ob eine auf der Anzeigevorrichtung erscheinende und mit dieser Tastensteuerinstanz assoziierte Taste betätigt wird.
  46. Mehrfachberührungsfähige Vorrichtung nach Anspruch 33, wobei eine der Steuerinstanzen eine Schiebersteuerinstanz ist, und die mit dieser Schiebersteuerinstanz assoziierten Ergebnisse inkrementelle Änderungen einer Position einer Berührung oder von Berührungen entlang eines auf der Anzeigevorrichtung erscheinenden und mit der Schiebersteuerinstanz assoziierten Schiebers angeben.
  47. Mehrfachberührungsfähige Vorrichtung nach Anspruch 33, wobei eine der Steuerinstanzen eine Knopfsteuerinstanz ist, und die mit dieser Knopfsteuerinstanz assoziierten Ergebnisse inkrementelle Änderungen einer Drehorientierung einer Berührung oder von Berührungen entlang eines auf der Anzeigevorrichtung erscheinenden und mit der Knopfsteuerinstanz assoziierten Knopfes angeben.
  48. Mehrfachberührungsfähige Vorrichtung nach Anspruch 33, wobei eine der Steuerinstanzen eine Navigationsoberflächensteuerinstanz ist, und die mit dieser Navigationsoberflächensteuerinstanz assoziierten Ergebnisse inkrementelle Änderungen von relativen Positionen mehrerer Finger entlang einer auf der Anzeigevorrichtung erscheinenden und mit der Navigationsoberflächensteuerinstanz assoziierten Navigationsoberfläche angeben.
  49. Mehrfachberührungsfähige Vorrichtung nach Anspruch 33, wobei die Mehrfachberührungsfähige Vorrichtung ein Mobiltelefon ist.
  50. Mehrfachberührungsfähige Vorrichtung nach Anspruch 33, wobei die Mehrfachberührungsfähige Vorrichtung ein Audiospieler ist.
  51. Computerlesbares Medium, das einen Softwareentwicklungsbaukasten aufweist, wobei der Softwareentwicklungsbaukasten konfiguriert ist, um auf einem Softwareentwicklungscomputer ausgeführt zu werden und einen Prozessor (804) des Softwareentwicklungscomputers zu veranlassen: Den Benutzer die Erzeugung einer Applikation für eine mehrfachberührungsfähige Vorrichtung zu ermöglichen; Code zu erzeugen, der eine oder mehrere Steuerinstanzen definiert, und diesen Kode in der Applikation zu platzieren, wobei die Anwendungen einen Typ von ihnen benötigten Berührungsdaten in Form von Steuerinstanzen definieren, wobei jede Steuerinstanz allgemeine Regeln für die Verarbeitung von mit einem entsprechenden visuellen Schnittstellenelement assoziierten Mehrfachberührungsdaten definiert; wobei die Applikation konfiguriert ist, auf dem Prozessor (804) einer mehrfachberührungsfähigen Vorrichtung ausgeführt zu werden und: die eine oder mehreren Steuerinstanzen an ein Mehrfachberührungsdienstprogramm zu senden (200); und von dem Mehrfachberührungsdienstprogramm einen oder mehrere Ergebnissätze zu erhalten, wobei jeder Ergebnissatz mit einer entsprechenden Steuerinstanz assoziiert ist und eine Interaktion zwischen dem Benutzer und dem mit dieser Steuerinstanz assoziierten visuellen Schnittstellenelement anzeigt.
  52. Mehrfachberührungsfähige Vorrichtung, umfassend: eine mehrfachberührungsempfindliche Anzeigevorrichtung (801); eine oder mehrere Applikationen; und ein Mehrfachberührungsdienstprogramm, wobei: die eine oder die mehreren Applikationen konfiguriert sind, um Steuerinstanzen an das Mehrfachberührungsdienstprogramm zu senden, wobei jede Steuerinstanz ein Benutzerschnittstellenelement definiert (200), wobei die Anwendungen einen Typ von ihnen benötigten Berührungsdaten in Form von Steuerinstanzen definieren; und das Mehrfachberührungsdienststellenprogramm konfiguriert ist, auf der Anzeigevorrichtung (801) die durch die Steuerinstanzen definierten Benutzerschnittstellenelemente (300, 301, 302, 303, 304) anzuzeigen, Berührungsereignisse, die durch die Benutzerinteraktion mit den Benutzerschnittstellenelementen (300, 301, 302, 303, 304) auf der Anzeigevorrichtung hervorgerufen werden, zu verarbeiten (206) und an die eine oder die mehreren Applikationen Ergebnisse zu senden (208), die kennzeichnend sind für die Interaktion mit den Benutzerschnittstellenelementen und mit den entsprechenden Steuerinstanzen assoziiert sind.
  53. Mehrfachberührungsfähige Anzeigevorrichtung nach Anspruch 52, wobei jede Steuerinstanz weiterhin Daten aufweist, die Verfahren zur Verarbeitung von eingehenden Berührungsdaten für diese Instanz definieren.
  54. Verfahren zum Betrieb einer mehrfachberührungsfähigen Vorrichtung, die eine mehrfachberührungsempfindliche Anzeigevorrichtung (801), eine oder mehrere Applikationen und ein Mehrfachberührungsdienstprogramm aufweist, wobei das Verfahren umfasst: Senden (200) von einer oder mehreren Steuerinstanzen durch die eine oder die mehreren Applikationen an das Mehrfachberührungsdienstprogramm, wobei die Anwendungen einen Typ von ihnen benötigten Berührungsdaten in Form von Steuerinstanzen definieren, wobei jede Steuerinstanz ein Benutzerschnittstellenelement definiert; Anzeigen der durch die Steuerinstanzen definierten Benutzerschnittstellenelemente auf der Anzeigevorrichtung; Erfassen einer Berührung bei einem oder mehreren Benutzerschnittstellenelementen; Verarbeitung (206) von Berührungsereignissen, die von einer Berührung des Benutzers von Benutzerschnittstellenelementen herrühren; Senden (208) der Ergebnisse an die eine oder die mehreren Applikationen, die kennzeichnend für die erfasste Berührung der Benutzerschnittstellenelemente sind und mit entsprechenden Steuerinstanzen assoziiert sind (208).
  55. Verfahren nach Anspruch 54, wobei jede Steuerinstanz weiterhin Datendefinitionsverfahren aufweist zur Verarbeitung eingehender Berührungsdaten für diese Instanz.
DE102008028223.5A 2007-06-13 2008-06-13 Modusabhängige Verarbeitung von Berührungsdaten Active DE102008028223B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/818,334 US9052817B2 (en) 2007-06-13 2007-06-13 Mode sensitive processing of touch data
US11/818,334 2007-06-13

Publications (2)

Publication Number Publication Date
DE102008028223A1 DE102008028223A1 (de) 2008-12-18
DE102008028223B4 true DE102008028223B4 (de) 2023-09-21

Family

ID=39571363

Family Applications (2)

Application Number Title Priority Date Filing Date
DE102008028223.5A Active DE102008028223B4 (de) 2007-06-13 2008-06-13 Modusabhängige Verarbeitung von Berührungsdaten
DE202008007940U Expired - Lifetime DE202008007940U1 (de) 2007-06-13 2008-06-13 Benutzerschnittstelle für eine modusabhängige Verarbeitung von Berührungsdaten

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE202008007940U Expired - Lifetime DE202008007940U1 (de) 2007-06-13 2008-06-13 Benutzerschnittstelle für eine modusabhängige Verarbeitung von Berührungsdaten

Country Status (7)

Country Link
US (1) US9052817B2 (de)
CN (2) CN102902473B (de)
DE (2) DE102008028223B4 (de)
GB (1) GB2450208B (de)
HK (1) HK1127651A1 (de)
NL (1) NL2001670C2 (de)
WO (1) WO2008157250A1 (de)

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9052817B2 (en) 2007-06-13 2015-06-09 Apple Inc. Mode sensitive processing of touch data
NO332210B1 (no) * 2009-03-23 2012-07-30 Cisco Systems Int Sarl Grensesnittenhet mellom videokonferansekodek og interaktiv whiteboard-tavle
US9176542B2 (en) * 2009-11-06 2015-11-03 Sony Corporation Accelerometer-based touchscreen user interface
WO2011082645A1 (zh) * 2010-01-06 2011-07-14 华为终端有限公司 显示图片/界面的方法及终端
DE102011006344B4 (de) 2010-03-31 2020-03-12 Joyson Safety Systems Acquisition Llc Insassenmesssystem
JP5805974B2 (ja) 2010-03-31 2015-11-10 ティーケー ホールディングス,インコーポレーテッド ステアリングホイールセンサ
JP5759230B2 (ja) 2010-04-02 2015-08-05 ティーケー ホールディングス,インコーポレーテッド 手センサを有するステアリング・ホイール
KR101746453B1 (ko) * 2010-04-12 2017-06-13 삼성전자주식회사 실감 효과 처리 시스템 및 방법
TWI443557B (zh) * 2010-09-30 2014-07-01 Wintek Corp 觸控面板資料傳輸方法
US8988087B2 (en) 2011-01-24 2015-03-24 Microsoft Technology Licensing, Llc Touchscreen testing
US8725443B2 (en) 2011-01-24 2014-05-13 Microsoft Corporation Latency measurement
US8982061B2 (en) * 2011-02-12 2015-03-17 Microsoft Technology Licensing, Llc Angular contact geometry
US9542092B2 (en) 2011-02-12 2017-01-10 Microsoft Technology Licensing, Llc Prediction-based touch contact tracking
US8773377B2 (en) 2011-03-04 2014-07-08 Microsoft Corporation Multi-pass touch contact tracking
US8913019B2 (en) 2011-07-14 2014-12-16 Microsoft Corporation Multi-finger detection and component resolution
US9378389B2 (en) 2011-09-09 2016-06-28 Microsoft Technology Licensing, Llc Shared item account selection
US9785281B2 (en) 2011-11-09 2017-10-10 Microsoft Technology Licensing, Llc. Acoustic touch sensitive testing
CN103176635B (zh) * 2011-12-22 2016-04-13 腾讯科技(深圳)有限公司 多控件触控方法和系统
US8914254B2 (en) 2012-01-31 2014-12-16 Microsoft Corporation Latency measurement
US8928582B2 (en) * 2012-02-17 2015-01-06 Sri International Method for adaptive interaction with a legacy software application
WO2013154720A1 (en) 2012-04-13 2013-10-17 Tk Holdings Inc. Pressure sensor including a pressure sensitive material for use with control systems and methods of using the same
DE112013004512T5 (de) 2012-09-17 2015-06-03 Tk Holdings Inc. Einzelschicht-Kraftsensor
US9317147B2 (en) 2012-10-24 2016-04-19 Microsoft Technology Licensing, Llc. Input testing tool
US11072945B2 (en) 2013-03-15 2021-07-27 August Home, Inc. Video recording triggered by a smart lock device
US10140828B2 (en) 2015-06-04 2018-11-27 August Home, Inc. Intelligent door lock system with camera and motion detector
US9624695B1 (en) 2013-03-15 2017-04-18 August Home, Inc. Intelligent door lock system with WiFi bridge
US9695616B2 (en) * 2013-03-15 2017-07-04 August Home, Inc. Intelligent door lock system and vibration/tapping sensing device to lock or unlock a door
US10443266B2 (en) 2013-03-15 2019-10-15 August Home, Inc. Intelligent door lock system with manual operation and push notification
US9916746B2 (en) 2013-03-15 2018-03-13 August Home, Inc. Security system coupled to a door lock system
US11527121B2 (en) 2013-03-15 2022-12-13 August Home, Inc. Door lock system with contact sensor
US9704314B2 (en) 2014-08-13 2017-07-11 August Home, Inc. BLE/WiFi bridge that detects signal strength of Bluetooth LE devices at an exterior of a dwelling
US11802422B2 (en) 2013-03-15 2023-10-31 August Home, Inc. Video recording triggered by a smart lock device
US9355472B2 (en) * 2013-03-15 2016-05-31 Apple Inc. Device, method, and graphical user interface for adjusting the appearance of a control
US11043055B2 (en) 2013-03-15 2021-06-22 August Home, Inc. Door lock system with contact sensor
US11352812B2 (en) 2013-03-15 2022-06-07 August Home, Inc. Door lock system coupled to an image capture device
US11421445B2 (en) 2013-03-15 2022-08-23 August Home, Inc. Smart lock device with near field communication
US10388094B2 (en) 2013-03-15 2019-08-20 August Home Inc. Intelligent door lock system with notification to user regarding battery status
US10181232B2 (en) 2013-03-15 2019-01-15 August Home, Inc. Wireless access control system and methods for intelligent door lock system
US10691953B2 (en) 2013-03-15 2020-06-23 August Home, Inc. Door lock system with one or more virtual fences
US11441332B2 (en) 2013-03-15 2022-09-13 August Home, Inc. Mesh of cameras communicating with each other to follow a delivery agent within a dwelling
GB2547031B (en) * 2016-02-05 2019-09-25 Cambridge Touch Tech Ltd Touchscreen panel signal processing
US11402909B2 (en) 2017-04-26 2022-08-02 Cognixion Brain computer interface for augmented reality
US11237635B2 (en) 2017-04-26 2022-02-01 Cognixion Nonverbal multi-input and feedback devices for user intended computer control and communication of text, graphics and audio
US10360136B2 (en) 2017-05-23 2019-07-23 Salesforce.Com., Inc. Dashboard execution engine
US11054971B2 (en) * 2017-05-23 2021-07-06 Salesforce.Com., Inc. Modular runtime environment
US10852926B2 (en) 2017-05-23 2020-12-01 Salesforce.Com., Inc. Filter of data presentations via user-generated links
US11327707B1 (en) 2020-04-09 2022-05-10 Cisco Technology, Inc. Multi-device interactivity system for a touch screen display
TWI734592B (zh) * 2020-08-20 2021-07-21 仁寶電腦工業股份有限公司 觸控螢幕控制方法及其系統
KR20230087449A (ko) 2020-09-17 2023-06-16 아싸 아블로이 인코퍼레이티드 로크 위치를 위한 자기 센서

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030193481A1 (en) 2002-04-12 2003-10-16 Alexander Sokolsky Touch-sensitive input overlay for graphical user interface
WO2006020304A2 (en) 2004-07-30 2006-02-23 Apple Computer, Inc. Mode-based graphical user interfaces for touch sensitive input devices
US20060097991A1 (en) 2004-05-06 2006-05-11 Apple Computer, Inc. Multipoint touchscreen

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US588411A (en) * 1897-08-17 Pipe-coupling
JPS63108457A (ja) 1986-10-24 1988-05-13 Brother Ind Ltd デ−タ処理装置
DE3809677A1 (de) * 1987-03-19 1988-12-01 Toshiba Kk Anzeige- und eingabegeraet
US5483261A (en) 1992-02-14 1996-01-09 Itu Research, Inc. Graphical input controller and method with rear screen image detection
US5488204A (en) 1992-06-08 1996-01-30 Synaptics, Incorporated Paintbrush stylus for capacitive touch sensor pad
US5880411A (en) 1992-06-08 1999-03-09 Synaptics, Incorporated Object position detector with edge motion feature and gesture recognition
US5591945A (en) 1995-04-19 1997-01-07 Elo Touchsystems, Inc. Acoustic touch position sensor using higher order horizontally polarized shear wave propagation
US5825352A (en) 1996-01-04 1998-10-20 Logitech, Inc. Multiple fingers contact sensing method for emulating mouse buttons and mouse operations on a touch sensor pad
US5835079A (en) 1996-06-13 1998-11-10 International Business Machines Corporation Virtual pointing device for touchscreens
US6310610B1 (en) 1997-12-04 2001-10-30 Nortel Networks Limited Intelligent touch display
US8479122B2 (en) 2004-07-30 2013-07-02 Apple Inc. Gestures for touch sensitive input devices
KR100595925B1 (ko) 1998-01-26 2006-07-05 웨인 웨스터만 수동 입력 통합 방법 및 장치
US6188391B1 (en) 1998-07-09 2001-02-13 Synaptics, Inc. Two-layer capacitive touchpad and method of making same
US6154210A (en) 1998-11-25 2000-11-28 Flashpoint Technology, Inc. Method and system for implementing button interface compatibility in touch-screen equipped digital imaging device
JP4542637B2 (ja) 1998-11-25 2010-09-15 セイコーエプソン株式会社 携帯情報機器及び情報記憶媒体
FI117811B (fi) * 2000-05-15 2007-02-28 Nokia Corp Laite ja menetelmä näppäimen toteuttamiseksi
JP3800984B2 (ja) 2001-05-21 2006-07-26 ソニー株式会社 ユーザ入力装置
US6690365B2 (en) * 2001-08-29 2004-02-10 Microsoft Corporation Automatic scrolling
JP2003173237A (ja) 2001-09-28 2003-06-20 Ricoh Co Ltd 情報入出力システム、プログラム及び記憶媒体
FI115254B (fi) * 2001-12-20 2005-03-31 Nokia Corp Kosketusnäytön käyttäminen osoitinvälineellä
US6690387B2 (en) 2001-12-28 2004-02-10 Koninklijke Philips Electronics N.V. Touch-screen image scrolling system and method
GB0201074D0 (en) 2002-01-18 2002-03-06 3G Lab Ltd Graphic user interface for data processing device
US6928619B2 (en) 2002-05-10 2005-08-09 Microsoft Corporation Method and apparatus for managing input focus and z-order
US11275405B2 (en) 2005-03-04 2022-03-15 Apple Inc. Multi-functional hand-held device
US20040204129A1 (en) 2002-08-14 2004-10-14 Payne David M. Touch-sensitive user interface
US20040261039A1 (en) * 2003-06-19 2004-12-23 International Business Machines Corporation Method and system for ordering on-screen windows for display
US7495659B2 (en) 2003-11-25 2009-02-24 Apple Inc. Touch pad for handheld device
FR2866726B1 (fr) 2004-02-23 2006-05-26 Jazzmutant Controleur par manipulation d'objets virtuels sur un ecran tactile multi-contact
US7728821B2 (en) 2004-08-06 2010-06-01 Touchtable, Inc. Touch detecting interactive display
US8888600B2 (en) * 2004-08-25 2014-11-18 Igt Emulation methods and devices for a gaming machine
US7429993B2 (en) * 2004-09-17 2008-09-30 Microsoft Corporation Method and system for presenting functionally-transparent, unobtrusive on-screen windows
US20060181519A1 (en) 2005-02-14 2006-08-17 Vernier Frederic D Method and system for manipulating graphical objects displayed on a touch-sensitive display surface using displaced pop-ups
KR101690164B1 (ko) 2005-03-04 2016-12-27 애플 인크. 다기능 휴대용 장치
US7605804B2 (en) * 2005-04-29 2009-10-20 Microsoft Corporation System and method for fine cursor positioning using a low resolution imaging touch screen
US8970501B2 (en) 2007-01-03 2015-03-03 Apple Inc. Proximity and multi-touch sensor detection and demodulation
US9052817B2 (en) 2007-06-13 2015-06-09 Apple Inc. Mode sensitive processing of touch data
US8436829B1 (en) * 2012-01-31 2013-05-07 Google Inc. Touchscreen keyboard simulation for performance evaluation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030193481A1 (en) 2002-04-12 2003-10-16 Alexander Sokolsky Touch-sensitive input overlay for graphical user interface
US20060097991A1 (en) 2004-05-06 2006-05-11 Apple Computer, Inc. Multipoint touchscreen
WO2006020304A2 (en) 2004-07-30 2006-02-23 Apple Computer, Inc. Mode-based graphical user interfaces for touch sensitive input devices

Also Published As

Publication number Publication date
DE202008007940U1 (de) 2008-09-25
WO2008157250A1 (en) 2008-12-24
US20080309624A1 (en) 2008-12-18
DE102008028223A1 (de) 2008-12-18
GB2450208A (en) 2008-12-17
GB2450208B (en) 2012-05-02
CN102902473B (zh) 2019-05-03
US9052817B2 (en) 2015-06-09
HK1127651A1 (en) 2009-10-02
CN101324828B (zh) 2012-09-05
CN101324828A (zh) 2008-12-17
NL2001670A1 (nl) 2008-12-16
NL2001670C2 (en) 2009-09-24
GB0808784D0 (en) 2008-06-18
CN102902473A (zh) 2013-01-30

Similar Documents

Publication Publication Date Title
DE102008028223B4 (de) Modusabhängige Verarbeitung von Berührungsdaten
DE102012109058B4 (de) Steuerverfahren und elektronische Einrichtung
DE112010002760B4 (de) Benutzerschnittstelle
DE202008000261U1 (de) Vielfach-Berührungsdatenfussionssystem
DE102010028983A1 (de) Zweidimensionale Berührungssensoren
DE102012014603B4 (de) Betriebssystem und Verfahren für den synchronisierten Betrieb einer Touch-Vorrichtung
DE102011117012A1 (de) Erfassung von gleitbewegungen von mehreren fingern unter verwendung von fingerabdrücken zur erzeugung verschiedener ereignisse
DE202008007776U1 (de) Berührungsbildschirme mit Widerständen aus transparentem leitenden Material
DE112013003647T5 (de) Gesten- und Berührungseingabeerfassung durch Kraftabtastung
DE202008007847U1 (de) Geschwindigkeits-/Positionsmodus-Translation
DE102011016389A1 (de) Multimodus-Berührungsbildschirm-Benutzeroberfläche für eine mehrstufige Berührungsbildschirmvorrichtung
DE202005021492U1 (de) Elektronische Vorrichtung mit berührungsempfindlicher Eingabeeinrichtung
DE202012102966U1 (de) Berührungssensor mit mehreren Oberflächen und Betriebsartenauswahl
DE202017105614U1 (de) Systeme und Computerprogrammprodukte für eine Touchscreen-Benutzeroberfläche eines kollaborativen Bearbeitungstools
DE102011017231A1 (de) Rauschauslöschungstechnik für kapazitative Touchscreen-Controlle unter Verwendung differentieller Erfassung
DE112018002775T5 (de) Verfahren und vorrichtung zum erfassen von ebenen und/oder quadtrees zur verwendung als ein virtuelles substrat
DE112007000278T5 (de) Gestikulieren mit einer Mehrpunkt-Abtastvorrichtung
DE112018004686T5 (de) Touchscreen mit taktilen feedbackstrukturen und zugehörigen virtuellen benutzeroberflächenelementen
DE202007018940U1 (de) Bewegungserkennung für einen Digitalisierer
DE102010027732A1 (de) Zweidimensionaler Positionssensor
DE202007019347U1 (de) Bildschirm-Tastfeld-Anzeigevorrichtung
DE112009004948T5 (de) Anzeige mit einem optischen Sensor
DE112013004801T5 (de) Multimodaler Berührungsbildschirmemulator
DE112012006448T5 (de) Umsetzung einer Berührungseingabe in eine lokale Eingabe auf der Grundlage eines Umsetzungsprofils für eine Anwendung
DE112011103173T5 (de) Übergangsansicht auf einer tragbaren elektronischen Vorrichtung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R016 Response to examination communication
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0003037000

Ipc: G06F0003048800

Effective date: 20130304

R016 Response to examination communication
R018 Grant decision by examination section/examining division