DE69534404T2 - Verfahren zum kompensieren von unbeabsichtigten Bewegungen bei einer Antipgeste auf einer Berührungssensorfläche - Google Patents

Verfahren zum kompensieren von unbeabsichtigten Bewegungen bei einer Antipgeste auf einer Berührungssensorfläche Download PDF

Info

Publication number
DE69534404T2
DE69534404T2 DE69534404T DE69534404T DE69534404T2 DE 69534404 T2 DE69534404 T2 DE 69534404T2 DE 69534404 T DE69534404 T DE 69534404T DE 69534404 T DE69534404 T DE 69534404T DE 69534404 T2 DE69534404 T2 DE 69534404T2
Authority
DE
Germany
Prior art keywords
finger
gesture
sensor
tapping
tap
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.)
Expired - Lifetime
Application number
DE69534404T
Other languages
English (en)
Other versions
DE69534404D1 (de
Inventor
David Gillespie
P. Timothy ALLEN
Ralph Wolf
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.)
Synaptics Inc
Original Assignee
Synaptics 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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=23245135&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=DE69534404(T2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Synaptics Inc filed Critical Synaptics Inc
Publication of DE69534404D1 publication Critical patent/DE69534404D1/de
Application granted granted Critical
Publication of DE69534404T2 publication Critical patent/DE69534404T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • G06F3/0383Signal control means within the pointing device
    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0416Control or interface arrangements specially adapted for digitisers
    • G06F3/04166Details of scanning methods, e.g. sampling time, grouping of sub areas or time sharing with display driving
    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/044Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by capacitive means
    • G06F3/0446Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by capacitive means using a grid-like structure of electrodes in at least two directions, e.g. using row and column electrodes
    • 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/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0486Drag-and-drop
    • 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
    • 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/0489Interaction 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 dedicated keyboard keys or combinations thereof
    • G06F3/04892Arrangements for controlling cursor position based on codes indicative of cursor displacements from one discrete location to another, e.g. using cursor control keys associated to different directions or using the tab key
    • 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

Description

  • Die vorliegende Erfindung betrifft Objektposition erfassende Wandler und Systeme. Insbesondere betrifft die vorliegende Erfindung eine Objektpositionserkennung, die bei Anwendungen wie Bewegung des so genannten Cursors (dt. Einfügemarke) bei Rechnern und anderen Anwendungen brauchbar ist, und speziell die Bewegung des Cursors, bei verbesserten Merkmalen der Randweiterbewegung und Gestenerkennung.
  • Es gibt zahlreiche Geräte zur Verwendung als Objektpositionsdetektoren für den Einsatz bei Computersystemen und anderen Anwendungen bzw. wurden vorgeschlagen. Das bekannteste dieser Geräte ist die Computer-„Maus". Sie ist zwar als positionsanzeigende Vorrichtung äußerst beliebt, doch weist eine Maus mechanische Teile auf und benötigt eine Fläche, auf der ihr Positionsball rollen kann. Weiterhin muss eine Maus für vernünftige Auflösung meist lange Strecken bewegt werden. Schließlich fordert eine Maus vom Anwender, dass er eine Hand von der Tastatur nimmt, um die Cursor-Bewegung auszuführen, wodurch der Hauptzweck beeinträchtigt wird, nämlich das Tippen auf dem Computer.
  • So genannte Trackball-Geräte (dt. Steuerkugelgeräte) ähneln Mausgeräten. Ein Hauptunterschied ist aber, dass im Gegensatz zu einem Mausgerät ein Trackball-Gerät keine Fläche erfordert, über die es gerollt werden muss. Trackball-Geräte sind immer noch teuer, haben bewegliche Teile und erfordern wie Mausgeräte ein relativ starkes Berühren. Sie sind ferner groß und passen nicht gut in eine volumenempfindliche Anwendung wie einen Laptop-Computer.
  • Es gibt mehrere Berührung erfassende Technologien, die zur Verwendung als Positionsindikator eingesetzt werden können. Positionssensoren mit Widerstandsmembran sind bekannt und werden bei mehreren Anwendungen eingesetzt. Im Allgemeinen leiden sie aber unter schlechter Auflösung, die Sensorfläche ist gegenüber dem Bediener ungeschützt und unterliegt dadurch Verschleiß. Ferner sind Berührungssensoren mit Widerstandsmembran relativ teuer. Eine Strategie mit einer Oberfläche erfordert, dass der Bediener für zuverlässigen Betrieb gegenüber dem Sensor geerdet ist. Das kann bei tragbaren Rechnern nicht garantiert werden. Ein Beispiel für eine Strategie mit einer Oberfläche ist das Produkt UnMouse (TM) von MicroTouch, Wilmington, MA. Eine Strategie mit zwei Oberflächen hat eine schlechtere Auflösung und verschleißt unter Umständen recht schnell.
  • Widerstandstablette werden von U.S. Pat. Nr. 4,680,430 für Yoshikawa, U.S. Pat. Nr. 3,497,617 für Ellis und von vielen anderen gelehrt. Der Nachteil all dieser Strategien ist der hohe Stromverbrauch und die hohen Kosten der eingesetzten Widerstandsmembran.
  • Akustische Oberflächenwellengeräte (SAW-Geräte) sind potenziell als Positionsindikatoren verwendbar. Diese Sensortechnologie ist aber teuer und spricht auf leichte Berührung nicht an. Ferner sind SAW-Geräte gegenüber Ablagerungen auf den Berührungsflächen empfindlich und haben im Allgemeinen eine schlechte Auflösung.
  • Dehnmessstreifen- oder Druckplattenstrategien sind eine interessante Positionserfassungstechnologie, leider aber unter mehreren Nachteilen. Dieses Vorgehen kann piezoelektrische Wandler einsetzen. Ein Nachteil ist, dass das Piezo-Phänomen ein Wechselstromphänomen ist und auf die Bewegungsgeschwindigkeit des Bedieners ansprechen kann. Ferner sind Dehnmessstreifen- oder Druckplattenstrategien relativ teuer, da spezielle Sensoren erforderlich sind.
  • Optische Strategien sind ebenfalls möglich, aber aus mehrerlei Gründen relativ eingeschränkt. Alle würden Lichterzeugung erfordern, was externe Komponenten nötig macht und Kosten und Stromverbrauch erhöht. Zum Beispiel verbraucht ein „fingerbrechender" Infrarot-Matrixpositionsdetektor viel Strom und leidet unter einer relativ schlechten Auflösung.
  • Es gibt zahlreiche Versuche, ein Gerät für das Erfassen der Position eines Daumens oder anderen Fingers zur Verwendung als Zeigegerät als Ersatz für eine Maus oder einen Trackball an die Hand zu geben. Wünschenswerte Eigenschaften eines solchen Geräts sind geringer Stromverbrauch, geringe Dicke, hohe Auflösung, niedrige Kosten, schnelle Reaktion und die Fähigkeit, zuverlässig zu arbeiten, wenn der Finger elektrisches Rauschen überträgt oder wenn die Berührungsfläche mit Schmutz oder Feuchtigkeit verunreinigt ist.
  • Aufgrund der Nachteile von Widerstandsgeräten wurden viele Versuche unternommen, Zeigertauglichkeit beruhend auf einem kapazitiven Erfassen der Position des Fingers zu bieten. U.S. Pat. Nr. 3,921,166 für Volpe lehrt eine kapazitive Matrix, bei der der Finger die Transkapazität zwischen Zeilen- und Spaltenelektroden ändert. U.S. Pat. Nr. 4,103,252 für Bobick setzt vier oszillierende Signale ein, um x- und y-Positionen zwischen vier kapazitiven Elektroden zu interpolieren. U.S. Pat. Nr. 4,455,452 für Schuyler lehrt ein kapazitives Tablett, bei dem der Finger die kapazitive Kopplung zwischen Elektroden dämpft.
  • Das U.S. Pat. Nr. 4,550,221 für Mabusth lehrt ein kapazitives Tablett, bei dem die Betriebskapazität gegenüber "virtueller Erde" durch ein oszillierendes Signal gemessen wird. Jede Zeile oder Spalte wird sequentiell abgefragt, und es wird eine rudimentäre Form der Interpolation angewendet, um die Position zwischen zwei Zeilen oder Spalten zu ermitteln. Durch Mitteln über viele Zyklen der oszillierenden Wellenform wird ein Versuch unternommen, das Problem der elektrischen Interferenz anzugehen. Das Problem der Verunreinigung wird dadurch angegangen, dass erfasst wird, wann kein Finger anliegt, und eine periodische Kalibrierung während solcher Zeiten ohne anliegenden Finger durchgeführt wird. U.S. Pat. Nr. 4,639,720 für Rympalski lehrt ein Tablett für das Erfassen der Position eines Eingabestifts. Der Eingabestift ändert die Transkapazitätskopplung zwischen Zeilen- und Spaltenelektroden, die sequentiell abgetastet werden. U.S. Pat. Nr. 4,736,191 für Matzke lehrt eine radiale Elektrodenanordnung unter der Leertaste einer Tastatur, die durch Berührung mit einem Daumen zu aktivieren ist. Dieses Patent lehrt die Verwendung einer Gesamtberührungskapazität als Anzeige des Berührungsdrucks zur Steuerung der Geschwindigkeit der Cursor-Bewegung. Um die Wirkungen elektrischer Interferenz anzugehen, wird gepulstes sequentielles Abfragen eingesetzt.
  • U.S. Pat. Nr. 4,686,332 und 5,149,919 für Greanias lehrt einen Eingabestift und ein Fingerdetektionssystem, das zur Anbringung an einer Kathodenstrahlröhre gedacht ist. Als Fingerdetektionssystem wird seine X/Y-Sensormatrix zur Lagefeststellung der beiden Matrixdrähte, die das maximale Signal führen, eingesetzt. Mit einem Codierungsschema ermitteln diese beiden Drähte eindeutig die Lage der Fingerposition bis zur Auflösung der Leiterabstufung. Bei der Eingabestiftdetektion ermittelt Greanias ihn zuerst grob, entwickelt dann einen virtuellen Dipol durch Antreiben aller Leitungen an einer Seite des Objekts in einer Richtung und aller Leitungen an der gegenüberliegenden Seite in die Gegenrichtung. Dies wird dreimal mit verschiedenen Dipolphasen und Signalpolaritäten ausgeführt. Unter der Annahme einer vorgegebenen Matrixreaktion auf das Objekt geben die drei Messungen einen Satz gleichzeitiger Gleichungen, die für die Position gelöst werden können.
  • U.S. Pat. Nr. 4,733,222 für Evans lehrt zum ersten Mal ein Kapazitätsberührungsmesssystem, das hochgradig interpoliert. Evans lehrt ein Dreiklemmen-Messsystem, das einen Ansteuer-, Erfassungs- und Elektrodensignalsatz (3 Signale) in seiner Matrix verwendet und die Messung auf die Dämpfungswirkung eines Fingers auf dem Elektrodenknotensignal stützt (nutzt ein kapazitives Teilerphänomen). Evans tastet sequentiell jeden Ansteuersatz ab, um die Kapazität zu messen. Aus den drei größten Reaktionen wird eine Interpolationsroutine zur Ermittlung der Fingerposition angewendet. Evans lehrt auch ein Nullsetzungsverfahren, das als Teil der Messung ein Löschen von Werten „ohne Finger" zulässt.
  • U.S. Pat. Nr. 5,016,008 für Gruaz beschreibt eine berührungsempfindliche Fläche, die ebenfalls Interpolation verwendet. Gruaz benützt einen Ansteuer- und Erfassungssignalsatz (2 Signale) in der Berührungsmatrix und stützt sich wie Evans auf die Dämpfungswirkung eines Fingers zur Modulierung des Ansteuersignals. Die Berührungsmatrix wird sequentiell abgetastet, um die Reaktion jeder Matrixzeile zu lesen. Ein Interpolationsprogramm wählt dann die beiden größten benachbarten Signale in beiden Dimensionen aus, um die Fingerposition zu ermitteln, und ermittelt auf ratiometrische Weise die effektive Position aus diesen 4 Zahlen.
  • Gerpheide, PCT-Anmeldung US90/04584, Veröffentlichung Nr. WO91/03039, U.S. Pat. Nr. 5,305,017 wendet bei einem Berührungsflächensystem eine Abwandlung des virtuellen Dipol-Vorgehens von Greanias an. Gerpheide lehrt die Anwendung eines oszillierenden Potentials vorgegebener Frequenz und Phase bei allen Elektroden an einer Seite des virtuellen Dipols und eines oszillierenden Potentials der gleichen Frequenz und entgegengesetzten Phase an denen an der anderen Seite. Elektronische Schaltungen entwickeln ein „Ausgleichssignal", das Null ist, wenn kein Finger vorhanden ist, und eine Polarität aufweist, wenn ein Finger an einer Seite der Mitte des virtuellen Dipols vorhanden ist, und die entgegengesetzte Polarität, wenn sich der Finger an der gegenüberliegenden Seite befindet. Um zunächst die Position des Fingers zu erhalten, wird der virtuelle Dipol sequentiell über das Tablett abgetastet. Sobald die Lage des Fingers festgestellt ist, wird er durch Bewegen des virtuellen Dipols hin zum Finger „verfolgt", sobald sich der Finger mehr als eine Zeile oder Spalte bewegt.
  • Da das virtuelle Dipol-Verfahren durch Erzeugen eines Ausgleichssignals arbeitet, das Null ist, wenn sich die Kapazität nicht mit dem Abstand ändert, erfasst es nur den Umfang der Fingerkontaktfläche statt der gesamten Kontaktfläche. Da sich das Verfahren auf eine synchrone Detektion des Erregungssignals stützt, muss es zur Störunterdrückung über lange Zeiträume mitteln und ist daher langsam. Die bei diesem Verfahren erforderliche Mittelungszeit zusammen mit der Notwendigkeit, sequentiell nach einem neuen Fingerkontakt zu suchen, sobald ein vorheriger Kontakt verloren geht, lässt dieses Verfahren wie die vorherigen auch hinter den Anforderungen an eine schnelle Zeigervorrichtung, die nicht durch elektrische Interferenz beeinträchtigt wird, zurückbleiben.
  • Es versteht sich auch, dass alle vorherigen Berührungsflächen-Erfindungen, die Interpolation verwendeten, strenge Konstruktionsanforderungen an ihre Erfassungsfläche stellten. Greanias und Evans verwenden ein kompliziertes und teures Ansteuer-, Erfassungs- und Elektrodenleitungsschema zur Entwicklung ihres Signals. Gruaz und Gerpheide verwenden einen Ansteuer- und Erfassungssatz mit zwei Signalen. Bei der vorliegenden Erfindung erfolgt das Ansteuern und Erfassen an der gleichen Leitung. Dies lässt symmetrische und äquivalente Zeilen- und Spaltenabschnitte zu. Dies lässt wiederum eine unabhängige Kalibrierung aller Signalwege zu, was das Leiterplatten-Layout einfacher und weniger einschränkend macht und einzigartigere Sensortopologien zulässt.
  • Die Nachteile der in der vorbekannten Technik beschriebenen Erfindungen und Verfahren können auch auf die Verwendung von nur einem Ansteuer- und Erfassungselektroniksatz, der sequentiell über die Elektroden in dem Tablett multiplex betrieben wird, zurückverfolgt werden. Diese Anordnung war in den Tagen diskreter Komponenten kostengünstig und vermied Offset und Maßstabunterschiede zwischen den Schaltungen.
  • Das sequentielle Abtastvorgehen früherer Systeme machte diese auch gegenüber Rauschen empfindlicher. Rauschpegel konnten sich zwischen aufeinander folgenden Messungen ändern, wodurch das gemessene Signal und die in den Interpolationsroutinen verwendeten Annahmen geändert wurden.
  • Schließlich nahmen alle früheren Vorgehen eine bestimmte Signalreaktion für die Fingerposition gegenüber einer Matrixposition an. Da die Übertragungskurve gegenüber vielen Parametern sehr empfindlich ist und keine gleichmäßige lineare Kurve ist, wie Greanias und Gerpheide annehmen, sind solche Vorgehen bezüglich des Interpolationsmaßes beschränkt, das sie leisten können.
  • Von den so genannten Touchpad-Geräten (Geräten mit berührungsempfindlichem Feld), die derzeit erhältlich sind, enthält nur der Alps/Cirque GlidePoint (TM) eine Gestenerkennung. Der GlidePoint unterstützt einfache Tipp-, Doppeltipp- und Ziehgesten zur Simulierung der Bedienung einer primären Maustaste. Er unterstützt nicht mehrfingrige Gesten, es gibt auch keine Gesten für das Simulieren von sekundären Tastenklicks. Zu den im GlidePoint eingesetzten Umsetzungsverfahren sind keine Informationen bekannt. Der GlidePoint hat aber bekanntermaßen Schwierigkeiten mit Doppeltippen, einem Problem, das von der vorliegenden Erfindung angegangen wird. Der GlidePoint weist bei jedem Fingerbewegungsstreichen eine Verzögerung auf, was ein Versuch sein kann, den Cursor während Tippgesten zu stabilisieren. Ferner ist der GlidePoint auf physikalische Schalter oder extrem hohe Verstärkung oder Beschleunigung angewiesen, um Ziehen über lange Strecken zuzulassen.
  • Bei einem Erzeugnis mit berührungsempfindlicher Fläche, der UnMouse, ist ein Schalter unter ihrem Widerstandssensor angebracht, so dass der Bediener einfach auf die Fläche drückt, um die Taste zu aktivieren. Abgesehen von der Erfordernis einer zerbrechlichen und komplexen mechanischen Befestigung ist dieses Gerät angeblich auch recht ermüdend für den Bediener.
  • Graphiktabletts, die durch einen druckempfindlichen Eingabestift an Stelle eines Fingers bedient werden, sind auf dem Gebiet gut bekannt. Diese Geräte verwenden üblicherweise einen Mechanismus wie die „Schiebe"-Geste der vorliegenden Erfindung, um Bedienschalter zu simulieren. Keine anderen Gesten der hier beschriebenen Art wurden bisher bei mit Eingabestift bedienten Tabletts gesehen.
  • EP-A-0 490 001 offenbart ein Gerät mit berührungsempflicher Fläche, bei dem eine Tippgeste erkannt wird, die dem Host-Computer übermittelten X- und Y-Koordinaten eingefroren werden.
  • Eine Aufgabe der Erfindung besteht darin, die Erkennung von Gesten eines Fingers oder anderen Objekts eines Berührungssensorfelds so vorzusehen, dass eine unbeabsichtigte Bewegung des Fingers oder anderen Objekts während der Ausführung der Geste kompensiert wird.
  • Erfindungsgemäß wird ein Verfahren für das Kompensieren einer unbeabsichtigten seitlichen Bewegung bei Antippen eines Berührungssensorfelds in einem Berührung erfassenden System, welches einem Host X- und Y-Positionsangaben liefert, an die Hand gegeben, wobei es die folgenden Schritte umfasst:
    Detektieren des Eintretens eines von einem leitenden antippenden Objekt vorgenommenen Antippens des Berührungssensorfelds; und
    bei Detektieren des Eintretens eines Antippens Senden eines Signals an den Host, welches das Eintreten des Antippens anzeigt; wobei das Verfahren durch folgendes gekennzeichnet ist:
    Senden von X- und Y-Positionsangaben an den Host, welche eine seitliche Bewegung des antippenden Objekts an dem Berührungssensorfeld während des Antippens darstellen; und
    bei Detektieren des Eintretens eines Antippens Senden von weiteren X- und Y-Positionsangaben an den Host, welche eine Bewegung entgegengesetzt zur seitlichen Bewegung des antippenden Objekts an dem Berührungssensorfeld während des Antippens darstellen.
  • Daher wird für eine unabsichtliche Bewegung des Fingers oder anderen Objekts während der Ausführung der Antippgeste Ausgleich geboten.
  • Die Erfindung wird nachstehend unter Bezug auf die folgende Beschreibung und die Begleitzeichnungen weiter beschrieben. Hierbei zeigen:
  • 1 ein Gesamtblockschema des kapazitiven Positionserfassungssystems.
  • 2a eine Draufsicht auf einen Objektpositionssensorwandler, wobei die Oberflächenschicht des Objektpositionssensors mit einer oberen leitenden Leiterbahnschicht und leitenden Feldern, die mit einer unteren Leiterbahnschicht verbunden sind, gezeigt wird.
  • 2b eine Bodenansicht des Objektpositionssensorwandlers von 2a, welche die untere leitende Leiterbahnschicht zeigt.
  • 2c eine Zusammenschau des Objektpositionssensorwandlers von 2a und 2b, die sowohl die obere als auch die untere leitende Leiterbahnschicht zeigt.
  • 2d eine Querschnittansicht des Objektpositionssensorwandlers der 2a2c.
  • 3 ein Blockdiagramm einer Sensorentschlüsselungselektronik, die mit dem Sensorwandler verwendet werden kann.
  • 4a ein vereinfachtes schematisches Diagramm einer Ladungsintegratorschaltung, die in der vorliegenden Erfindung verwendet werden kann.
  • 4b ein veranschaulichendes schematisches Diagramm der Ladungsintegratorschaltung von 4a.
  • 5 ein Zeitverlaufsdiagramm des Betriebs der Ladungsintegratorschaltung von 4a und 4b.
  • 6 ein schematisches Diagramm einer veranschaulichenden Filter- und Abtast-Halteschaltung zur Verwendung in der vorliegenden Erfindung.
  • 7 ein detaillierteres Blockdiagramm einer derzeit bevorzugten Anordnung von Analog-Digital-Wandlern zur Verwendung in der vorliegenden Erfindung.
  • 8 ein Blockdiagramm einer veranschaulichenden Recheneinheit, die in der vorliegenden Erfindung verwendet werden kann.
  • 9 ist ein Blockdiagramm einer Kalibrierungseinheit, die mit der Recheneinheit von 8 verwendet werden kann.
  • 10 ein schematisches Diagramm einer Vorspannung erzeugenden Schaltung, die in der vorliegenden Erfindung brauchbar ist.
  • 11 ein Diagramm der Erfassungsebene, welches das Randweiterbewegungsmerkmal eines Objektpositionssensors veranschaulicht.
  • 12 ein schematisches Diagramm, das die Hardware-Implementierung der Ermittlung veranschaulicht, ob ein Finger oder anderes Objekt in den Randbereichen der Erfassungsebene vorhanden ist.
  • 13 ein schematisches Diagramm, das die Hardware-Implementierung des Randweiterbewegungsmerkmals veranschaulicht.
  • 14 ein detaillierteres Blockdiagramm der Gesteneinheit 20 von 1.
  • 15a bis 15e Zeitverlaufsdiagramme, die einige der Gesten veranschaulichen, die erkannt werden können.
  • 16a und 16b Diagramme, die zwei Antippzonenformen veranschaulichen, die auf Sensorfeldern in der vorliegenden Erfindung verwendet werden können.
  • 17a bis 17f ein Flussdiagramm, das den Betrieb der Antippeinheit von 14 zeigt.
  • 18a bis 18c ein Flussdiagramm, das den Betrieb der Zickzackeinheit von 14 veranschaulicht.
  • 19 ein Zeitverlaufsdiagramm, das eine "Schiebe"-Geste veranschaulicht.
  • 20 ein Flussdiagramm, das den Betrieb der Schiebeeinheit von 14 veranschaulicht.
  • 21 ist ein Blockdiagramm einer veranschaulichenden Anhebe-Sprung-Unterdrückungsschaltung, die bei der Gestenerkennung verwendet werden kann.
  • Die vorliegende Erfindung setzt das von den vorliegenden Anmeldern in früheren Anmeldungen offenbarte Vorgehen fort und gibt einzigartigere Merkmale, die zuvor nicht verfügbar waren, an die Hand. Diese Verbesserungen bieten eine leichter zu integrierende Lösung, verbessertes Ansprechvermögen und größere Rauschunterdrückung, eine höhere Datenerfassungsgeschwindigkeit und geringeren Stromverbrauch. Die vorliegende Erfindung lässt eine kontinuierliche Selbstkalibrierung zur Ausschaltung der Wirkungen von Umgebungsänderungen zu und ermöglicht eine verbesserte Cursorsteuerung durch Randweiterbewegung an einer Erfassungsebene.
  • Der Durchschnittsfachmann wird erkennen, dass die folgende Beschreibung der vorliegenden Erfindung nur veranschaulichend und in keiner Weise einschränkend ist. Andere Ausführungen der Erfindung sind für einen solchen Fachmann nahe liegend.
  • Die vorliegende Erfindung bringt in Kombination eine Reihe von einzigartigen Merkmalen zusammen, die neue zuvor nicht mögliche Anwendungen zulassen. Da der in der vorliegenden Erfindung verwendete Objektpositionssensor einen sehr geringen Energiebedarf hat, ist er vorteilhaft für den Gebrauch in batteriebetriebenen oder Niedrigstrom-Applikationen wie Laptops oder tragbaren Computern. Er ist auch eine sehr kostengünstige Lösung, hat keine sich bewegenden Teile (und ist daher praktisch wartungsfrei) und verwendet die vorhandenen Leiterplatten-Leiterbahnen für Sensoren. Die in der vorliegenden Erfindung verwendete Erfassungstechnologie kann in eine Hauptplatine eines Rechners integriert werden, um seine Kosten bei Computeranwendungen noch stärker zu senken. Analog kann der Sensor bei anderen Anwendungen Teil einer bereits vorhandenen gedruckten Schaltung sein.
  • Aufgrund ihrer kleinen Größe und geringen Höhe ist die Sensortechnologie bei Laptop- oder tragbaren Applikationen brauchbar, bei denen Volumen ein wichtiger Aspekt ist. Die Sensortechnologie erfordert Leiterplattenplatz für nur einen einzigen Sensorschnittstellenchip, der direkt mit einem Mikroprozessor verbinden kann, plus die auf der Leiterplatte erforderliche Fläche für die Erfassung.
  • Unter Bezug zunächst auf 1 wird ein vereinfachtes Blockdiagramm eines kapazitiven Positionserfassungssystems 6 vorgestellt. Das kapazitive Positionserfassungssystem 6 kann die Position eines Fingers 8 oder eines anderen leitenden Objekts nahe einer bzw. unter Berührung einer Erfassungsebene 10 präzis ermitteln. Die Kapazität mehrerer leitender Leitungen, die in einer ersten Richtung (z.B. „X") verlaufen, wird durch eine X-Eingabeverarbeitungsschaltung 12 erfasst, und die Kapazität mehrerer leitender Leitungen, die in einer zweiten Richtung (z.B. „Y") verlaufen, wird durch eine Y-Eingabeverarbeitungsschaltung 14 erfasst. Die erfassten Kapazitätswerte werden sowohl in der X-Eingabeverarbeitungsschaltung 12 als auch der Y-Eingabeverarbeitungsschaltung 14 digitalisiert. Die Ausgaben der X-Eingabeverarbeitungsschaltung 12 und der Y-Eingabeverarbeitungsschaltung 14 werden der Recheneinheit 16 vorgelegt, die die digitalen Angaben nutzt, um digitale Angaben abzuleiten, welche die Position und den Druck des Fingers 8 oder eines anderen leitenden Objekts gegenüber der Erfassungsebene 10 darstellen.
  • Die X-, Y- und Z-Ausgaben der Recheneinheit 16 werden zu einer Bewegungseinheit 18 geleitet, die dem Hostrechner die Cursorbewegungsrichtungssignale liefert. Der Durchschnittsfachmann wird erkennen, dass „Host", so wie der Begriff hier verwendet wird, einen eigenständigen Rechner, zum Beispiel einen IBM oder einen von Apple Computers hergestellten kompatiblen PC oder Rechner, Handbediengeräte, PDAs (= persönliche digitale Assistenten), Fernkommunikationsgeräte oder dergleichen oder jedes andere Gerät oder System bedeutet, das die Ausgabe eines Berührungstabletts als Eingabe nehmen kann.
  • Die X-, Y- und Z-Ausgaben der Recheneinheit 16 werden ebenfalls an die Gesteneinheit 20 geleitet, die dazu dient, bestimmte von einem Bediener auf der Erfassungsebene 10 ausgeführte Fingergesten zu erkennen. Ferner kann die Gesteneinheit 20 ein Signal an die Bewegungseinheit 18 erzeugen, um das erfindungsgemäße Randweiterbewegungsmerkmal auf der Grundlage des Zustands der Gestenverarbeitung zu aktivieren.
  • Als Sensormaterial kann alles dienen, das die Herstellung einer leitenden X/Y-Feldmatrix zulässt. Dies umfasst nicht nur standardmäßige PC-Platinen, sondern schließt auch flexible PC-Platinen, leitende Elastomermaterialien, durch Siebdruck hergestellte leitende Leitungen und piezoelektrische Kynar-Kunststoffmaterialien ein, ist aber nicht hierauf beschränkt. Dadurch ist es auch bei tragbaren Geräteapplikationen oder bei der Schnittstelle zwischen Mensch und Rechner brauchbar, bei der der Sensor so geformt werden muss, dass er in die Hand passt.
  • Der Sensor kann jeder dreidimensionalen Oberfläche angeglichen werden. Kupfer kann in zwei Schichten auf nahezu jede Oberflächenkontur aufgebracht werden, die den Sensor erzeugt. Dadurch lässt sich der Sensor der besten erforderlichen ergonomischen Form einer bestimmten Applikation anpassen. In Verbindung mit dem Merkmal der „leichten Berührung" macht ihn dies in vielen Anwendungen mühelos zu bedienen. Der Sensor kann auch indirekt verwendet werden, d.h. er kann über der Berührung erfassenden Oberfläche ein Isolierschaummaterial aufweisen, das von einer leitenden Schicht bedeckt ist, und kann zur Detektion eines beliebigen Objekts (nicht nur eines leitenden) verwendet werden, das gegen seine Oberfläche drückt.
  • Kleine Sensorflächen sind praktisch, d.h. eine derzeit vorgestellte Ausführung nimmt eine Fläche von etwa 1,5 Zoll (3,81 cm) × 1,5 Zoll (3,81 cm) ein, der Durchschnittsfachmann auf dem Gebiet wird aber erkennen, dass die Fläche für andere Anwendungen skalierbar ist. Die Matrixfläche ist durch entweder Verändern der Matrixleiterbahn-Abstände oder durch Verändern der Anzahl an Leiterbahnen skalierbar. Große Sensorflächen sind praktisch, wenn mehr Informationen erforderlich sind.
  • Neben einfachen X- und Y-Positionsangaben liefert die verwendete Sensortechnologie auch Fingerdruckangaben. Diese weitere Informationsgröße kann von Programmen zur Steuerung spezieller Merkmale wie „Strichbreiten"-Moden in Paint-Programmen, spezielle Menüzugriffe, etc. verwendet werden, wobei das Liefern einer natürlicheren sensorischen Eingabe an Rechner möglich wird. Es hat sich auch für das Implementieren von „Mausklick- und Mauszieh"-Moden und für einfache Eingabegesten als brauchbar erwiesen.
  • Der Bediener muss nicht einmal die Oberfläche berühren, um die Mindestreaktion zu erzeugen. Dieses Merkmal kann die Ermüdung des Bedieners stark minimieren und eine flexiblere Anwendung ermöglichen.
  • Das verwendete Erfassungssystem hängt von einem Wandlergerät ab, das Positions- und Druckangaben bezüglich des den Wandler berührenden Objekts liefern kann. Unter Bezug nun auf 2a2d werden jeweils eine obere, eine untere, eine kombinierte und eine Querschnittansicht einer derzeit bevorzugten Erfassungsebene 10 gezeigt, die eine Berührungssensormatrix 22 zur Verwendung in der vorliegenden Erfindung umfasst. Da durch diese Ausführung die Kapazität genutzt wird, ist die Oberfläche der Berührungssensormatrix 22 so ausgelegt, dass die kapazitive Kopplung mit einem Finger oder einem anderen leitenden Objekt maximiert wird.
  • Eine derzeit bevorzugte Berührungssensormatrix 22 umfasst einen Träger 24 mit einem Satz erster leitender Leiterbahnen 26, die an einer oberen Fläche 28 desselben angeordnet sind und in einer ersten Richtung verlaufen, um Zeilenpositionen der Matrix zu umfassen. Ein zweiter Satz leitender Leiterbahnen 30 sind an einer unteren Fläche 32 desselben angeordnet und verlaufen in eine zweite Richtung, die vorzugsweise rechtwinklig zur ersten Richtung ist, um die Spaltenpositionen der Matrix zu bilden. Die oberen und unteren leitenden Leiterbahnen 26 und 30 stehen abwechselnd mit periodischen Erfassungsfeldern 34 in Berührung, welche vergrößerte Flächen umfassen, die in 2a2c als Rauten gezeigt werden. Zwar werden die Erfassungsfelder 34 in 2a2c als Rauten gezeigt, doch ist jede Form, zum Beispiel Kreise, die deren enges Packen zulässt, für die Zwecke dieser Erfindung gleichwertig. Als willkürliche Gepflogenheit werden hier die ersten leitenden Leiterbahnen 26 als in „X"- oder „Zeilen"-Richtung ausgerichtet bezeichnet und können hier manchmal als „X-Leitungen" bezeichnet werden und die zweiten leitenden Leiterbahnen 30 werden als in „Y"- oder „Spalten"-Richtung ausgerichtet bezeichnet und können hier manchmal als „Y-Leitungen" bezeichnet werden.
  • Die Anzahl und Beabstandung dieser Erfassungsfelder 34 hängt von der erwünschten Auflösung ab. Bei einer tatsächlichen Ausführung zum Beispiel, die nach den Grundsätzen der vorliegenden Erfindung konstruiert wurde, wird ein Rautenmuster der Erfassungsfelder 34 mit 0,10 Zoll (0,254 cm) von Mitte zu Mitte, die entlang einer Matrix von 15 Zeilen und 15 Spalten von Leitern angeordnet sind, eingesetzt. Jedes zweite Erfassungsfeld 34 in jeder Richtung in dem Feldmuster ist mit leitenden Leiterbahnen an den oberen und unteren Oberflächen 28 und 32 des Trägers 24 jeweils verbunden.
  • Der Träger 24 kann eine Leiterplatte sein, eine flexible Leiterplatte oder eine beliebige einer Reihe von erhältlichen Schaltungsverbindungstechnologie-Strukturen. Seine Dicke ist unwesentlich, solange dadurch von den unteren leitenden Leiterbahnen 30 zu deren Erfassungsfeldern 34 auf der oberen Oberfläche 28 Kontakt hergestellt werden kann. Die Leiterplatte mit dem Träger 24 kann unter Verwendung standardmäßiger Branchenverfahren hergestellt sein. Die Dicke der Leiterplatte ist unwesentlich. Verbindungen von den leitenden Feldern 34 zu den unteren Leiterbahnen 30 können unter Verwendung standardmäßiger Durchkontaktierungsverfahren hergestellt werden, die in dem Gebiet der Leiterplatten bekannt sind.
  • In einer anderen Ausführung kann der Träger 24 eine Dicke in der Größenordnung von 0,005 Zoll (0,127 mm) bis 0,010 Zoll (0,254 mm) haben. Dann kann auf die Rauten auf der oberen Oberfläche 28 und die Durchkontaktierungen, die mit den Leiterbahnen 30 der unteren Oberfläche verbinden, verzichtet werden, was die Kosten des Systems weiter senkt.
  • Eine isolierende Schicht 36 ist über den Erfassungsfeldern 34 an der oberen Oberfläche 28 angeordnet, um einen menschlichen Finger oder ein anderes Objekt davon zu isolieren. Die isolierende Schicht 36 ist vorzugsweise eine dünne Schicht (d.h. etwa 5 mil), um die kapazitive Kopplung groß zu halten, und kann ein Material wie Mylar umfassen, das für seine schützenden und ergonomischen Eigenschaften gewählt wird. Der Begriff „erhebliche kapazitive Kopplung", wie er hier verwendet wird, soll eine kapazitive Kopplung mit einer Größenordnung von über 0,5 pF bedeuten.
  • Es gibt zwei verschiedene kapazitive Wirkungen, die eintreten, wenn sich ein Finger der Berührungssensormatrix 22 nähert. Die erste kapazitive Wirkung ist die Transkapazität oder Kopplung zwischen den Erfassungsfeldern 34 und die zweite kapazitive Wirkung ist die Eigenkapazität oder Kopplung mit virtueller Erde. Die Erfassungsschaltung ist mit der Sensormatrix 22 gekoppelt und reagiert auf Änderungen einer oder beider dieser Kapazitäten. Dies ist wichtig, da sich die relativen Größen der beiden Kapazitäten abhängig vom Bedienerumfeld stark ändern. Die Fähigkeit, Änderungen sowohl der Eigenkapazität als auch der Transkapazität zu detektieren, ergibt ein sehr vielseitiges System mit einem großen Bereich an Anwendungen.
  • Nach der bevorzugten Ausführung detektiert ein Positionssensorsystem mit einer Berührungssensormatrix 22 und einer zugehörigen Positionsdetektionsschaltung eine Fingerposition auf einer Matrix von Leiterplatten-Leiterbahnen über die kapazitive Wirkung der Fingernähe zu der Sensormatrix 22. Das Positionssensorsystem meldet die X,Y-Position eines nahe der Sensormatrix 22 platzierten Fingers mit viel feinerer Auflösung als die Beabstandung zwischen den Zeilen- und Spalten-Leiterbahnen 26 und 30. Der Positionssensor nach dieser Ausführung meldet auch einen Z-Wert proportional zum Umriss dieses Fingers und somit den Druck anzeigend, mit dem der Finger die Oberfläche der isolierenden Schicht 36 über der Sensormatrix 22 berührt.
  • Nach der derzeit bevorzugten Ausführung kann eine sehr empfindliche, auf leichte Berührung ansprechende Detektorschaltung mit Hilfe adaptiver analoger und digitaler VLSI-Verfahren vorgesehen werden. Die Schaltung ist sehr robust und kalibriert Prozess- und systematische Fehler heraus. Die Detektorschaltung verarbeitet die kapazitiven Eingabeinformationen und liefert digitale Informationen, die einem Mikroprozessor direkt übergeben werden können.
  • Nach dieser Ausführung ist die Erfassungsschaltung auf einem integrierten Schaltungschip mit einem einzigen Sensorprozessor enthalten. Der Sensor-Prozessorchip kann eine beliebige Anzahl an X- und Y-„Matrix"-Eingängen haben. Die Anzahl an X- und Y-Eingängen muss nicht gleich sein. Die integrierte Schaltung hat einen digitalen Bus als Ausgang. In dem hier in 2a2d offenbarten veranschaulichenden Beispiel weist die Sensormatrix 22 15 Leiterbahnen sowohl in X- als auch Y-Richtung auf. Der Sensor-Prozessorchip hat somit 15 X-Eingänge und 15 Y-Eingänge. Eine tatsächliche Ausführung, die nach den Grundsätzen konstruiert wurde, verwendete 18 Leiterbahnen in X-Richtung und 24 Leiterbahnen in Y-Richtung. Der Durchschnittsfachmann wird erkennen, dass die Größe der Erfassungsmatrix, die in der vorliegenden Erfindung eingesetzt werden kann, willkürlich ist und weitgehend von der gewählten Ausgestaltung diktiert wird.
  • Die X- und Y-Matrixknoten werden parallel angesteuert und erfasst, wobei die kapazitive Information von jeder Leitung anzeigt, wie nahe ein Finger sich diesem Knoten befindet. Die abgetasteten Informationen liefern ein Profil der Nähe des Fingers in jeder Dimension. Nach dieser Ausgestaltung wird das Profilzentroid sowohl in X- als auch Y-Richtung abgeleitet und ist die Position in dieser Dimension. Die Profilkurve der Nähe wird auch integriert, um die Z-Information zu liefern.
  • Es gibt zwei Ansteuer- und Erfassungsverfahren, die bei der Berührungserfassungstechnologie eingesetzt werden. Nach einer ersten und derzeit bevorzugten Ausführung werden die Spannungen an allen X-Leitungen der Sensormatrix gleichzeitig bewegt, während die Spannungen der Y-Leitungen bei einer konstanten Spannung gehalten werden. Als Nächstes werden die Spannungen an allen der Y-Leitungen der Sensormatrix gleichzeitig bewegt, während die Spannungen der X-Leitungen bei einer konstanten Spannung gehalten werden. Dieses Abtastverfahren betont die Messung der Kapazität zur virtuellen Erde, die durch den Finger vorgesehen wird. Der Durchschnittfachmann wird erkennen, dass die Reihenfolge dieser beiden Schritte etwas willkürlich ist und umgekehrt werden kann.
  • Nach einem zweiten Ansteuer-/Erfassungsverfahren werden die Spannungen an allen X-Leitungen der Sensormatrix gleichzeitig in eine positive Richtung bewegt, während die Spannungen der Y-Leitungen in eine negative Richtung bewegt werden. Als Nächstes werden die Spannungen an allen der X-Leitungen der Sensormatrix gleichzeitig in eine negative Richtung bewegt, während die Spannungen der Y-Leitungen in eine positive Richtung bewegt werden. Dieses zweite Ansteuer-/Erfassungsverfahren betont die Transkapazität und nimmt die Betonung weg von der Kapazität zur virtuellen Erde. Wie bei dem ersten Ansteuer-/Erfassungsverfahren wird der Durchschnittfachmann erkennen, dass die Reihenfolge dieser beiden Schritte etwas willkürlich ist und umgekehrt werden kann.
  • Unter Bezug nun auf 3 wird ein Blockdiagramm einer derzeit bevorzugten Erfassungsschaltung 40 vorgestellt. Dieses Blockdiagramm – sowie die begleitende Offenbarung – betrifft die Erfassungsschaltung 40 in nur einer Dimension (X) und enthält die X-Eingabeverarbeitungsschaltung 12 von 1. Der Durchschnittsfachmann wird erkennen, dass eine identische Schaltung für das Erfassen der entgegensetzten Dimension (Y) verwendet werden würde und die Y-Eingabeverarbeitsschaltung 14 von 1 beinhalten würde. Ein solcher Fachmann wird weiterhin erkennen, dass die beiden Dimensionen nicht rechtwinklig zueinander sein müssen. Sie können zum Beispiel radial oder von beliebig anderer Art sein, um der Kontur der Berührungssensormatrix und anderen Anforderungen des Systems zu entsprechen. Der Durchschnittsfachmann wird erkennen, dass die hier offenbarte Technologie ebenso auf einen eindimensionalen Fall übertragen werden könnte, bei dem nur ein Satz leitender Leiterbahnen verwendet wird.
  • Die Kapazität an jedem Sensormatrixknoten wird durch gleichwertige Kondensatoren 42-1 bis 42-n wiedergegeben. Die Kapazität der Kondensatoren 42-1 bis 42-n umfasst die Kapazität der Matrixleiter und hat einen charakteristischen Hintergrundwert, wenn kein Objekt (z.B. ein Finger) sich nahe der Erfassungsebene 10 der Sensormatrix befindet. Wenn sich ein Objekt der Erfassungsebene nähert, steigt die Kapazität der Kondensatoren 42-1 bis 42-n proportional zur Größe und Nähe des Objekts.
  • Die Kapazität an jedem Knoten der Sensormatrix wird gleichzeitig mit Hilfe von Ladungsintegratorschaltungen 44-1 bis 44-n gemessen. Die Ladungsintegratorschaltungen 44-1 bis 44-n dienen zum Injizieren von Ladung in die Kapazitäten 42-1 bis jeweils 42-n und zur Entwicklung einer Ausgangsspannung proportional zur an der entsprechenden X-Matrixleitung erfassten Kapazität. Daher werden die Ladungsintegratorschaltungen 44-1 bis 44-n als bidirektionale Verstärkersymbole gezeigt. Jeder Ladungsintegratorschaltung 44-1 bis 44-n wird durch eine Vorspannung erzeugende Schaltung 46 eine Betriebsvorspannung zugeführt.
  • Der Ausdruck „proportional zu Kapazität", so wie er hier verwendet wird, bedeutet, dass das erzeugte Spannungssignal eine monotone Funktion der erfassten Kapazität ist. In der hier beschriebenen Ausführung ist die Spannung direkt und linear proportional zu der erfassten Kapazität. Der Durchschnittfachmann wird erkennen, dass andere monotone Funktionen, einschließlich aber nicht ausschließlich umgekehrte Proportionalität und nichtlineare Proportionalität, wie logarithmische oder exponentielle Funktionen, eingesetzt werden könnten, ohne von den hier offenbarten Grundsätzen abzuweichen. Ferner könnten Strom erfassende ebenso wie Spannung erfassende Verfahren eingesetzt werden.
  • Nach einem derzeit bevorzugten Ansteuer-/Erfassungsverfahren, das in der vorliegenden Erfindung verwendet wird, werden die Kapazitätsmessungen gleichzeitig über allen Eingängen in einer Dimension ausgeführt, um ein Problem zu überwinden, das bei allen vorbekannten Vorgehen, die individuelle Eingänge abtasten, inhärent ist. Das Problem bei dem vorbekannten Vorgehen ist, dass es gegenüber hoher Frequenz und starkem Amplitudenrauschen (starkes dv/dt- Rauschen), das mit der Schaltung über das berührende Objekt gekoppelt ist, empfindlich ist. Ein solches Rauschen kann das Fingerprofil verzerren, da augrund einer Änderung des Rauschpegels Rauschen in einem späteren Abtastzyklus, nicht aber in einem früheren auftritt.
  • Dieses Problem wird durch „Aufnahme eines Schnappschusses" aller Eingänge gleichzeitig in X- und Y-Richtung (oder umgekehrt) gelöst. Da das injizierte Rauschen proportional zu der Stärke des Fingersignals über allen Eingängen ist, ist es daher um das Fingerzentroid herum symmetrisch. Da es um das Fingerzentroid herum symmetrisch ist, beeinträchtigt es nicht die Fingerposition. Ferner übt der Ladungsverstärker eine Differentialmessfunktion aus, um Gleichtaktrauschen weiter zu unterdrücken.
  • Aufgrund der Natur der Ladungsintegratorschaltungen 44-1 bis 44-n ändern sich deren Ausgänge im zeitlichen Verlauf und haben nur kurze Zeit die erwünschte Spannungsausgabe. Wie derzeit bevorzugt wird, werden die Filterschaltungen 48-1 bis 48-n als zwischen Abtasten und Halten geschaltete Kondensatorfilter implementiert.
  • Die erwünschte Spannung wird von den Filterschaltungen 48-1 bis 48-n erfasst. Gesteuert durch die Steuerschaltung 56 filtern die Filterschaltungen 48-1 bis 48-n jegliches Hochfrequenzrauschen aus dem erfassten Signal aus. Dies wird durch Wählen Kondensators für den Filter, der viel größer als die Ausgangskapazität der Ladungsintegratorschaltungen 44-1 bis 44-n ist, verwirklicht. Ferner wird der Durchschnittsfachmann erkennen, dass die geschalteten Kondensatorfilterschaltungen 48-1 bis 48-n die erwünschten Spannungen erfassen und diese speichern.
  • Die in Spannungsform aus den Kapazitätsmessungen erhaltenen Kapazitätsinformationen werden digitalisiert und in digitalem Format verarbeitet. Dementsprechend werden die von den Filterschaltungen 48-1 bis 48-n gespeicherten Spannungen in Abtast-Halteschaltungen 50-1 bis 50-n gespeichert, so dass der Rest der Schaltung gleichzeitig genommene Eingabedaten verarbeitet. Die Abtast- Halteschaltungen 50-1 bis 50-n können als herkömmliche Abtast-Halteschaltungen konfiguriert werden, wie sie auf dem Gebiet bekannt sind.
  • Die abgetasteten analogen Spannungen an den Ausgängen der Abtast-Halteschaltungen 50-1 bis 50-n werden durch Analog-Digital-Wandler 52 (A/D) digitalisiert. Wie derzeit bevorzugt wird, lösen die A/D-Wandler 52 die Eingangsspannung zu einem 10 Bit breiten digitalen Signal auf (eine Auflösung von einem Teil in 1.024), wenngleich der Durchschnittfachmann erkennen wird, dass andere Auflösungen eingesetzt werden können. Die A/D-Wandler 52 können herkömmliche Wandler mit schrittweiser Annäherung sein, wie sie auf dem Gebiet bekannt sind.
  • Bei der verwendeten Ladungsintegratorschaltung liegt der Hintergrundwert (kein Objekt vorhanden) der Ausgänge des Ladungsintegrators bei etwa 1 Volt. Die sich aus dem Vorhandensein eines Fingers oder anderen Objekts ergebende ΔV liegt typischerweise bei etwa 0,4 Volt. Der Spannungsbereich der A/D-Wandler 52 sollte daher in dem Bereich von etwa 1 – 2 Volt liegen.
  • Ein wichtiger Aspekt sind die Mindest- und Höchstspannungsbezugspunkte für die A/D-Wandler 52 (Vmin und Vmax). Es wurde festgestellt, dass Rauschen Positionszittern verursacht, wenn diese Bezugsspannungen feste Punkte sind. Eine Lösung dieses Problems, die in der vorliegenden Erfindung eingesetzt wird, ist das dynamische Erzeugen der Vmin- und Vmax-Bezugsspannungen aus den Bezugskapazitäten 42-Vmin und 42Vmax, die von den Ladungsintegratorschaltungen 44-Vmin und 44-Vmax erfasst und von den Filterschaltungen 48-Vmin und 48-Vmax verarbeitet und in den Abtast-Halteschaltungen 50-Vmin und 50-Vmax gespeichert werden. Auf diese Weise ist jedes Gleichtakt-Rauschen, das bei Abtasten der Signale von der Sensormatrix vorliegt, auch in den Vmin- und Vmax-Bezugsspannungswerten vorhanden und neigt zu Aufheben. Der Durchschnittsfachmann wird erkennen, dass die Bezugskapazitäten 42-Vmin und 42-Vmax entweder diskrete Kondensatoren oder extra Leiterbahnen in der Sensormatrix sein können.
  • Die Vmin-Bezugsspannung wird von einem Kondensator mit einem Wert gleich der in der Sensormatrix ohne Vorliegen eines Objekts niedrigsten zu erwartenden Kapazität erzeugt (etwa 12 pF unter der Annahme einer 2 Quadratzoll großen Sensormatrix). Die Vmax Bezugsspannung wird von einem Kondensator mit einem Wert gleich der in der Sensormatrix bei Vorliegen eines Objekts höchsten zu erwartenden Kapazität erzeugt (etwa 16 pF unter der Annahme einer 2 Quadratzoll großen Sensormatrix).
  • Die Ausgaben der A/D-Wandler 52 liefern Eingaben für die Recheneinheit 16. Wie unter Bezug auf 8 eingehender offenbart wird, besteht die Funktion der Recheneinheit 16 darin, das gewichtete Mittel der Signale an den einzelnen Erfassungsleitungen sowohl in X- als auch Y-Richtung in der Berührungssensormatrix 22 zu berechnen. Dadurch wird die Recheneinheit 16 gemeinsam von der X-Eingabeverarbeitungsschaltung 12 und der Y-Eingabeverarbeitungsschaltung 14 benutzt, wie in 1 gezeigt wird.
  • Die Steuerschaltung 56 von 3 lenkt den Betrieb der restlichen Schaltung. Da das System diskret abgetastet und in seinem Betrieb parallelisiert wird, ist die Steuerschaltung 56 vorhanden, um den Signalfluss zu bewältigen. Die von der Steuerschaltung 56 ausgeführten Funktionen können herkömmlicherweise über eine auf dem Gebiet allgemein als Zustandsmaschine oder Mikroregler bekannte Vorrichtung entwickelt werden.
  • Nun werden der Aufbau und die Arbeitsweise der einzelnen Blöcke von 3 offenbart. Unter Bezug nun auf 4a, 4b und 5 wird eine typische Ladungsintegratorschaltung beschrieben. Die Ladungsintegratorschaltung 44 wird in 4a als vereinfachtes schematisches Diagramm und in 4b als veranschaulichendes schematisches Diagramm gezeigt. Der Zeitablauf des Betriebs der Ladungsintegratorschaltung 44 wird in 5 gezeigt. Diese Zeitsignale werden von dem Steuerblock 56 geliefert.
  • Die Ladungsintegratorschaltung 44 beruht auf dem grundlegenden physikalischen Phänomen der Verwendung von Strom zur Ladung eines Kondensators. Wird der Kondensator über eine konstante Zeit durch einen konstanten Strom geladen, dann wird an dem Kondensator eine Spannung erzeugt, die umgekehrt proportional zur Kapazität ist. Die zu ladende Kapazität ist die Sensormatrixleitungskapazität 42 parallel zu einem internen Kondensator. Dieser interne Kondensator enthält die interessierende Spannung.
  • Unter Bezug zunächst auf 4a wird ein vereinfachtes schematisches Diagramm einer veranschaulichenden Ladungsintegratorschaltung 44 gezeigt. Ein Ladungsintegratorschaltungs-Eingangsknoten 60 ist mit einer der X- (oder Y-)-Leitungen der Sensormatrix verbunden. Ein erster unterbrechender Schalter 62 ist zwischen dem Ladungsintegratorschaltungs-Eingangsknoten 60 und VDD, dem positiven Versorgungsleiter, angeschlossen. Ein zweiter unterbrechender Schalter 64 ist zwischen dem Ladungsintegratorschaltungs-Eingangsknoten 60 und Erde, dem negativen Versorgungsleiter, angeschlossen. Eine Quelle positiven Konstantstroms 66 ist mit VDD, dem positiven Versorgungsleiter, und mit dem Ladungsintegratorschaltungs-Eingangsknoten 60 und durch einen ersten Stromquellenschalter 68 verbunden. Eine Quelle negativen Konstantstroms 70 ist mit Erde und mit dem Ladungsintegratorschaltungs-Eingangsknoten und durch einen zweiten Stromquellenschalter 72 verbunden. Es ist offensichtlich, dass eine andere hohe oder niedrige Spannungsversorgung an Stelle von VDD und Erde verwendet werden könnten.
  • Ein erster interner Kondensator 74 ist zwischen VDD und dem Ausgangsknoten 76 der Ladungsintegratorschaltung 44 angeschlossen. Ein Schalter für die Speicherung positiver Spannung 78 ist zwischen dem Ausgangsknoten 76 und dem Eingangsknoten 60 angeschlossen. Ein zweiter interner Kondensator 80 ist mit einer seiner Platten durch einen Schalter 82 mit Erde und durch einen Schalter 84 mit dem Ausgangsknoten 76 der Ladungsintegratorschaltung 44 verbunden und mit der anderen seiner Platten durch einen Schalter zur Speicherung negativer Spannung 86 mit dem Eingangsknoten 60 und durch einen Schalter 88 mit VDD verbunden. Die Kapazität des ersten und des zweiten internen Kondensators 74 und 80 sollte ein kleiner Bruchteil (d.h. etwa 10%) der Kapazität der einzelnen Sensormatrixleitungen sein. In einer typischen Ausführung beträgt die Sensormatrixleitungskapazität etwa 10 pF und die Kapazität der Kondensatoren 74 und 80 sollte bei etwa 1 pF liegen.
  • Nach der derzeit bevorzugten Ausführung besteht das genutzte Vorgehen aus einer Differentialmessung für zusätzliche Störfestigkeit, deren Vorteil ist, dass jegliches Niederfrequenz-Gleichtaktrauschen beseitigt wird. Für die folgende Diskussion sollte angenommen werden, dass alle Schalter offen sind, sofern sie nicht als geschlossen angegeben werden. Zuerst wird die Sensormatrixleitung vorübergehend durch Schalter 62 mit VDD kurzgeschlossen, Schalter 78 wird geschlossen, was den Kondensator 74 parallel mit der Kapazität der Sensorleitung schaltet. Dann wird die parallele Kondensatorkombination mit einem Konstantstrom von der Stromquelle 70 durch Schalter 72 über eine feste Zeitlänge entladen. Am Ende der festen Zeitlänge wird der Schalter 78 geöffnet, wodurch die Spannung an der Sensormatrixleitung an dem Kondensator 74 gespeichert wird.
  • Die Sensorleitung wird dann vorübergehend durch Schalter 64 mit Erde kurzgeschlossen und die Schalter 82 und 86 werden geschlossen, um den Kondensator 80 parallel mit der Kapazität der Sensorleitung zu schalten. Der Schalter 68 wird geschlossen und die parallele Kondensatorkombination wird über eine feste Zeitlänge gleich der festen Zeitlänge des ersten Zyklus mit Konstantstrom von der Stromquelle 66 geladen. Am Ende der festen Zeitlänge wird der Schalter 86 geöffnet, wodurch die Spannung an der Sensormatrixleitung an dem Kondensator 80 gespeichert wird.
  • Die erste und die zweite gemessene Spannung werden dann gemittelt. Dies wird durch Öffnen von Schalter 82 und Schließen der Schalter 88 und 84 verwirklicht, was den Kondensator 80 parallel mit Kondensator 74 schaltet. Da die Kondensatore 74 und 80 die gleiche Kapazität haben, ist die sich ergebende Spannung über ihnen gleich dem Mittel der Spannungen über jedem einzeln. Dieses Endergebnis ist der Wert, der dann zu der geeigneten der Filterschaltungen 48-1 bis 48-n weitergegeben wird.
  • Das Niederfrequenzrauschen, insbesondere 50/60 Hz und dessen Oberschwingungen, verhält sich wie eine Gleichstromkomponente, die in der einen Messung addiert und in der anderen subtrahiert. Werden die beiden Ergebnisse addiert, mittelt diese Rauschkomponente auf Null. Der Betrag der Störunterdrückung ist eine Funktion, wie schnell in Folge die beiden entgegengesetzten Auf- und Entladezyklen ausgeführt werden, wie hier offenbart wird. Einer der Gründe für die Wahl dieser Ladungsintegratorschaltung ist, dass sie das schnelle Vornehmen von Messungen zulässt.
  • Unter Bezug zunächst auf 4b wird ein umfassenderes schematisches Diagramm einer veranschaulichenden Ausführung der Ladungsintegratorschaltung 44 des vereinfachten Diagramms von 4a gezeigt. Der Eingangsknoten 60 wird durch Durchgangsgatters 90 und 92, die die Schalter 62 und 64 von 4a ersezten, mit VDD und Erde verbunden gezeigt. Durchgangsgatter 90 wird durch ein Signal ResetUp gesteuert, das seinem Steuereingang vorlegt wird, und Durchgangsgatter 92 wird durch ein Signal ResetDn gesteuert, das seinem Steuereingang vorgelegt wird. Der Durchschnittfachmann wird erkennen, dass die Durchgangsgatter 90 und 92 ebenso wie alle andere Durchgangsgatter, die durch das gleiche Symbol in 4b dargestellt werden, herkömmliche CMOS-Durchgangsgatter sein können, wie sie auf dem Gebiet bekannt sind. Die hier verwendete Konvention ist, dass das Durchgangsgatter aus ist, wenn sein Steuereingang niedrig gehalten wird, und dass es ein ist und eine Verbindung niedriger Impedanz bietet, wenn sein Steuereingang hoch gehalten wird.
  • Die P-Kanal-MOS-Transistoren 94 und 96 sind als Stromspiegel konfiguriert. Der P-Kanal-MOS-Transistor 94 dient als Stromquelle 66 und Durchgangsgatter 98 dient als Schalter 68 von 4a. Der Steuereingang von Durchgangsgatter 98 wird durch ein Signal StepUp gesteuert.
  • Die N-Kanal-MOS-Transistoren 100 und 102 sind als Stromspiegel konfiguriert. Der N-Kanal-MOS-Transistor 100 dient als Stromquelle 70 und Durchgangsgatter 104 dient als Schalter 72 von 4a. Der Steuereingang von Durchgangsgatter 104 wird durch ein Signal StepDn gesteuert. P-Kanal-MOS-Transistor 106 und N-Kanal-MOS-Transistor 108 sind in Reihe mit P-Kanal-MOS-Stromspiegeltransistor 96 und N-Kanal-MOS-Stromspiegeltransistor 102 angeordnet. Das Steuergatter des P-Kanal-MOS-Transistors 106 wird durch ein Freigabesignal EN angesteuert, das den P-Kanal-MOS-Transistor 106 einschaltet, um die Stromspiegel einzuschalten. Diese Vorrichtung dient als Stromsparvorrichtung, so dass die Ladungsintegratorschaltung 44 abgeschaltet werden kann, um Strom zu sparen, wenn sie nicht im Einsatz ist.
  • Das Gatter des N-Kanal-MOS-Transistors 108 wird durch eine Bezugsspannung Vbias angesteuert, die den Strom durch die Stromspiegeltransistoren 96 und 102 setzt. Die Spannung Vbias wird durch eine Servo-Rückkopplungsschaltung, wie sie unter Bezug auf 10 eingehender offenbart wird, gesetzt. Der Durchschnittfachmann wird verstehen, dass diese Ausführung das Erfolgen einer Kalibrierung in Echtzeit (über eine lang dauernde, konstante Rückkopplung) zulässt, wodurch alle langfristigen Wirkungen aufgrund Sensorumfeldbedingungen beseitigt werden. In einer derzeitigen Ausführung der Erfindung ist Vbias allen Ladungsintegratorschaltungen 44-1 bis 44-n und 44-Vmax und 44-Vmin zueigen.
  • Zu beachten ist, dass eine entsprechende Bemessung der N-Kanal-MOS-Transistoren 102 und 108 einen Temperaturausgleich bieten kann. Dies wird durch Ausnützen der Tatsache verwirklicht, dass der Schwellwert des N-Kanal-MOS-Transistors 108 temperaturabhängig sinkt, während die Mobilität der beiden N-Kanal-MOS-Transistoren 102 und 108 temperaturabhängig sinkt. Das Sinken des Schwellwerts hat die Wirkung eines Anhebens des Stroms, während die Mobilitätsabnahme die Wirkung eines Senkens des Stroms hat. Durch geeignetes Bemessen der Vorrichtung können sich diese Wirkungen über einen erheblichen Teil des Betriebsbereichs gegenseitig aufheben.
  • Der Kondensator 74 hat eine mit VDD verbundene Platte und die andere Platte ist mit dem Ausgangsknoten 76 und dem Eingangsknoten 60 durch Durchgangsgatter 110 verbunden, das in 4a als Schalter 78 gezeigt ist. Der Steuereingang von Durchgangsgatter 110 wird durch dasn Steuersignal SUp gesteuert. Eine Platte des Kondensators 80 ist durch Durchgangsgatter 112 (Schalter 86 in 4a) mit Eingangsknoten 60 und durch Durchgangsgatter 114 (Schalter 82 in 4a) mit VDD verbunden. Der Steuereingang von Durchgangsgatter 112 wird durch das Steuersignal SDn angesteuert und der Steuereingang von Durchgangsgatter 114 wird durch das Steuersignal ChUp angesteuert. Die andere Platte des Kondensators 80 ist durch N-Kanal-MOS-Transistors 116 (Schalter 82 in 4a) mit Erde und durch Durchgangsgatter 118 (Schalter 84 in 4a) mit Ausgangsknoten 76 verbunden. Der Steuereingang von Durchgangsgatter 118 wird durch das Steuersignal Share angesteuert.
  • Unter Bezug nun auf 4a, 4b und das Zeitverlaufsdiagramm von 5 kann der Betrieb der Ladungsintegratorschaltung 44 während eines Abtastzyklus beobachtet werden. Zuerst wird das Steuersignal EN (Freigabe) durch Gehen auf Ov auf aktiv. Dies schaltet die Stromspiegel ein und schaltet die Lade- und Entladestromquellen, die MOS-Transistoren 94 und 100, ein. Das Steuersignal ResetUp ist zu diesem Zeitpunkt aktiv hoch, was den Eingangsknoten 60 (und die Sensorleitung, mit der er verbunden ist) mit VDD kurzschließt. Das Steuersignal SUp ist zu diesem Zeitpunkt ebenfalls aktiv hoch, was den Kondensator 74 und den Ausgangsknoten 76 mit dem Eingangsknoten 60 verbindet. Diese Anordnung garantiert, dass der folgende Entladeteil des Betriebszyklus immer von einem bekannten Gleichgewichtszustand aus einsetzt.
  • Der Entladeprozess beginnt, nachdem das Steuersignal ResetUp auf inaktiv wechselt. Das Steuersignal StepDn wird aktiv, was den MOS-Transistor 100, die Entladestromquelle, mit dem Eingangsknoten 60 und seiner zugehörigen Sensorleitung verbindet. StepDn ist eine festgelegte Zeitdauer aktiv und die Quelle negativen Konstantstroms entlädt die kombinierte Kapazität der Sensorleitung und des Kondensators 74, wodurch dessen Spannung während dieser Zeit gesenkt wird. StepDn wird dann abgeschaltet. Kurze Zeit später wird das Steuersignal SUp inaktiv, wobei die gemessene Spannung an dem Kondensator 74 gespeichert wird. Dies beendet den Entladezyklus.
  • Als Nächstes wird das Steuersignal ResetDn aktiv und schließt die Sensorleitung mit Erde kurz. Gleichzeitig werden die Steuersignale SDn und ChDn aktiv und schließen den Kondensator 80 zwischen Erde und der Sensorleitung an. Der Kondensator 80 wird gegenüber der Erde entladen, was garantiert, dass der folgende Aufladezyklus immer bei einem bekannten Zustand einsetzt.
  • Der Aufladezyklus beginnt, nachdem das Steuersignal ResestDn inaktiv wird und das Steuersignal StepUp aktiv wird. Zu diesem Zeitpunkt wird die Stromladequelle, der MOS-Transistor 94, mit der Sensorleitung verbunden und liefert einen Konstantstrom, um die Sensorleitung durch Anheben der Spannung an dieser zu laden. Das Steuersignal StepUp ist eine feste Zeitdauer lang aktiv (vorzugsweise gleich der Zeit für den vorstehend erwähnten Zyklus), was das Laden der Kapazität zulässt, und wird dann ausgeschaltet. Das Steuersignal SDn wird dann inaktiv, was die gemessene Spannung über dem Kondensator 80 belässt.
  • Nun beginnt der Mittelungszyklus. Zuerst wird die Spannung an dem Kondensator 80 pegelverschoben. Dies erfolgt durch Inaktivwerden des Steuersignals ChDn, was eine Platte des Kondensators 80 potentialfrei lässt. Dann wird das Steuersignal ChUp aktiv, was die zweite Platte des Kondensators mit VDD verbindet. Dann wird das Steuersignal Share aktiv, was die erste Platte des Kondensators 80 mit dem Ausgangsknoten 76 verbindet, wodurch die Kondensatoren 74 und 80 parallel geschaltet werden. Dies hat die Wirkung einer Mittlung der Spannungen über den beiden Kondensatoren, wodurch Gleichtaktrauschen wie vorstehend beschrieben heraussubtrahiert wird. Diese mittlere Spannung ist dann auch am Ausgangsknoten 76 verfügbar.
  • Der Durchschnittfachmann wird erkennen, dass der Umgebungswechselstrom und ein anderes Niederfrequenzstörungsbeseitungsmerkmal, das beim Mitteln der Spannungen inhärent ist, die in den Entlade- und Ladezyklen erhalten werden, äußerst effektiv ist, wenn die beiden Zyklen sehr zeitnah zueinander ausgeführt werden. Die Signale ChDn und ChUp sollten bezüglich einander innerhalb einer Zeit umgesetzt werden, die weit kürzer als ein Viertel des Zeitraums des aufzuhebenden Rauschens ist, um diesen Vorteil s Merkmal der vorliegenden Erfindung zu nutzen.
  • Es wurden zwei verschiedene Ansteuer-/Erfassungsverfahren offenbart. Der Durchschnittfachmann wird mühelos erkennen, dass die unter Bezug auf 4a, 4b und 5 offenbarte Ladungsintegratorschaltung 44 so anpassbar ist, dass sie nach jeder hierin offenbarten Abtastmethode arbeiten kann.
  • Wie aus dem Verständnis des Betriebs der Ladungsintegratorschaltung 44 klar ist, ist deren Ausgangsspannung nur kurze Zeit verfügbar und unterliegt Umgebungsrauschen. Um die Wirkungen des Rauschens zu minimieren, wird eine geschaltete Kondensator-Filterschaltung 48 verwendet. Unter Bezug nun auf 6 wird ein schematisches Diagramm einer veranschaulichenden geschalteten Kondensator-Filterschaltung 48 gezeigt, die in der vorliegenden Erfindung verwendet werden kann. Der Durchschnittfachmann wird diese geschaltete Kondensator-Filterschaltung erkennen, welche einen Eingangsknoten 120, ein Durchgangsgatter 122 mit einem von einem Steuersignal Sample angesteuerten Steuereingang, einen zwischen dem Ausgang des Durchgangsgatters 126 und einer festgelegten Spannung wie Erde angeschlossenen Kondensator 124 sowie einen Ausgangsknoten mit der gemeinsamen Verbindung zwischen dem Kondensator 124 und dem Ausgang des Durchgangsgatters 122 umfasst. Bei einer typischen Ausführung hat der Kondensator 116 eine Kapazität von etwa 10 pF.
  • Wie für einen Durchschnittfachmann nachvollziehbar ist, ist die geschaltete Kondensator-Filterschaltung 48 zum Teil eine Abtast-Halteschaltung und hat eine Filterzeitkonstante, die K mal der Abtastdauer ist, wobei K das Verhältnis des Kondensators 124 zur Summe der Kondensatoren 74 und 80 der Ladungsintegratorschaltung 44 von 4a und 4b ist, mit denen er verbunden ist. Die geschaltete Kondensator-Filterschaltung 48 reduziert das Injizieren von Rauschen im System weiter. Bei der bevorzugten Ausführung ist K=10/2=5. Der Durchschnittsfachmann wird erkennen, dass andere Arten von Filterschaltungen wie RC-Filter in der vorliegenden Erfindung verwendet werden können.
  • Unter Bezug nun auf 7 wird ein detaillierteres Blockdiagramm einer derzeit bevorzugten Anordnung der A/D-Wandler 52 von 3 vorgestellt. Es gibt weniger A/D-Wandler 52 als Leitungen in der Berührungssensormatrix, und die Eingänge zu den A/D-Wandlern 52 werden multiplex betrieben, um jeden der einzelnen A/D-Wandler unter mehreren Leitungen in der Berührungssensormatrix gemeinsam zu nutzen. Die Anordnung in 7 ist bei der Verwendung der Layoutfläche der integrierten Schaltung effizienter als das Vorsehen einzelner A/D-Wandler für jede Eingangsleitung.
  • In der in 7 dargestellten Ausführung werden 24 leitende Leitungsleiterbahnen für die Sensormatrix 10 von 2a2d angenommen. Wie in 7 gezeigt wird, werden die Ausgänge der Abtast-Halteschaltungen 50-1 bis 50-24 den analogen Dateneingängen des analogen Multiplexer 130 zugeführt. Der analoge Multiplexer 130 hat sechs Ausgänge, wovon jeder den Eingang eines einzelnen A/D-Wandlers 52-1 bis 52-6 ansteuert. Die interne Anordnung des analogen Multiplexers 130 ist so, dass vier verschiedene der Eingänge mit jedem der Ausgänge multiplex verbunden werden. Der analoge Multiplexer 130 wurde vom Konzept her mit sechs internen Multiplexerblöcken 132-1 bis 132-6 gezeichnet.
  • Bei dem in 7 gezeigten Beispiel sind von den Abtast-Halteschaltungen 50-1 bis 50-4 genommene Eingänge mit dem Ausgang des internen Multiplexerblocks 132-1 multiplex verbunden, der den A/D-Wandler 52-1 ansteuert. Analog sind von den Abtast-Haltschaltungen 50-5 bis 50-8 genommene Eingänge mit dem Ausgang des internen Multiplexerblocks 132-2 multiplex verbunden, der den A/D-Wandler 52-2 ansteuert, von den Abtast-Halteschaltungen 50-0 bis 50-12 genommene Eingänge sind mit dem Ausgang des internen Multiplexerblocks 132-3 multiplex verbunden, der den A/D-Wandler 52-3 ansteuert, von den Abtast-Halteschaltungen 50-13 bis 50-16 genommene Eingänge sind mit dem Ausgang des internen Multiplexerblocks 132-4 multiplex verbunden, der den A/D-Wandler 52-4 ansteuert, von den Abtast-Halteschaltungen 50-17 bis 50-20 genommene Eingänge sind mit dem Ausgang des internen Multiplexerblocks 132-5 multiplex verbunden, der den A/D-Wandler 52-5 ansteuert, und von den Abtast-Halteschaltungen 50-21 bis 50-24 genommene Eingänge sind mit dem Ausgang des internen Multiplexerblocks 132-6 multiplex verbunden, der den A/D-Wandler 52-6 ansteuert.
  • Der analoge Multiplexer 130 hat einen Satz von Steuereingängen, die schematisch durch Bus 134 dargestellt werden. In der in 7 gezeigten veranschaulichenden Ausführung sind alle der internen Multiplexer 132-1 bis 132-6 Multiplexer mit vier Eingängen, und daher kann der Steuerbus 134 einen 2-Bit-Bus für eine Eins-Aus-Vier-Auswahl umfassen. Der Durchschnittsfachmann wird erkennen, dass die Anordnung von 7 lediglich eine einer Reihe spezifischer Lösungen der Aufgabe einer A/D-Umwandlung von 24 Kanälen ist und dass andere zufrieden stellende, gleichwertige Anordnungen möglich sind.
  • Bei einem unkomplizierten Entschlüsselungsschema geben die Multiplexer 132-1 bis 132-6 in Folge die an ihren ersten bis vierten Eingängen anliegenden analogen Spannungen jeweils weiter zu den Eingängen der A/D-Wandler 52-1 bis 52-6. Nachdem sich die analogen Werte in den Eingängen der A/D-Wandler 52-1 bis 52-6 stabilisiert haben, wird an einer gemeinsamen A/D-Steuerleitung 136 ein Befehl
    CONVERT (= Umwandeln) geltend gemacht, um den A/D-Umwandlungsprozess einzuleiten.
  • Nach Beendigung des A/D-Umwandlungsprozesses wird der die Eingangsspannung darstellende digitale Wert in Registern 138-1 bis 138-6 gespeichert. Wie derzeit bevorzugt können die Register 138-1 bis 138-6 jeweils ein Zweiwort-Register umfassen, so dass ein Wort aus den Registern 138-1 bis 138-6 zur Recheneinheit 16 ausgelesen wird, während ein zweites Wort in die Register 138-1 bis 138-6 geschrieben wird, um die Systemgeschwindigkeit zu erhöhen. Die Auslegung solcher Register 138-1 bis 138-6 ist in dem Gebiet üblich.
  • Unter Bezug nun auf 8 wird ein detailllierteres Blockdiagramm der Recheneinheit 16 vorgestellt. Der Durchschnittsfachmann wird nachvollziehen, dass die Recheneinheit 16 Informationen aus sowohl der X- als auch der Y-Dimension verarbeitet, d.h. von der X-Eingabeverarbeitungsschaltung 12 und der Y-Eingabeverarbeitungsschaltung 14 von 1.
  • Vor der Offenbarung der strukturellen Konfiguration der Recheneinheit 16 ist es hilfreich, das bevorzugte Verfahren zu verstehen, nach dem die Zentroidposition eines Objekts nahe der Sensormatrix 22 erfindungsgemäß ermittelt wird.
  • Die Objektposition kann in jeder Richtung durch Beurteilen des gewichteten Mittels der an der einzelnen Erfassungsleitung der Sensormatrix 10 gemessenen Kapazitäten ermittelt werden. In der folgenden Diskussion wird die X-Richtung verwendet, der Durchschnittsfachmann wird aber erkennen, dass die Diskussion ebenso auf die Ermittlung des gewichteten Mittels in der Y-Richtung zutrifft. Wie gut bekannt ist, kann das gewichtete Mittel wie folgt ermittelt werden:
    Figure 00310001
    wobei ΔCi = Ci – C0i ist, Ci die derzeit an i-ten Leiterbahn gemessene Kapazität ist und C0i der an der gleichen Leiterbahn zu einem vergangenen Zeitpunkt gemessene Wert ist, bei dem kein Objekt vorlag. Bezüglich dieser vergangenen und derzeitigen Kapazitätsmessungen kann die Position ausgedrückt werden als:
  • Figure 00310002
  • Unter Nutzung der distributiven Eigenschaft der Multiplikation gegenüber der Addition wird dieser Ausdruck als gleichwertig gesehen mit:
    Figure 00310003
    wobei die negativen Terme sowohl im Zähler als auch im Nenner Offsets sind und den Hintergrundwert der Kapazitäten bei Nichtvorhandensein eines Objekts darstellen. Wenn der Term ON zur Darstellung des Zähleroffset verwendet wird und der Term OD zur Darstellung des Nenneroffsets verwendet wird, kann Gleichung 3 wie folgt umgeschrieben werden:
  • Figure 00320001
  • Unter Bezug nun auf 8 ist ersichtlich, dass die Recheneinheit 16 X-Zähler- und Nenner-Akkumulatoren 150 und 152 sowie Y-Zähler- und Nenner-Akkumulatoren 154 und 156 umfasst. Die Quelle der Rechengrößendaten für die X-Zähler- und Nenner-Akkumulatoren 150 und 152 und die Y-Zähler- und Nenner-Akkumulatoren 154 und 156 sind die Register 138-1 bis 138-6 in jeder (X und Y) Richtung der Sensormatrix 22 von 1. Die X- und Y-Nenner-Akkumulatoren 152 und 156 addieren die digitalen Ergebnisse aus den A/D-Umwandlungen. Die X- und Y-Zähler-Akkumulatoren 150 und 154 berechnen die gewichtete Summe der Eingabedaten an Stelle der direkten Summe. Die Akkumulatoren 150, 152, 154 und 156 können als Hardwareelemente konfiguriert werden oder als Software, die auf einem Mikroprozessor läuft, wie für den Durchschnittsfachmann problemlos verständlich ist. Wie aus einer Prüfung von 8 hervorgeht, berechnen die Zähler-Akkumulatoren 150 und 154 den Ausdruck von Gleichung 4:
    Figure 00320002
    und die Nenner-Akkumulatoren 152 und 156 berechnen den Ausdruck von Gleichung 4:
  • Figure 00330001
  • Der Inhalt der X- und Y-Zähler- und Nenner-Offsetregister 158, 160, 162 und 164 wird von den in den Akkumulatoren 150, 152, 154 und 156 gespeicherten Ergebnissen in den Addierern 166, 168, 170 und 172 subtrahiert. Addierer 166 subtrahiert den im X-Zähler-Offsetregister 158 gespeicherten Offset ONX. Addierer 168 subtrahiert den im X-Nenner-Offsetregister 160 gespeicherten Offset ODX. Addierer 170 subtrahiert den im Y-Zähler-Offsetregister 162 gespeicherten Offset ONY. Addierer 172 subtrahiert den im Y-Nenner-Offsetregister 164 gespeicherten Offset ODY. Die Zähler/Nenner-Paare werden durch Divisionsblöcke 174 und 176 dividiert, um die X- und Y-Positionsdaten zu erzeugen, und das X- und Y-Zählerpaar wird von Block 178 verwendet, um Z-Achsendaten (Druck) zu erzeugen. Die durch Block 178 ausgeführte Funktion wird hier später offenbart. Die Offsets ODX, ONX, ODY und ONY werden von dem Akkumulatorinhalt abgefragt, wenn dies von der Kalibrierungseinheit 180 angeordnet wird.
  • Der Durchschnittsfachmann wird problemlos erkennen, dass die Architektur des vorliegenden Systems auf vielerlei Weise verteilt werden kann, wovon mehrere die Verfügbarkeit eines Mikroprozessors erfordern, sei es in einem Hostrechner, mit dem das System verbunden ist, oder an anderer Stelle zwischen der hierin beschriebenen integrierten Schaltung und einem Hostrechner. Es werden Ausführungen erwogen, bei denen die kumulierten Zähler- und Nennerwerte, die die Additionsterme darstellen, einem solchen Mikroprozessor zusammen mit den ON- und OD-Offsetwerten zur Verarbeitung zugeführt werden oder bei denen die gesamte Verarbeitung durch einen auf dem Gebiet bekannten programmierten Mikroprozessor verwirklicht wird.
  • Zunächst werden die Zähler- und Nenner-Akkumulatoren 150, 152, 154 und 156 während des Einschaltens des Systems auf Null gesetzt. Wenn die multiplex betriebenen A/D-Wandler wie in 7 gezeigt verwendet werden, werden die digitalisierten Spannungsdaten in dem ersten Wort des Registers 138-1 (die die Spannung am Ausgang der Abtast-Halteschaltung 50-1 darstellen) zu der Summe im Akkumulator addiert und das Ergebnis wird in dem Akkumulator gespeichert. Nacheinander werden die in dem ersten Wort der Register 138-2 bis 138-6 gespeicherten digitalisierten Spannungswerte (die die Spannung an den Ausgängen der Abtast-Halteschaltungen 50-5, 50-9, 50-13, 50-17 bzw. 50-21 darstellen) zu den Summen in den Akkumulatoren addiert und die Ergebnisse werden in den Akkumulatoren gespeichert. Wie bereits erwähnt können die A/D-Wandler 51-2 bis 52-6 zu diesem Zeitpunkt die an den Ausgängen der Abtast-Halteschaltungen 50-2, 50-6, 50-10, 50-14, 50-18 und 50-22 anliegenden Spannungen umwandeln und die digitalisierten Werte in den zweiten Wörtern der Register 138-1 bis jeweils 138-6 speichern.
  • Als Nächstes werden nacheinander die in den zweiten Worten der Register 138-1 bis 138-6 gespeicherten digitalisierten Spannungswerte (die die Spannung an den Ausgängen der Abtast-Halteschaltungen 50-2, 50-6, 50-10, 50-14, 50-18 bzw. 50-22 darstellen) zu der Summe in dem Akkumulator addiert und das Ergebnis wird in dem Akkumulator gespeichert.
  • Als Nächstes werden nacheinander die in den ersten Wörtern der Register 138-1 bis 138-6 gespeicherten digitalisierten Spannungswerte (die die Spannung an den Ausgängen der Abtast-Halteschaltungen 50-3, 50-7, 50-11, 50-15, 50-19 bzw. 50-23 darstellen) zu der Summe in dem Akkumulator addiert und das Ergebnis wird in dem Akkumulator gespeichert, gefolgt von den in den zweiten Wörtern der Register 138-1 bis 138-6 gespeicherten digitalisierten Spannungswerten (die die Spannung an den Ausgängen der Abtast-Halteschaltungen 50-4, 50-8, 50-12, 50-16, 50-20 bzw. 50-24 darstellen).
  • Zu diesem Zeitpunkt halten die Akkumulatoren die Summen aller einzelnen digitalisierten Spannungswerte. Die in den ON- und OD-Offsetregistern 158, 160, 162 und 164 gespeicherten digitalen Werte werden jetzt jeweils von den in den Zähler- und Nenner-Akkumulatoren gespeicherten Werten subtrahiert. Die Divisionsoperation in den Teilern 174 und 176 beendet dann die Berechnung des gewichteten Mittels.
  • Die Divisionsoperation kann auch durch einen externen Mikroprozessor vorgenommen werden, der die in den Akkumulatoren gespeicherten Werte holen oder die Akkumulationen selbst vornehmen kann. Da die ON- und OD-Offsetwerte derzeit von einem externen Mikroprozessor abgeleitet werden, ist der zusätzliche Verarbeitungsaufwand, der einem solchen externen Mikroprozessor durch diese Divisionsoperation auferlegt wird, minimal. Alternativ kann ein eigens vorgesehener Mikroprozessor auf dem Chip enthalten sein, um diese Verarbeitungsaufgaben handzuhaben, ohne von der hierin offenbarten Erfindung abzuweichen.
  • Die obige offenbarte Verarbeitung erfolgt innerhalb von etwa 1 Millisekunde und kann wiederholt ausgeführt werden. Die derzeitigen Mausanforderungen aktualisieren die Positionsangaben 40 mal pro Sekunde, und dadurch kann die erfindungsgemäße Vorrichtung bei dieser Wiederholungsgeschwindigkeit problemlos betrieben werden.
  • Aufgrund der Art des verwendeten Verfahrens besteht die Möglichkeit, zusätzliche Störsicherheit zu bieten, ohne dass zusätzliche Hardware in dem erfindungsgemäßen System erforderlich wird. Zwar versteht sich, dass nach Ausführen der oben offenbarten Sequenz die Akkumulatoren gelöscht und der Prozess wiederholt werden kann, doch dürfen die Werte ggf. auch in den Akkumulatoren bleiben. Wenn dies geschieht, kann eine Mittlungsfunktion implementiert werden, um Rauschen weiter auszufiltern. Eine Reihe von Abtastungen werden genommen und durch die Akkumulatoren laufen gelassen, um diese am Ende der Verarbeitungssequenz zu löschen. Wie derzeit bevorzugt wird, werden 25 Abtastungen verarbeitet, bevor ein einziges Divisionsergebnis zur Verwendung durch das System genommen wird, wodurch die Wirkungen transienter Störungsspitzen im System stark reduziert werden. Der Durchschnittsfachmann wird erkennen, dass es sich bei Anzahl der vor dem Löschen der Akkumulatoren genommener Abtastungen um eine Gestaltungsentscheidung handelt, die von Faktoren wie Datenerfassungsgeschwindigkeiten, Datenverarbeitungsgeschwindigkeiten etc. bestimmt wird.
  • Es ist bevorzugt, ein zusätzliches Filtern der von den Divisionsblöcken 174 und 176 der Recheneinheit 16 von 8 erzeugten X- und Y-Positionsdaten vorzusehen. Das Filtern erfolgt bevorzugt zwischen der Recheneinheit 16 und den Bewegungs- und Gesteneinheiten 18 und 20 von 1. Die X- und Y-Koordinaten werden als unabhängige Zahlen separat gefiltert. Jeder Filter ist ein mittelndes Register, das ein „gleitendes Mittel" berechnet, wie auf dem Gebiet bekannt ist. Wenn das Vorhandensein eines Fingers erstmals detektiert wird, wird das Filterregister mit dem aktuellen Quotienten initialisiert. Bei den folgenden Abtastungen wird der neue Quotient mit dem Filterregisterwert gemittelt, um einen neuen Filterregisterwert zu erzeugen. Bei der derzeit bevorzugten Ausführung werden die Werte gleichmäßig im Mittel gewichtet, wenngleich verschiedene Gewichtungen verwendet werden können, um eine stärkere oder schwächere Filterung vorzusehen. Die Folge von Werten im Filterregister dienen als X- und Y-Koordinaten, die von den Bewegungs- und Gesteneinheiten 18 und 20 von 1 verwendet werden.
  • Das System ist an sich ändernde Bedingungen, zum Beispiel eine Bauteilalterung, eine sich ändernde Kapazität aufgrund von Feuchtigkeit und Verunreinigung der Berührungsfläche etc. anpassbar. Ferner minimiert es wirksam Umgebungsrauschen. Diese Wirkungen werden in dreifacher Weise berücksichtigt. Zuerst werden die Offset-Werte ON und OD dynamisch aktualisiert, um sich ändernde Bedingungen zu berücksichtigen. Zweitens wird eine Servo-Rückkopplungsschaltung vorgesehen, um die Vorspannung zu ermitteln, die zum Setzen der Vorspannung der Ladungsintegratorschaltungen 44-1 bis 44-n genutzt wird. Drittens werden wie bereits hierin offenbart die Bezugsspannungspunkte für Vmax und Vmin der A/D-Wandler 52 ebenfalls dynamisch geändert, um die Signal-Rausch-Spanne zu erhöhen.
  • Unter Bezug nun auf 9 wird ein Blockdiagramm einer Kalibrierungseinheit 150, die mit der Recheneinheit von 8 verwendet werden kann, vorgestellt. Die Kalibrierungseinheit 150 führt einen Algorithmus aus, um die Zähler- und Nenner-Offsetwerte festzulegen, indem sie versucht zu ermitteln, wann sich kein Finger oder anderes leitendes Objekt in der Nähe der Berührungssensormatrix 22 befindet.
  • Wie bereits offenbart stellen die ON- und OD-Offsetwerte die Grundlinienwerte der Matrixkapazitäten bei Nichtvorhandensein eines Objekts dar. Diese Werte werden auch aktualisiert, da Grundlinienwerte, die zu niedrig oder zu hoch sind, die Wirkung haben, die scheinbare Position des Objekts abhängig von dem Vorzeichen des Fehlers zu verschieben. Diese Werte werden durch Auswahl der abgelesenen Werte bei Nichtvorhandensein eines Objekts an der Sensormatrix 22 ermittelt. Da es keine externe Möglichkeit gibt, zu „wissen", wann kein Objekt an der Sensormatrix 22 vorhanden ist, wird ein Algorithmus verwendet, um diese Offsetwerte zu ermitteln und dynamisch zu aktualisieren. Wenn die Kalibrierungseinheit einen Z-Wert sieht, der für die Z-Werte bei Nichtvorhandensein eines Fingers typisch zu sein scheint, weist sie die Offset-Register (158, 160, 162 und 164 von 8) an, aus den aktuellen Werten der Akkumulatoren neu zu laden. Nach einer derzeit bevorzugten Ausführung beruht die Entscheidung zur Aktualisierung der Offsetwerte auf dem Verhalten der Sensormatrix 22 in nur einer von X- oder Y-Richtung, wenn aber die Entscheidung getroffen wird, werden alle vier Offsets (ONX, ODX, ONY und ODY) aktualisiert. In anderen Ausführungen der Erfindung kann die Entscheidung zur Aktualisierung für jede Richtung entsprechend den hierin festgelegten Kriterien einzeln getroffen werden.
  • Der Kalibrierungsalgorithmus arbeitet durch Überwachen von Änderungen bei einem gewählten der Nenner-Akkumulatorwerte. Erfindungsgemäß wurde festgestellt, dass die Empfindlichkeit gegenüber Kapazitätsänderungen eines der Sätze leitender Leitungen in der Sensormatrix 22 größer als die Empfindlichkeit gegenüber Kapazitätsänderungen des anderen der Sätze leitender Leitungen in der Sensormatrix 22 ist. Die Erfahrung legt nahe, dass der Satz leitender Leitungen mit der größeren Empfindlichkeit gegenüber Kapazitätsänderungen derjenige ist, der sich physikalisch über dem Satz leitender Leitungen in der anderen Richtung befindet und daher am nächsten zur Berührungsfläche der Sensormatrix 22 liegt. Der obere Satz leitender Leitungen neigt dazu, den unteren Satz leitender Leitungen von kapazitiven Änderungen, die über der Oberfläche der Sensormatrix 22 eintreten, teilweise abzuschirmen.
  • Der Fingerdruck wird durch Addieren der an den Erfassungsleitungen gemessenen Kapazitäten erhalten. Dieser Wert ist nach Subtrahieren des Offsets OD bereits im Nenner-Akkumulator vorhanden. Ein Finger ist vorhanden, wenn der Druck einen geeigneten Schwellwert übersteigt. Diese Schwelle kann experimentell gewählt werden und ist eine Funktion von Oberflächenmaterial und Schaltkreiszeitsteuerung.
  • Der Schwellwert kann so eingestellt werden, dass er dem Geschmack des einzelnen Bedieners gerecht wird.
  • Der von der Vorrichtung gemeldete Druck ist eine einfache Funktion f(XD YD) der Nenner der X- und Y-Richtungen, wie in Block 178 von 8 implementiert. Mögliche Funktionen umfassen das Wählen eines bevorzugten Nennerwerts oder das Addieren der Nenner. In einer derzeit bevorzugten Ausführung wird der kleinere der beiden Nenner gewählt. Diese Wahl hat die wünschenswerte Wirkung, dass ein Sinken des Drucks unter den Schwellwert verursacht wird, wenn sich der Finger leicht weg von dem Rand der Berührungsfläche bewegt, wo die X-Sensoren gültige Daten erzeugen, die Y-Sensoren aber nicht, oder umgekehrt. Dies dient als elektronische Einfassung, die an Stelle einer mechanischen Einfassung am Rand der Sensorfläche treten kann.
  • In dem Beispiel von 8 wird der Y-Nenner für das Überwachen gewählt, weil er am empfindlichsten ist. Der gewählte Nenner wird für die Zwecke des Kalibrierungsalgorithmus mit Z bezeichnet. Der aktuelle, gespeicherte Offsetwert für diesen Nenner wird mit OZ bezeichnet.
  • Das Ziel des Kalibrierungsalgorithmus ist es, allmähliche Veränderungen des ruhenden Z-Werts zu verfolgen, dabei aber sicherzustellen, dass nicht auf den Finger kalibriert wird und auch auf keine sich aus dem Rauschen ergebenden plötzlichen Spitzen kalibriert wird. Wie für den Durchschnittsfachmann aus der folgenden Offenbarung ersichtlich wird, könnte der Kalibrierungsalgorithmus in digitaler oder analoger Hardware oder in Software implementiert werden. In einer aktuellen Ausführung, die von den Erfindern tatsächlich getestet wird, wird er in Software implementiert.
  • Wenn Z-Werte in der Kalibrierungseinheit eintreffen, werden sie durch Filter 182 geleitet. Ein Verlaufspuffer 184, der in Verbindung mit dem Filter 182 arbeitet, hält ein „gleitendes Mittel" der jüngsten Z-Werte. Wenn ein neuer Z-Wert eintrifft, wird das aktuelle gleitende Mittel FZ entsprechend folgender Formel aktualisiert: neu FZ = α(alt FZ)+(1–α)Z [Gleichung 7] wobei α ein konstanter Faktor zwischen 0 und 1 und typischerweise nahe 1 ist und Z der aktuelle Z-Wert ist. In der bevorzugten Ausführung ist alpha in etwa 0,95. Beabsichtigt wird, dass sich FZ so langsam ändert, dass es allmählichen Veränderungen folgt, ohne durch kurze Störungen von Z stark beeinträchtigt zu werden.
  • Der Filter 182 empfängt ein Signal ENABLE von der Steuereinheit 186. Das gleitende Mittel FZ wird anhand neuer Z-Werte nur aktualisiert, wenn ENABLE aktiviert ist. Ist ENABLE deaktiviert, bleibt FZ konstant und wird von dem aktuellen Z nicht beeinflusst.
  • Der Verlaufspuffer 184 hält die mehreren jüngsten Werte für FZ fest. In der vorliegenden Ausführung hält der Verlaufspuffer 184 die beiden vorhergehenden FZ-Werte fest. Der Verlaufspuffer 184 könnte als Schieberegister, Ring oder analoge Verzögerungsleitung implementiert werden. Wenn der Verlaufspuffer 184 ein Signal REWIND von der Steuereinheit 186 empfängt, stellt er das aktuelle gleitende Mittel FZ auf den ältesten gespeicherten Wert zurück. Das ist, als wäre der Filter 182 „rückwirkend" für eine Zeitdauer entsprechend der Tiefe des Verlaufspuffers 184 deaktiviert. Der Zweck des Verlaufspuffers ist es, eine solche rückwirkende Deaktivierung zuzulassen.
  • Das aktuelle gleitende Mittel FZ wird von Absolutdifferenzeinheiten 188 und 190 sowie dem Komparator 192 mit dem aktuellen Z-Wert und dem aktuellen Offset OZ verglichen. Die Absolutdifferenzeinheit 188 subtrahiert die Werte Z und FZ und gibt den absoluten Wert ihrer Differenz aus. Die Absolutdifferenzeinheit 190 subtrahiert die Werte OZ und FZ und gibt den Absolutwert ihrer Differenz aus. Der Komparator 192 aktiviert das Signal UPDATE, wenn die Ausgabe der Absolutdiffereinzeinheit 188 kleiner als die Ausgabe der Absolutdifferenzeinheit 190 ist, d.h. wenn FZ näher zu Z als zu OZ ist. Das Signal UPDATE neigt dazu, aktiv zu sein, wenn sich der mittlere Wert von Z zu einem neuen Ruhewert verschiebt. Es neigt dazu, nicht aktiviert zu werden, wenn Z eine kurze Abweichung weg von seinem normalen Ruhewert aufweist. Die Filterkonstante α ermittelt die Länge einer Abweichung, die für diesen Zweck als „kurz" gilt.
  • Eine Subtrahierereinheit 194 ist ein einfacher Subtrahierer, der die mit Vorzeichen versehene Differenz zwischen Z und OZ berechnet. Dieser Subtrahierer ist eigentlich mit Subtrahierer 172 in 8 redundant und kann daher bei der eigentlichen Implementierung mit diesem verschmolzen werden. Die Ausgabe CZ dieses Subtrahierers ist der kalibrierte Z-Wert, eine Schätzung des Fingerdrucks. Dieser Druckwert wird durch Komparatoren 196 und 198 mit einem positiven und negativen Z-Schwellwert verglichen. Diese Schwellwerte werden als ZTH und –ZTH gezeigt, wenngleich sie nicht wirklich von gleicher Größenordnung sein müssen.
  • Wenn das Drucksignal CZ größer als ZTH ist, wird das Signal FINGER aktiviert, was das mögliche Vorhandensein eines Fingers anzeigt. Der von der Kalibrierungseinheit verwendete Schwellwert ZTH ist ähnlich dem vom restlichen System zur Detektion des Vorhandenseins des Fingers verwendeten Schwellwert oder kann einen anderen Wert haben. In der vorliegenden Ausführung wird die Kalibrierung ZTH etwas unter dem Haupt-ZTH angesetzt, so dass die Kalibrierungseinheit bezüglich des Vorhandenseins eines Fingers eine konservative Wahl trifft.
  • Wenn das Drucksignal CZ kleiner als –ZTH ist, wird das Signal FORCE aktiviert. Da OZ gleich dem Ruhewert von Z bei Nichtvorhandensein eines Fingers sein soll und ein Finger nur die Sensorkapazität und somit den Wert von Z erhöhen kann, impliziert ein weitgehend negativer CZ-Wert, dass sich die Vorrichtung inkorrekt auf einen Finger kalibriert haben muss, der gerade weggenommen wurde. Die Kalibrierungslogik 200 nutzt diese Tatsache, um eine Neukalibrierung zu erzwingen, da nun der Finger nicht mehr vorhanden ist.
  • Die Steuerlogik 186 ist dafür verantwortlich zu verhindern, dass ein gleitendes Mittel FZ durch Z-Werte beeinflusst wird, die bei Vorhandensein eines Fingers eintreten. Die Ausgabe ENABLE ist im Allgemeinen aus, wenn das Signal FINGER richtig ist, und ein, wenn das Signal FINGER falsch ist. Wenn aber FINGER von falsch zu richtig wechselt, pulst die Steuereinheit auch das Signal REWIND. Wenn FINGER von richtig zu falsch wechselt, wartet die Steuereinheit kurze Zeit (vergleichbar mit der Tiefe des Verlaufspuffers), bevor ENABLE aktiviert wird. Dadurch wird verhindert, dass das gleitende Mittel Z folgt, sobald ein Finger vorhanden ist sowie kurze Zeit vor und nach dem Vorhandensein des Fingers.
  • Die Kalibrierungslogik 200 erzeugt ein Signal RECAL aus den Ausgaben der drei Komparatoren 192, 196 und 198. Wenn RECAL aktiviert wird, werden die Offsetregister ON und OD aus den aktuellen Akkumulatorwerten neu geladen. RECAL wird aus der folgenden Logikgleichung erzeugt: RECAL=FORCE oder (UPDATE und nicht FINGER). [Gleichung 8]
  • Ferner sieht die Kalibrierungslogik 200 vor, dass RECAL aktiviert wird, sobald das System erstmals initialisiert wird, möglicherweise nach einem kurzen Zeitraum, um das Stabilisieren der Ladungsintegratoren und anderer Schaltungen abzuwarten.
  • Aus den Beschreibungen der Steuerlogik 186 und der Kalibrierungslogik 200 geht für den Durchschnittsfachmann hervor, dass diese Blöcke mühelos mit Hilfe herkömmlicher Logik im Rahmen einer einfachen und routinemäßigen Logikausgestaltung konfiguriert werden können.
  • Es sollte für jeden Durchschnittsfachmann offensichtlich sein, dass der beschriebene Kalibrierungsalgorithmus nicht spezifisch für das bestimmte System von Ladungsintegratoren und Akkumulatoren der vorliegenden Erfindung ist. Vielmehr könnte er in jedem Berührungssensor eingesetzt werden, der Nähe- oder Druckdaten erzeugt, wobei es erwünscht ist, einen Kalibrierungspunkt zu halten, der den Zustand des Sensors wiedergibt, wenn kein Finger oder Störrauschen vorhanden ist.
  • Unter Bezug nun auf 10 wird in schematischer Diagrammform eine Vorspannung erzeugende Schaltung 46 gezeigt. Nach einer derzeit bevorzugten Ausführung sind alle Vorspannungstransistoren 108 (4b) der Ladungsintegratorschaltungen 44-1 bis 44-n mit ihren Gattern mit einer einzigen Vorspannungsquelle verbunden, wenngleich ein Durchschnittsfachmann erkennen wird, dass andere Anordnungen möglich sind. Es gibt eine Reihe von Möglichkeiten, wie die von den Ladungsintegratorschaltungen 44-1 bis 44-n geforderte Vorspannung erzeugt werden kann.
  • Wie bei Prüfung von 10 ersichtlich wird, ist die Vorspannung erzeugende Schaltung 46 ein übergedämpftes Servosystem. Eine Bezugsquelle, die die Stromquellenfunktion einer typischen der Ladungsintegratorschaltungen 44-1 bis 44-n approximiert, umfasst einen Kondensator 202, wobei eine seiner Platten geerdet ist. Die andere seiner Platten ist durch ein erstes Durchgangsgatter 204 mit der VDD-Stromzufuhr und durch ein zweites Durchgangsgatter 208 mit einem Stromquellentransistor 206 verbunden. Eine Filterschaltung 210, die identisch zu den Filterschaltungen 48-1 bis 48-n ist und durch das gleiche Signal wie die Filterschaltungen 48-1 bis 48-n gesteuert wird, ist angeschlossen, um die Spannung an dem Kondensator 202 in gleicher Weise abzutasten, wie die Filter- und Abtast-/Halteschaltungen 48-1 bis 48-n die Spannungen an den Sensorleiterkapazitäten in der Sensormatrix 22 abtasten.
  • Die Ausgabe der Filterschaltung 210 wird dem nichtinvertierenden Eingang eines schwachen Steilheitsverstärkers 212 mit einem Vorspannungsstrom in dem Bereich von etwa 0,1–0,2 μA zugeführt. Der invertierende Eingang des Steilheitsverstärkers 212 ist mit einer festgelegten Spannung von etwa 1 Volt verbunden, die zum Beispiel durch eine Diode 214 und einen Widerstand 216 erzeugt wird. Der Ausgang des Steilheitsverstärkers 212 wird von einem Kondensator 218 und auch von einem Kondensator 220 durch das Durchgangsgatter 222 nebengeschlossen. Der Kondensator 220 wird viel größer als der Kondensator 218 gewählt. In einer typischen Ausführung der vorliegenden Erfindung kann der Kondensator 218 etwa 0,2 pF und der Kondensator 220 etwa 10 pF haben.
  • Der Kondensator 220 ist mit dem Gatter des N-Kanal-MOS-Transistors 224 verbunden, dessen Drain mit dem Drain und Gatter des P-Kanal-MOS-Transistors 226 verbunden ist und dessen Source mit dem Drain und Gatter des N-Kanal-MOS-Transistors 228 verbunden ist. Die Source des P-Kanal-MOS-Transistors 226 ist mit VDD und die Source von N-Kanal-MOS-Transistor 228 ist mit der Erde verbunden. Die gemeinsame Drain-Verbindung der Transistoren 224 und 228 ist der Vorspannungsausgangsknoten.
  • Ein optionales Durchgangsgatter 230 kann zwischen einer festgelegten Spannungsquelle (z.B. etwa 2 Volt) und dem Kondensator 220 angeschlossen sein. Das Durchgangsgatter 230 kann zum Initialisieren der Vorspannung erzeugenden Schaltung 46 bei Einschalten durch Laden des Kondensators 220 auf die festgelegte Spannung verwendet werden.
  • Die Filterschaltung 210 nimmt während jedes Abtastzeitraums eine neue Abtastung vor. Wenn sich die neue Abtastung von der vorherigen Abtastung unterscheidet, ändert sich die Ausgangsspannung des Steilheitsverstärkers 212 und beginnt, den Kondensator 218 auf eine neue Spannung zu laden bzw. zu entladen. Das Durchgangsgatter 222 wird für kurze Zeit (d.h. etwa 1 μs) eingeschaltet und die Spannungen an den Kondensatoren 218 und 220 versuchen, sich selbst zu mitteln. Aufgrund der starken Größendifferenz zwischen den Kondensatoren 218 und 220 kann der Kondensator 218 nicht genügend Ladung liefern, um die Spannung während des Zeitraums auszugleichen, in dem das Durchgangsgatter 222 offen ist. Diese Anordnung verhindert große Änderungen der Vorspannung von Zyklus zu Zyklus.
  • Der Kondensator 202 sollte weitgehendst wie eine der Sensormatrixleitungen aussehen und hat einen Wert gleich der Hintergrundkapazität einer typischen Sensorleitung (d.h. ohne nahes Objekt oder vorhandene Kapazitätskomponente). Der Kondensator 202 kann in verschiedenerlei Weise gebildet werden. Der Kondensator 202 kann eine extra Sensorleitung in einem Teil der Sensormatrix umfassen, die so ausgelegt ist, dass sie einer der aktiven Sensorleitungen nahe kommt, aber durch eine Erdungsebene etc. von Fingerkapazität abgeschirmt ist. Alternativ kann der Kondensator 202 ein in der integrierten Schaltung ausgebildeter oder damit verbundener Kondensator sein und einen so gewählten Wert haben, dass er einer typischen Sensorleitung entspricht. Diesbezüglich ähnelt die die den Kondensator 202 und die Filterschaltung 210 umfassende Signalquelle ein wenig der Schaltung für das Erzeugen der Vmax- und Vmin-Bezugsspannungen, da sie eine typische Sensorleitung nachahmt.
  • Als andere Alternative kann eine der tatsächlichen Sensorleitungen verwendet werden, um die Vorspannung zu setzen. Die gemessene Spannung an den beiden Endpunkt-Sensorleitungen kann verglichen werden, und diejenige mit dem niedrigsten Wert kann aufgrund der Theorie gewählt werden, dass, wenn sich ein Finger oder ein anderes Objekt nahe der Sensormatrix befindet, er nicht an Sensorleitungen vorhanden ist, die sich an den gegenüberliegenden Kanten der Matrix befinden.
  • Nach einer anderen Ausgestaltung kann ein „Randweiterbewegungs"-Merkmal implementiert werden, wenn der erfindungsgemäße Objektpositionssensor an Stelle einer Maus als Computercursor-Steuergerät verwendet wird. Bei der Verwendung von Computermäusen oder anderen Cursor-Steuergeräten ergibt sich ein praktisches Problem, wenn versucht wird, ein Objekt über eine lange Strecke auf einem Computerbildschirm zu bewegen. Auf dieses Problem trifft man, wenn eine kleine Mausmatte mit einer Computermaus verwendet wird oder wenn ein Objektpositionssensor der hierin beschriebenen Art eine kleine Berührungssensorfläche hat.
  • Bei Berührungssensorapplikationen ist dieses Problem insbesondere während einer „Zieh"-Bewegung akut. Wenn der Bediener den Finger hebt, um einen zweiten Strich zu beginnen, endet die Ziehwirkung auf dem Bildschirm vorzeitig. Das Randweiterbewegungsmerkmal der vorliegenden Erfindung trägt dazu bei, die Notwendigkeit der Verwendung von „Ruder"- oder Mehrfachstreichen des Fingers zur Bewegung über eine große Strecke auf dem Bildschirm zu umgehen.
  • Eine vorbekannte Lösung für das Problem des Ziehens über eine lange Strecke besteht darin, ein Beschleunigungsmerkmal vorzusehen, d.h. eine "ballistische" Kurve, bei der die Verstärkung als Funktion der Fingergeschwindigkeit variiert, was dem Bediener das – wenn auch unbeholfene – Bewegen über lange Strecken mit Hilfe wiederholter Fingerwischbewegung erlaubt. Dieses Verfahren kann mit jeder Zeigevorrichtung variabler Geschwindigkeit verwendet werden, zum Beispiel mit einer Maus auf einer Mausmatte beschränkter Größe. Typische Maustreibersoftware umfasst ein einstellbares Beschleunigungsmerkmal (manchmal unter einer irreführenden Bezeichnung wie „Mausgeschwindigkeit").
  • Nach einer derzeit bevorzugten Ausführung wird das Randweiterbewegungsmerkmal des Objektpositionssensors durch die Bewegungseinheit 18 von 1 implementiert und funktioniert durch Ausbilden von zwei Zonen in der Erfassungsebene 10, die die Berührungssensormatrix 22 enthält. Wie in 11 gezeigt wird, ist die Erfassungsebene 10 vorzugsweise in eine innere Zone 240 mit dem größten Teil des mittleren Teils der Oberfläche der Erfassungsebene 10 und in eine äußere Zone 242, die typischerweise eine schmale Randfläche am Rand der Sensormatrix enthält, unterteilt. Die Mitte der Erfassungsebene 10 kann in einem kartesischen Koordinatensystem als Ursprung (XMitte, YMitte) beschrieben werden. Der Durchschnittfachmann wird erkennen, dass die innere und äußere Zone aber eine beliebige Form haben könnten.
  • Somit wird in 11 die innere Zone 240 durch die obere Strichlinie Y0, die rechte Strichlinie X0, die untere Strichlinie –Y0 und die linke Strichlinie –x0 gebildet. Die äußere Zone 242 ist der Bereich zwischen den äußeren Kanten der Erfassungsebene 10, die durch Ymax, –Ymax, Xmax und –Xmax gebildet werden, und den Außengrenzen der inneren Zone 240, die durch Y0, X0, –Y0 und –X0 gebildet werden.
  • Nach dieser Ausgestaltung werden Fingerbewegungen in der inneren Zone 240 in üblicher Weise in Bewegungsereignisse umgewandelt, die an den Hostrechner zu senden sind. Wie auf dem Gebiet bekannt ist, kann die übliche Weise der Mitteilung einer Mausbewegung an einen Hostrechner auch zur Mitteilung einer Fingerbewegung an einen Hostrechner eingesetzt werden. Nachdem die Fingerposition wie hierin offenbart bestimmt wurde, lautet die dem Hostrechner mitgeteilte Information: ΔX=A(Xaktuell – Xalt) [Gleichung 9] ΔY=A(Yaktuell – Yalt) [Gleichung 10]wobei ΔX die Änderung der X-Position des Fingers ist, ΔY die Änderung der Y-Position des Fingers ist, Xaktuell die aktuelle X-Position des Fingers ist und Xalt die zuletzt gemeldete X-Position des Fingers ist, Yaktuell die aktuelle Y-Position des Fingers und Yalt die zuletzt gemeldete Y-Position des Fingers ist und A ein "Verstärkungsfaktor" ist, dem man häufig bei Mauscursor-Steuerapplikationen begegnet.
  • Typischerweise nimmt der Hostrechner (ΔX,ΔY) Ereignisse und bewegt den Cursor um den angezeigten Betrag in jeder Achse, wodurch die Fingerposition auf dem Bildschirm rekonstruiert wird, wenn die aufeinanderfolgenden ΔX- und ΔY-Werte kumuliert werden. Insofern ist das ein übliches Cursorsteuerverhalten, bei dem die Randweiterbewegung nicht berücksichtigt wird.
  • Wenn der Finger in der äußeren Zone 242 gemeldet wird, kann das Randweiterbewegungsmerkmal aktiviert werden. Die Ermittlung, ob sich der Finger in der äußeren Zone befindet, ist eine einfache Ermittlung: [–XO < Xaktuell < X0] ist FALSCH, ODER [–Y0 < Yaktuell < Y0] ist FALSCH [Gleichung 11]
  • Unter Bezug nun auf 12 wird in schematischer Diagrammform eine Schaltung 244 für das Vornehmen einer Ermittlung gezeigt, ob sich ein Finger in der äußeren Zone 242 befindet. 12 zeigt eine Hardware-Ausführung für das Ermitteln, ob ein Finger in der äußeren Zone 242 ist, doch wird der Durchschnittsfachmann mühelos erkennen, dass diese Ermittlung problemlos durch Vornehmen einer einer Reihe von gleichwertigen Softwareroutinen ausgeführt werden könnte. Solche Softwareroutinen gehen offensichtlich und direkt aus den hierin beschriebenen Funktionen hervor.
  • Die Schaltung 244 enthält digitale Komparatoren 246, 248, 250 und 252, die durch herkömmliche Logik direkt implementiert werden können. Der Komparator 246 gibt ein Signal „Richtig" aus, wenn die Größe Xaktuell an einem seiner Eingänge größer als die festgelegte Größe X0 ist, die seinem anderen Eingang geboten wird. Der Komparator 248 gibt ein Signal „Richtig" aus, wenn die Größe Xaktuell an einem seiner Eingänge kleiner als die festgelegte Größe –X0 ist, die seinem anderen Eingang geboten wird. Der Komparator 250 gibt ein Signal „Richtig" aus, wenn die Größe Yaktuell an einem seiner Eingänge größer als die festgelegte Größe Y0 ist, die seinem anderen Eingang geboten wird. Der Komparator 252 gibt ein Signal „Richtig" aus, wenn die Größe Yaktuell an einem seiner Eingänge kleiner als die festgelegte Größe –Y0 ist, die seinem anderen Eingang geboten wird.
  • Die Ausgänge der Komparatoren 246, 248, 250 und 252 werden durch ein ODER-Gatter 254 miteinander ODER-verbunden. Wie für den Durchschnittsfachmann nachvollziehbar ist, ist die Signalausgabe FingerOuter des ODER-Gatters 254 nur richtig, wenn die notwendigen Bedingungen von Gleichung 11 erfüllt sind.
  • Es wird derzeit bevorzugt, dass der Randweiterbewegungsaspekt von einem Bediener selektiv aktiviert oder deaktiviert werden kann. Wenn das Randweiterbewegungsmerkmal aktiviert ist und der Finger in der äußeren Zone gemeldet wird, wie vorstehend erläutert wurde, wird den gemeldeten (ΔX,ΔY) Ereignissen eine zweite Komponente hinzugefügt: ΔX=A(Xaktuell – Xalt) + S(Xaktuell – XMitte) [Gleichung 12] ΔY=A(Yaktuell – Yalt) + S(Yaktuell – YMitte) [Gleichung 13]wobei XMitte die X-Koordinate der Mitte der Matte ist, YMitte die Y-Koordinate der Mitte der Matte ist und S ein Multiplikationsfaktor für die Geschwindigkeit ist. S sollte so gewählt werden, dass die Bewegung des Cursors bei einer komfortablen Geschwindigkeit auf dem Bildschirm erfolgt.
  • Wenn der Finger zum Beispiel ein gutes Stück nach rechts gehalten wird (so dass Xaktuell > X0), dann neigt der Cursor dazu, bei einer konstanten Geschwindigkeit nach rechts zu "gleiten", die von dem multiplizierenden Geschwindigkeitsfaktor S in den Gleichungen 12 und 13 gesetzt wurde. Dieser Faktor kann nach dem persönlichen Geschmack eines Bediener eingestellt werden.
  • Wenn die Sensormatrix 22 verschiedene Maße in X und Y hat, ist es hilfreich, die Parameter des multiplizierenden Geschwindigkeitsfaktors S in X- und Y-Richtung so zu setzen, dass sie im gleichen Verhältnis differieren wie die Mattenmaße, so dass ein am linken oder rechten Rand der Sensormatrix gehaltener Finger die gleiche Cursorgeschwindigkeit erzeugt wie ein am oberen oder unteren Rand gehaltener Finger. In der derzeit bevorzugten Ausführung der Sensormatrix gibt es 24 X-Leiterbahnen und 18 Y-Leiterbahnen. Da X 4/3 breiter als Y ist (24 Leiterbahnen gegenüber 18 Leiterbahnen), wird daher der X multiplizierende Geschwindigkeitsfaktor SX so festgelegt, dass er ¾ so groß wie der multiplizierende Geschwindigkeitsfaktor SY ist.
  • Die Gleitgeschwindigkeit des Cursors während der Randweiterbewegung ist eindeutig eine direkte Funktion der Distanz des Fingers von der Mitte der Matte, und die Gleitrichtung ist gleich der Richtung des Fingers von der Mitte. Wenn die äußere Zone die bevorzugte „Randbreiten"-Form hat, wie sie in 11 gezeigt wird, dann ist der Finger immer in etwa gleich weit weg von der Mitte, wenn die Randweiterbewegung aktiviert ist (innerhalb eines Faktors der Quadratwurzel von 2 = 1,41, unter der Annahme einer quadratischen Matte). Dadurch ergibt sich die psychologische Wirkung, dass die Randweiterbewegung eine konstante Gleitgeschwindigkeit mit sich bringt, bei der die Richtung durch die Position um den Rand der Sensormatrix festgelegt wird.
  • Die Variation der Quadratwurzel von 2 kann durch Dividieren der Randweiterbewegungsterme in den Gleichungen (12 und 13) durch einen normalisierenden Faktor folgender Form aufgehoben werden:
    Figure 00480001
    doch ist dies ein rechenintensiver Schritt, der zur Lösung eines Problems eingesetzt wird, das für den durchschnittlichen Bediener kaum wahrnehmbar ist; daher kann er übergangen werden.
  • Das Randweiterbewegungsmerkmal kann verwirrend sein, wenn der Bediener es nicht erwartet. Da die Randweiterbewegung in Verbindung mit der Ziehgeste sehr hilfreich ist, wird derzeit bevorzugt, dass sie nur während eines Ziehens eintritt, d.h. nur wenn die Gestenlogik praktisch „die Maustaste gedrückt hält". Die Ziehgeste und andere Gesten werden durch die Gesteneinheit 20 von 1 implementiert.
  • Zu Zeiten, da die Randweiterbewegungsfunktion nicht erwünscht ist, „geht" die äußere Zone 242 „weg" (d.h. wird ignoriert) und die innere Zone 240 weitet sich effektiv so aus, dass sie die gesamte Erfassungsebene 10 bedeckt. Es hat sich gezeigt, dass dies in der Praxis weit weniger verwirrend ist, wahrscheinlich weil der Bediener sich des Cursorsteuergeräts während einer Ziehgeste wahrscheinlicher bewusster ist als während einfacher Cursorbewegungen.
  • Unter der Annahme der bevorzugten Zonengrenzform von 11 kann der folgende Algorithmus verwendet werden, um das Randweiterbewegungsmerkmal zu implementieren:
    IF NOT (–X0 < Xaktuell < X0 UND –Y0 < Yaktuell < Y0)
    AND (optional) eine Ziehgeste abläuft, DANN
    Let eX=Sx(Xaktuell – XMitte)
    Let eY=SY(Yaktuell – YMitte)
    ELSE
    Let eX=eY=O.
    END IF
  • Als Nächstes werden die Bewegungsterme dX und dY aus dem regulären Algorithmus berechnet:
    d.h. Let dX=A(Xaktuell – Xalt)
    Let dY=A(Yaktuell – Yalt)
  • Schließlich wird das sich ergebende Paket (ΔX = dX+eX, ΔY = dY+eY) zum Hostrechner übertragen. Der Durchschnittsfachmann wird erkennen, dass durch die obige Gleichung eine lineare Proportionalität beschrieben wird. „Proportionalität", so wie sie hier verwendet wird, bedeutet, dass das erzeugte Signal eine monotone Funktion ist. Der Durchschnittfachmann wird erkennen, dass andere monotone Funktionen, einschließlich aber nicht ausschließlich umgekehrte Proportionalität und nichtlineare Proportionalität wie logarithmische oder exponentielle Funktionen, eingesetzt werden könnten, ohne von den hier offenbarten Grundsätzen abzuweichen.
  • Eine Hardware-Implementierung dieses Algorithmus wird in 13 in schematischer Diagrammform veranschaulicht. Die Schaltung 256 wird zwar nur in X-Richtung implementiert gezeigt, der Durchschnittsfachmann wird aber erkennen, dass eine identische Schaltung auch in Y-Richtung eingesetzt werden könnte. Dieser Fachmann wird auch unmittelbar die vollständige Gleichwertigkeit der Implementierung der Hardwarelösung von 13 als Softwareroutine erkennen.
  • Die Randweiterbewegungsschaltung 256 umfasst eine Subtrahiererschaltung 258, in der der vorherige Wert von Xaktuell, der in Verzögerung 260 gespeichert ist, von dem derzeitigen Wert von Xaktuell abgezogen wird. Die Ausgabe der Subtrahiererschaltung 258 wird dem Multiplizierer 262 vorgelegt, der das Ergebnis mit dem Verstärkungsfaktor „A" multipliziert. Die Ausgabe des Multiplizierers 262 ist der Term dX.
  • Der Term Xaktuell wird ebenfalls der Subtrahiererschaltung 264 vorgelegt, in der der Wert von XMitte von dem derzeitigen Wert von Xaktuell abgezogen wird. Die Ausgabe der Subtrahiererschaltung 264 wird dem Multiplizierer 266 vorgelegt, der das Ergebnis mit dem Verstärkungsfaktor „S" multipliziert.
  • Ein UND-Gatter 268 mit zwei Eingängen hat seine Eingangsterme, den Wert FingerOuter von der Schaltung von 12 und den Wert MotionEnable, das ein ein- und ausschaltbares Aktivierungssignal für das Randweiterbewegungsmerkmal der vorliegenden Erfindung ist. Wenn sowohl FingerOuter als auch MotionEnable richtig sind, ist der Schalter 270 so konfiguriert, dass er die Ausgabe des Multiplizierers 266 zur Addiererschaltung 272 weiterleitet. Wenn entweder FingerOuter oder MotionEnable falsch ist, dann ist der Schalter 270 so konfiguriert, dass er den Wert Null an den Addierer 272 weiterleitet. Die Ausgabe des Schalters 270 ist der eX-Term. Die Ausgabe des Addierers 272 wird zum Hostrechner als ΔX weitergeleitet. Das Signal MotionEnable kann durch den Bediener gesteuert werden, z.B. durch ein Steuerfeld. Alternativ kann es durch die Gesteneinheit gesteuert werden, wie eingehender offenbart wird.
  • In einer alternativen Form kann der Term dX durch den Term eX ersetzt werden und analog für dY und eY, wenn sich der Finger in der „äußeren" Zone befindet, statt die beiden Terme in dieser Zone zu addieren. Dies führt zu einer "reineren" Randweiterbewegung, die für den Bediener schwieriger zu lenken ist. Bedienertests haben gezeigt, dass sich die oben gezeigte dX+eX-Form besser anfühlt und leichter zu bedienen ist.
  • Eine andere Alternative, die funktionell ist, aber sich als weniger wünschenswert herausgestellt hat, ist eine etwas breitere äußere Zone. Die Gleitgeschwindigkeit wird dann proportional zur Strecke des Fingers in die äußere Zone statt der Strecke von der Mitte der Matte verändert. Wenn der Finger in die äußere Zone vordringt, beginnt dadurch die Gleitgeschwindigkeit bei Null und nimmt bis zu einem vernünftigen Grenzwert zu, wenn der Finger den Rand der Matte erreicht. Das Ergebnis ist ein gleichmäßigerer Übergang zwischen der Randweiterbewegung und normalem Verhalten. Es ist nicht schwierig, die obigen Formel zu abzuändern, dass dieses alternative Verhalten erzeugt wird. Diese Variante wurde von den Erfindern erprobt, da der Übergang in den Modus der Randweiterbewegung zu abrupt erschien; Tests zeigten, dass diese Abruptheit aber bei typischer Verwendung sogar von Vorteil ist. Der gleichmäßige Übergang ist schwerer zu "erfühlen" und führt letztlich dazu, dass er den Bediener stärker, nicht weniger überrascht. Der Durchschnittsfachmann wird erkennen, dass eine Lösung zwischen den beiden beschriebenen Verfahren ebenfalls eingesetzt werden kann, um einen weniger abrupten Übergang zu erzeugen.
  • Eine alternative Lösung für das Problem des Ziehens über lange Strecken besteht darin, ein „arretierendes" Ziehen vorzusehen, wie es hierin offenbart wird.
  • Das Randweiterbewegungsmerkmal wird vorteilhaft mit einer oder mit mehreren Fingergesten eingesetzt, die von einem Bediener auf der Sensormatrix ausgeführt werden können und von dem System erkannt werden. Von besonderem Interesse sind die Grundtipp- und Ziehgesten. Die Tippgeste ist analog zum Klicken der Maustaste auf einer herkömmlichen Maus, und das Konzept des Ziehens von Objekten ist allen Mausbedienern bekannt.
  • Zeigegeräte wie Mäuse enthalten typischerweise eine oder mehrere Maustasten. Der Bediener kann Zeigen und auf eine Taste klicken, um ein Objekt auf dem Bildschirm auszuwählen, oder er kann die Taste gedrückt halten und die Maus bewegen, um ein Objekt über den Bildschirm zu bewegen. Zeigegeräte mit Berührungssensor können „Gesten" anbieten, die spezielle Fingerbewegungen sind, die Maustastenaktionen ohne Notwendigkeit physikalischer Schalter simulieren. (Da Gesten für Anfänger oder behinderte Bediener schwierig sein können, ist es bevorzugt, auch physikalische Schalter vorzusehen.) In der folgenden Diskussion sollte das Wort „Finger" wie vorstehend beschrieben so verstanden werden, dass es einen Eingabestift oder ein anderes leitendes Objekt umfasst.
  • Unter Rückbezug auf 1 prüft nach einer anderen erfindungsgemäßen Ausgestaltung die Gesteneinheit 20 die (X,Y,Z) Daten, die von der Recheneinheit 16 erzeugt werden, um ein oder mehrere „virtuelle Maustasten"-Signale zu erzeugen, die zusammen mit den (ΔX, ΔY) Signalen zum Host geschickt werden sollen.
  • 14 ist ein eingehenderes Blockdiagramm der Gesteneinheit 20 von 1. Die Gesteneinheit 20 kann eine Vielzahl von Gesten unterstützen. Die Gesteneinheit 20 umfasst eine Antippeinheit 280, eine Zickzackeinheit 282, eine Schiebeeinheit 284 und eine Tastensteuereinheit 286.
  • Durch die Gesteneinheit 20 kann eine Reihe physikalischer Schalter unterstützt werden. In dem veranschaulichenden Beispiel von 14 stammen zwei Eingängen A und B der Tastensteuereinheit 286 von physikalischen Schaltern. Diese Schalter können an dem Touchpad-Modul selbst angebracht oder außen vorgesehen werden. Es kann eine beliebige Anzahl an Schaltern oder gar keiner vorgesehen werden. Die Eingänge A und B haben zwei Zustände: Logik „0" und Logik „1". Der Durchschnittsfachmann wird erkennen, dass an Stelle von mechanischen Schaltern die Schaltsignale durch spezielle Berührungssensoren implementiert werden könnten, die durch Ladungsintegratoren ähnlich den Einheiten 44 betrieben werden, die in Schwellwertkomparatoren einspeisen, um digitale Signale zu bilden.
  • Die Antippeinheit 280, die Zickzackeinheit 282 und die Schiebeeinheit 284 prüfen die Folge der (X,Y,Z) Abtastungen, um nach verschiedenen Arten von Gesten zu suchen. Die Ausgänge all dieser Einheiten plus die Schaltsignale werden in der Tastensteuereinheit 286 kombiniert, um die tatsächlichen Tastendrücksignale zu erzeugen, die dem Host geschickt werden. In dem hier offenbarten veranschaulichenden Beispiel simuliert das Touchpad ein Zeigegerät mit drei Tasten (links, Mitte, rechts). Das System von 14 könnte offensichtlich erweitert werden, um andere Gesten als die hier beschriebenen zu unterstützen oder um im Interesse der Einfachheit weniger Gesten zu unterstützen.
  • Die Tastensteuereinheit 286 kann ein beliebiges von mehreren bekannten Verfahren für das Kombinieren mehrerer Signale verwenden. Zum Beispiel kann unter den verschiedenen Quellen eine Prioritätseinordnung festgelegt werden oder jeder Tastenausgang (links, Mitte oder rechts) kann aktiviert („angeklickt", „gedrückt" oder „gedrückt gehalten") werden, sobald eine der Quellen diese Taste anzeigt. Ein spezielles Verfahren für das Kombinieren dieser Signale ist ein Routinenauslegungsdetail, das von einer bestimmten Systemkonfiguration abhängig ist und problemlos von einem Durchschnittsfachmann implementiert werden kann.
  • In einer derzeit bevorzugten Ausführung überführt die Tastensteuereinheit 286 sowohl Schalter als auch Gesten in die am häufigsten verwendeten virtuellen Tasten, was dem Bediener ein Höchstmaß an Flexibilität gibt. In einer anderen Ausführung können Schalter und Gesten in verschiedene virtuelle Tasten überführt werden, so dass ein größere Anzahl virtueller Tasten abgedeckt werden kann, ohne auf exotische Gesten zurückzugreifen. Oder dem Bediener kann eine Auswahl von Überführungen angeboten werden.
  • Auf dem Gebiet ist es bekannt, das Verarbeiten zusätzlicher Tastenschaltungen, beispielsweise Doppelklicken, Auswählen häufig verwendeter Menüpositionen, etc. an Stelle ihrer normalen Rolle als Maustasten zuzulassen. Analog könnte die Tastensteuereinheit 286 oder die Hoststoftware einige der hier beschriebenen Gesten in Softwarebefehle überführen, statt Maustasten zu simulieren. Eine solche Verarbeitung und Überführung liegt eindeutig im Bereich des Könnens des Durchschnittsfachmanns.
  • Die Antippeinheit 280 decodiert die einfachsten Gesten, einschließlich Tippbewegungen, Ziehen, Hüpfen und Antippzonen. Diese Gesten werden in 15a bis 15e als Zeitverlaufsdiagramme veranschaulicht. In jeder der 15a bis 15e werden zwei Signale gegen die Zeit aufgetragen gezeigt; eines ist das analoge „Z"-Signal (Fingerdruck), das andere ist das digitale „Aus"-Signal (virtuelles Tastendrücken). Die verschiedenen relevanten Zeitspannen werden mit den Bezeichnungen „t1" bis „t21" dargestellt.
  • Die einfache "Antipp"-Geste ist ein schnelles Tippen des Fingers auf das Feld. Ein solches Antippen kurzer Dauer, das wenig oder keine X- oder Y-Fingerbewegung während des Antippens erfordert, wird dem Host als kurzes Klicken der Maustaste präsentiert. Wenn eine Maus mit mehreren Tasten simuliert wird, kann die Antippgeste ein Klicken der „primären" Maustaste simulieren, oder die zu simulierende Taste kann unter Verwendung einer Umschalttaste, eines Steuerfelds oder eines anderen bekannten Mittels vom Bediener wählbar sein. Zweifaches Antippen in schneller Folge wird dem Host als Doppelklicken der Taste vorgelegt. Im Allgemeinen wird mehrfaches Antippen in offensichtlicher und natürlicher Weise in mehrfaches Klicken übersetzt.
  • Da es nicht möglich ist zu sagen, ob ein Fingeranschlag ein gültiges Antippen ist (im Gegensatz zu einer Cursorbewegung), während der Finger noch unten ist, meldet das Gerät der derzeit bevorzugten Ausführung ein Tastenklicken solange nicht, bis der Finger gehoben wird. Diese Verzögerung ist im Allgemeinen für den Bediener nicht merklich, da Antippbewegungen laut Definition sehr kurze Anschläge sind.
  • Ein kleiner Betrag an Bewegung kann während der Antippbewegung aufgrund von Faktoren wie der natürlichen Verformung der Fingerspitze unter Druck eintreten. Dies kann bewirken, dass das durch die Antippgeste erzeugte virtuelle Klicken das falsche Element oder die falsche Position auf dem Bildschirm wählt. Um dies zu vermeiden, muss entweder die Bewegung unterdrückt werden, bis die Bewegung groß genug ist oder die Dauer lang genug ist, um ein Antippen zu disqualifizieren, oder die Bewegung muss zugelassen werden, aber dann rückwirkend aufgehoben werden, sobald die Antippgeste erkannt wird. Die letztere Lösung ist bevorzugt, da auch ein kleiner Betrag an unterdrückter Bewegung für den Bediener merklich ist.
  • Nach der derzeit bevorzugten Ausführung der Erfindung werden Bewegungsereignisse dem Host wie üblich übermittelt und auch in einem Register oder einer Warteschlange gespeichert. Wird die Antippgeste erkannt, wird ein entsprechender negativer Bewegungsbetrag schnell wiederholt, um die bereits gemeldete Bewegung „aufzuheben" und die ursprüngliche Cursorposition zu dem Moment, da das Vorhandensein des Fingers erstmals detektiert wurde, wiederherzustellen. Die Bewegung während des Anschlags kann in Form einer Folge mehrerer Pakete an den Host gesendet worden sein. Für größere Präzision kann diese Sequenz gespeichert und umgekehrt wiederholt werden. Wenn die Bewegungsverarbeitung des Host aber linear ist, reicht es aus, den Gesamtbetrag der Bewegung während des Anschlags zu kumulieren und eine kompensierende Bewegung in einem einzelnen Paket zu senden. Da das „Beschleunigungs"-Merkmal eines typischen Maustreibers nur bei hohen Geschwindigkeiten aktiviert wird, ist diese Annahme der Linearität in diesem Zusammenhang meist unbedenklich.
  • Die von der Antippeinheit 280 berücksichtigten Eingaben sind CurPos, die aktuelle (X,Y) Fingerposition von der Recheneinheit; Z, der aktuelle Druckwert, und CurTime, die aktuelle Zeit in geeigneten Zeiteinheiten (wie Millisekunden oder der Anzahl an verarbeiteten Abtastungen).
  • Es gibt neun Zustandsvariable, die in der Antippeinheit 280 verwendet werden. TapState ist KEINE, wenn keine Geste abläuft. TIPPEN, wenn eine Tipp- oder Ziehgeste abläuft, und ARRETIERT, wenn ein arretierendes Ziehen abläuft. TapOkay ist RICHTIG, wenn in dem aktuellen Anschlag ein ausreichend hoher Z-Wert gesehen wurde, damit sich der Anschlag als Antippen qualifizieren kann. DownPos ist die (X,Y) Position, bei der der Finger zuletzt das Feld berührt hat. DownTime ist die Zeit, bei der der Finger zuletzt berührt hat. UpPos und UpTime halten die Position und Zeit fest, bei der der Finger sich das letzte Mal von dem Feld hob. TapButton ist eines von LINKS, MITTE oder RECHTS, wobei identifiziert wird, ob die aktuelle Geste eine Aktion an der linken, mittleren bzw. rechten virtuellen Maustaste simuliert. Suppress ist RICHTIG, wenn die virtuellen Tasten für ein Doppelklicken unterdrückt werden. Out stellt schließlich die Ausgabe der Antippeinheit dar und ist eines von KEINE, LINKS, MITTE oder RECHTS.
  • Zum Steuern der Antippeinheit werden mehrere Parameter verwendet. TapTime ist die Höchstdauer eines Anschlags, damit er sich als Tippgeste qualifizieren kann. DragTime ist der maximale Intervall zwischen dem ersten Tippen und dem Zurückkehren des Fingers zur Bildung einer Ziehgeste. HopTime ist die maximale Anhebezeit vor einem Tippen zur Qualifizierung als Hüpfen. TapRadius ist der maximale Bewegungsbetrag, der während eines Tippens eintreten kann. DragRadius ist die maximale Strecke zwischen dem ersten Tippen und dem Zurückführen des Fingers für ein Ziehen. HopDistance ist die zu bewegende Mindeststrecke zur Qualifizierung für ein Hüpfen. Zthresh ist der Mindestdruck (Z) für das Detektieren eines Fingers. In den Ansprüchen dieser Anmeldung nehmen Schritte, die das „Detektieren des Vorhandenseins" eines Fingers oder anderen Objekts (oder andere Worte dieses Sinngehalts) vortragen, an, dass ein Druck größer als Zthresh detektiert wurde. Schließlich ist Ztap der Mindestdruck (Z) für das Detektieren eines tippenden Fingers.
  • 15a zeigt den Zeitverlauf einer grundlegenden Tippgeste. Zuerst wird ein erfolgreiches Tippen gezeigt, gefolgt von einem Fingeranschlag, der zu lang ist, um sich als Tippen zu qualifizieren. Bei dem ersten Anschlag ist der Finger während der Zeit „t1" unten, die kürzer als TapTime ist. Ferner ist (nicht in 15a dargestellt) die (X,Y) Bewegung während der Zeit „t1" kürzer als TapRadius. Schließlich übersteigt das Z-Signal die Schwell Ztap mindestens einen Teil des Anschlags lang. Dadurch qualifiziert sich der Anschlag als Tippen. Das Signal Out (die untere Leiterbahn von 15a) wird für einen bestimmten Zeitbetrag „t2" richtig, dann falsch. Wie später besprochen wird, ist der Zeitbetrag „t2" gleich der DragTime. Bei dem in den folgenden Flussdiagrammen beschriebenen Gerät ist die Variable TapState über den gesamten Intervall „t2" gleich TIPPEN. Wie derzeit bevorzugt wird, beträgt TapTime etwa 400 ms, TapRadius ist etwa 2% der Breite des Sensorfelds und Ztap ist etwas größer als Tthresh, dessen Wert durch den Bediener einstellbar ist.
  • In der rechten Hälfte von 15a wird der Finger länger als der in der Figur als „t3" gezeigte Parameter TapTime niedergehalten. Daher qualifiziert er sich nicht als Tippgeste und aus diesem Anschlag wird kein Out Signal erzeugt.
  • Bei der grundlegenden Ziehgeste tippt der Bediener einmal, bringt den Finger schnell zurück in Kontakt mit dem Feld, bewegt den Finger dann in eine erwünschte Richtung in der XY-Ebene des Felds. Die simulierte Maustaste wird zu Beginn der Ziehgeste gedrückt und wird nur freigegeben, wenn der Finger wieder vom Feld gehoben wird. Die Gestenlogik veranlasst, dass das erste Tippen der Ziehgeste in das verlängerte Ziehen einfließt, statt dem Host ein weiteres einzelnes Tastenklicken vorzulegen.
  • Bei einer Abänderung der Ziehgeste beginnt die oben beschriebene Geste ein Ziehen, das sich fortsetzt, selbst wenn der Finger angehoben wird. Das Ziehen endet (d.h. die simulierte Maustaste wird freigegeben), wenn der Finger wieder auf das Sensorfeld tippt. Dieses Merkmal ist als „arretierendes Ziehen" bekannt. Das arretierende Ziehen lässt ein Ziehen über längere Strecken zu, als durch eine einzelne Fingerbewegung auf einem kleinen Feld durchgeführt werden kann, kann aber höchst verwirrend sein, wenn es versehentlich aktiviert wird. Das arretierende Ziehen wird ein verborgener Modus, ein bekanntes unerwünschtes Element in der Untersuchung von Bedienerschnittstellen. Daher wird es in der bevorzugten Ausführung dem Bediener als Option präsentiert, die in der Voreinstellung deaktiviert ist. Das zuvor beschriebene „Randweiterbewegungs"-Merkmal dient als alternative Möglichkeit zur Verwirklichung von Ziehen über lange Strecken.
  • Die Ziehgeste wird wie folgt implementiert. Wird ein Tippen erkannt, wird die virtuelle Maustaste wie zuvor beschrieben niedergedrückt. Die virtuelle Maustaste wird aber nicht freigegeben, bis der Finger ausreichend lang weg vom Feld geblieben ist, um sich als Ziehgeste zu qualifizieren. Dieser Zeitbetrag DragTime sollte lang genug gewählt werden, um eine bequeme Ziehgeste zuzulassen, aber kurz genug, damit das sich aus einer Tippgeste ergebende Klicken immer noch angemessen kurz ist. Wie derzeit bevorzugt wird eine Zeit von etwa 200 ms verwendet.
  • Wie in 15b gezeigt wird, beginnt die Ziehgeste mit einem oben beschriebenen Tippen von einer Dauer „t4", die kürzer als TapTime ist. Das Signal Out wird als Reaktion auf dieses Tippen hoch. Der Finger bleibt dem Feld über eine Zeitdauer „t5" fern, die kürzer als DragTime ist, kehrt dann zum Feld zurück und bleibt dort eine Zeit "t6" lang, die länger als TapTime ist. Dies qualifiziert die Geste als Ziehen. Das Signal Out bleibt hoch, bis der Finger schließlich bei Zeit „t7" gelöst wird. Bei der Implementierung von 15b ist die Zeit „t7" zwischen dem Entfernen des Fingers und der Freigabe der virtuellen Maustaste null; bei anderen ähnlichen Implementierungen könnte dies ungleich null, aber klein sein, z.B. gleich DragTime. Zu beachten ist, dass TapState den gesamten Intervall von „t5" bis zu „t7" gleich TIPPEN sein wird.
  • Es gibt eine Reihe von Alternativen, die für die Zeitsteuerung von DragTime in Betracht kommen können. 15a zeigt den Intervall „t2", der auch der obere Grenzwert am Intervall „t6" ist, als exakt gleich dem Parameter DragTime, In einer Alternative wird DragTime im Verhältnis zu DownTime anstelle zu UpTime gemessen, was mit der Aussage gleichwertig ist, dass die Intervalle "t1" und "t2" ("t5" bzw. "t6") addiert DragTime ergeben müssen. Eine Folge dieses Verfahrens ist, dass bei der grundlegenden Tippgeste ein längeres, langsameres Antippen ein kürzeres virtuelles Tastenklicken bewirkt. Dieser Widerspruch macht dieses Vorgehen für den Bediener weniger zufrieden stellend als das in 15a–b gezeigte Vorgehen.
  • In einer anderen Alternative wird DragTime proportional zur Länge des Intervalls „t1" (bzw. „t5") gemacht, so dass ein kurzes Tippen ein kurzes virtuelles Tastenklicken erzeugt und ein längeres Tippen (bis zum Grenzwert TapTime) ein längeres Klicken erzeugt. Diese Alternative gibt dem Bediener mehr Kontrolle über das simulierte Tastenklicken, macht aber das Verhalten von einem vom Bediener als unwesentlich empfundenen Merkmal der Tippaktion abhängig.
  • 15c zeigt die arretierende Ziehgeste. Das arretierende Ziehen beginnt mit einer standardmäßigen Ziehgeste, die die Intervalle „t8„ bis „t10" erfordert. Wenn aber der Finger angehoben wird, bleibt das Signal Out hoch. (In den Flussdiagrammen ändert sich TapState zu diesem Zeitpunkt von TIPPEN zu ARRETIERT). Die Figur zeigt eine zweite Ziehbewegung einer Länge, die länger als TapTime ist (gezeigt als "t11"), was das arretierende Ziehen nicht beendet, gefolgt von einer weiteren Bewegung der Länge „t12", die kürzer als TapTime ist. Da sich diese letzte Bewegung als Tippen qualifiziert, beendet sie das arretierende Ziehen zum Zeitpunkt "t13". In den Flussdiagrammen ändert sich TapState zu diesem Zeitpunkt zurück zu TIPPEN; ein reguläres Tippen wird dann verarbeitet, das über eine Zeit „t13" gleich DragTime wie gewöhnlich Out weiter hoch hält. Eine sinnvolle alternative Implementierung könnte das Ziehen nach einem anderen Intervall „t13" beenden, beispielsweise Null.
  • 15d zeigt eine Doppeltippgeste. Das Doppeltippen ist anfangs nicht von einer Ziehgeste zu unterscheiden. Die zweite Bewegung „t16" ist aber kürzer als TapTime, wodurch sie sich als zweites Tippen statt als Ziehen qualifiziert. Ein reguläres Antippverarbeiten bewirkt, dass Out einen weiteren Intervall „t18" der Länge DragTime hoch bleibt; die in den Flussdiagrammen gezeigte spezielle Handhabung eines Doppeltippens unterdrückt aber die virtuelle Maustaste einen kurzen Zeitraum „t17" lang nach Erkennung des Tippens. Dadurch nimmt der Hostrechner zwei einzelne Klicks wahr statt des einen langen, ineinander übergehenden Klickens, das er ohne diese spezielle Handhabung sehen würde.
  • Andere Gesten können zum Simulieren einer Mehrtasten-Maus verwendet werden. Bei einem solchen Vorgehen werden die Grundgesten durch eine „Hüpf"-Geste ergänzt, bei der der Finger von seiner Ruheposition an einer Stelle auf dem Feld gehoben wird und eine erhebliche Strecke weg von der Ruheposition auftippt. Wenn die Strecke groß genug ist (HopDistance typischerweise ein Teil der Breite des Sensorfelds; derzeit bevorzugt etwa 25%) und die Dauer zwischen dem Anheben und dem anschließenden Tippen unter einem geeigneten Schwellwert liegt (HopTime typischerweise ein Teil einer Sekunde; derzeit bevorzugt etwa 0,5 s), dann wird die durch das Tippen begonnene Klick- oder Ziehgeste auf einer anderen Maustaste simuliert. Diese andere Taste kann eine feste „sekundäre" Taste sein oder sie kann durch ein Steuerfeld oder andere Mittel vom Bediener wählbar sein oder sie kann eine Funktion der Richtung sein, in der der Finger hüpft (z.B. nach links statt nach rechts). Die Hüpfgeste ist als Option verfügbar, die in der Voreinstellung deaktiviert ist.
  • Zu beachten ist, dass zwar manche Bediener bei der Hüpfgeste bevorzugt mit einem zweiten Finger tippen, diese Geste aber nie mehr als einen Finger gleichzeitig auf dem Feld erfordert. Eine ähnliche Geste, das „Zickzack", wird ebenfalls hier beschrieben und erfordert die gleichzeitige Verwendung von zwei Fingern.
  • 15e zeigt eine „Hüpf"-Geste. Diese Geste beginnt mit dem Finger bereits auf dem Feld. Der Finger wird dann einen Intervall „t19" lang gehoben, der unter der HopTime liegt; dann kommt der Finger für ein reguläres Tippen „t20" herunter. Ferner muss sich der Finger, was nicht in der Figur gezeigt wird, während des Intervalls „t19" mindestens eine bestimmte Strecke HopDistance weg von seiner vorherigen Position bewegt haben. Wenn dies eintritt, wird die Geste als „Hüpfen" statt als reguläres Tippen verarbeitet und das virtuelle Tastendrücken „t21" erfolgt auf der rechten Taste Out(R) anstatt auf der üblichen linken Taste Out(L). Es ist unschwer ersichtlich, wie dem Tippen „t20" weitere Fingeraktionen folgen könnten, um ein Ziehen oder ein Doppeltippen auf der rechten Taste zu bilden.
  • Eine andere Mehrtasten-Geste verwendet „Tippzonen", in denen die Oberfläche des Felds in zwei oder mehr Zonen unterteilt ist. Ein in einer vorgegebenen Zone eingeleitetes Tippen oder Ziehen simuliert ein Ereignis auf einer Taste, die dieser Zone entspricht. Selbst wenn sich der Finger während eines Ziehens zwischen Zonen bewegt, wird das gesamte Ziehen auf der der Zone des ursprünglichen Tippens, das die Ziehgeste einleitete, entsprechenden Taste simuliert.
  • 16a und 16b veranschaulichen zwei Tippzonenformen. In 16a ist das Feld in drei vertikale Streifen 288, 290 und 292 unterteilt, die der linken, der mittleren bzw. der rechten Maustaste entsprechen. In 16b ist das Feld in einen Hauptbereich 294 unterteilt, der die linke Maustaste simuliert, und in einen kleinen Eckbereich 296, der die rechte Maustaste simuliert. Die Implementierung von 16b ist geeigneter, wenn eine Taste bei typischen Applikationen vermehrter eingesetzt wird als die andere Taste/die anderen Tasten.
  • Es ist bevorzugt, dass die Zonen eindeutig gekennzeichneten Regionen auf der Feldfläche entsprechen. Für den Fachmann ist offensichtlich, dass andere Zonenformen, zum Beispiel mehrere Ecken oder horizontale Streifen, gleichermaßen unkompliziert sind.
  • Zwischen Tippzonen und dem Randweiterbewegungsmerkmal gibt es eine Interaktion, die berücksichtigt werden muss. Insbesondere bei der Eckenzone von 16b regen die Tippzonen den Bediener an, nahe des Rands des Felds zu tippen. Wenn die Randweiterbewegung während der Tipp- und Ziehbewegungen oder ständig aktiv ist, dann neigt die Randweiterbewegung dazu, das richtige Verhalten des Eckentippens zu beeinträchtigen. Um dies zu verhindern, kann die Aktivierungslogik der Randweiterbewegung von 13 leicht abgewandelt werden. Bei einer vorgegebenen Bewegung funktioniert die Randweiterbewegung nur, wenn der Finger mindestens einmal während dieser Bewegung in der inneren Zone war. Wenn der Finger in der äußeren Zone aufsetzt, wird die Randweiterbewegung daher nicht aktiviert, bis der Finger den Rand des Felds verlässt und dann zurückkehrt.
  • Alle oben beschriebenen Gesten sind Varianten der grundlegenden Tipp- und Ziehgesten. Bei dem hierin beschriebenen System werden alle diese Gesten von der Antippeinheit 280 erkannt. Der Betrieb der Antippeinheit 280 wird am einfachsten als Algorithmus in Form eines Flussdiagramms beschrieben. Anhand dieser Offenbarung wird ein Durchschnittsfachmann erkennen, dass die hier beschriebene Antippeinheit sogar als bekannte und offensichtliche Entsprechungungen implementiert werden könnte, beispielsweise als Softwareprogramm, Hardwarezustandsmaschine oder anderes. Alle diese Implementierungen sollen in den Schutzumfang der vorliegenden Erfindung fallen.
  • 17a bis 17f umfassen ein Flussdiagramm für den Betrieb der Antippeinheit 280. Die Antippeinheit 280 implementiert die hierin beschriebenen Tipp-, Zieh-, arretierende Zieh-, Eckentipp- und Hüpfgesten. Bei den hierin beschriebenen Erkennungsoperationen wird das Eckentippen zur Simulierung der rechten virtuellen Maustaste verwendet. Hüpfer nach links und rechts werden zum Simulieren der mittleren und der rechten virtuellen Maustaste verwendet. Einfaches Tippen simuliert die linke (primäre) virtuelle Maustaste.
  • Die Verarbeitung beginnt bei Schritt 300, wenn jede (X,Y,Z) Abtastung von der Recheneinheit 16 von 1 eintrifft. In einer derzeit bevorzugten Ausführung der Erfindung treffen diese Daten 40 mal pro Sekunde ein. Der Algorithmus von 17a bis 17f läuft jedes Mal, wenn eine Abtastung eintrifft, von Anfang (Schritt 300) bis Ende (Schritt 376) durch.
  • Schritt 302 ermittelt, ob der Finger oben oder unten ist, indem Z (Druck) mit Zthresh verglichen wird, um zu ermitteln ob ein Finger vorhanden („unten") ist oder nicht („oben"). Anstelle eines einfachen Schwellwertvergleichs können zwei Schwellwerte verwendet werden, um eine Hysterese zu bieten, wie auf dem Gebiet bekannt ist. In 17a wird keine Hysterese gezeigt, eine ähnliche Hysterese wird aber später in 20 für die „Schiebe"-Geste veranschaulicht.
  • Bei Schritt 304 weiss man, dass der Finger unten ist. Das vorherige Z wird geprüft, um zu sehen, ob der Finger zuvor unten war oder jetzt erst das Feld berührt.
  • Bei Schritt 306 wird ein Finger-Unten-Übergang detektiert. Bei der in 15b gezeigten Ziehgeste ist es von Vorteil zu prüfen, dass sich der Finger während der Zeit „t5", dem Intervall zwischen dem ersten Tippen und der Rückführung des Fingers auf das Feld, keine große Strecke bewegt hat. Wenn Schritt 306 ermittelt, dass der Finger an einer anderen Stelle auf das Feld zurückgeführt wurde, dann war eine Ziehgeste wahrscheinlich nicht gewollt.
  • Daher berechnet Schritt 306 die Strecke zwischen der aktuellen Position CurPos (die gefilterten und geglätteten X- und Y-Positionsdaten) und der gespeicherten Position des vorherigen Tippens, DownPos. Wenn die Strecke unter einem Schwellwert DragRadius liegt und TapState TIPPEN ist (eine Ziehgeste steht an), dann geht der Ablauf weiter zu Schritt 308. Ansonsten springt er zu Schritt 310. Der Schwellwert DragRadius sollte ein Teil der Breite des Felds sein, vorgsweise größer (großzügiger) als der TapRadius, der bei der Detektion eines Grundtippens verwendet wird.
  • Der Durchschnittsfachmann wird erkennen, dass mehrere mögliche Distanzmaße zur Verwendung in Schritt 306 geeignet sind. Ein echtes Euklid-Distanzmaß ist plausibel, aber teuer zu berechnen; ein einfacheres Maß ist die Summe oder der Höchstwert der absoluten Werte der Distanzen in X und Y. Die Summe bzw. der Höchstwert erzeugt eine „Ziehzone" um das ursprüngliche Tippen, die rauten- bzw. quadratförmig ist, an Stelle der von einem Euklid-Distanzmaß erzeugten kreisförmigen Zone. Experimente legen nahe, dass Bediener nicht den Unterschied zwischen diesen Zonenformen wahrnehmen können, daher ist das Maß bevorzugt, das am einfachsten zu berechnen ist. Ferner kann die Geometrie von Finger und Touchpad bewirken, dass die erhebliche Bewegung immer in einer Richtung liegt, z.B. X, in welchem Fall eine einfache absolute Differenz der X-Koordinaten bevorzugt sein kann.
  • In der bevorzugten Ausführung kann der Bediener den Grad der Gestenerkennung mit Hilfe eines Steuerfelds oder anderer Mittel ändern. Wenn der Bediener beschließt, nur Tippen, aber kein Ziehen zuzulassen, dann kann Schritt 306 programmiert werden, direkt zu Schritt 308 zu gehen, um auszuschließen, dass eine der Tippgesten eine Ziehgeste wird.
  • Bei Schritt 308 wurde eine Ziehgeste ausgeschlossen. TapState wird von TIPPEN zu KEINE geändert; die Wirkung ist eine einfache Tippgeste gefolgt von einer Cursorbewegung, ohne dass eine virtuelle Taste niedergedrückt wird.
  • Schritt 310 hält die Position und die Zeit fest, zu der der Finger auftraf.
  • Schritt 312 initialisiert die Flagge TapOkay auf FALSCH.
  • Schritt 314, der bei allen Abtastungen, bei denen der Finger unten ist, abläuft, vergleicht Z mit dem Ztap-Schwellwert; Schritt 316 setzt TapOkay auf RICHTIG, wenn Z größer als der Ztap-Schwellwert ist. Wenn der Finger angehoben wird, ist daher TapOkay RICHTIG, wenn Z während der kurzen Bewegung, die ein Kandidat für eine Tippgeste ist, jemals den Tippschwellwert überstieg.
  • Unter Bezug nun auf 17b ist bei Schritt 318 bekannt, dass der Finger nicht auf dem Feld ist. Das vorherige Z wird geprüft, um zu sehen, ob der Finger zuvor oben war oder jetzt erst vom Feld genommen wird.
  • Bei Schritt 320 wird ein Finger-Oben-Übergang detektiert. Es werden verschiedene Tests bezüglich der letzten Bewegung (Zeitraum Finger unten) durchgeführt, um zu sehen, ob sie sich als Tippen qualifiziert. Um sich zu qualifizieren muss die Bewegung eine kurze Dauer (CurTime minus DownTime muss unter TapTime liegen), wenig oder keine Bewegung (die Strecke von CurPos zu DownPos muss kleiner als TapRadius sein) und genügend Spitzen-Fingerdruck (TapOkay muss RICHTIG sein) aufweisen, um sich als Tippen zu qualifizieren.
  • Bei Schritt 322 wird eine eingetretene Fingerbewegung rückwirkend durch schnelles Wiederholen eines entsprechenden negativen Bewegungsbetrags vom Register oder der Warteschlange zum Host aufgehoben, um die bereits gemeldete Bewegung „aufzuheben" und die ursprüngliche Cursorposition zu dem Moment, da das Vorhandensein des Fingers erstmals detektiert wurde, wiederherzustellen. Wenn die Bewegung während des Anschlags dem Host in Form einer Folge mehrerer Pakete gesendet wurde, kann diese Sequenz gespeichert und rückwärts wiederholt werden. Wenn die Bewegungsverarbeitung des Host linear ist, reicht es aus, den Gesamtbetrag der Bewegung während des Anschlags zu kumulieren und eine kompensierende Bewegung in einem einzelnen Paket zu senden. Da das „Beschleunigungs"-Merkmal eines typischen Maustreibers nur bei hohen Geschwindigkeiten aktiviert wird, ist diese Annahme der Linearität in diesem Zusammenhang meist unbedenklich.
  • Schritt 324 führt eine von mehreren Aktionen beruhend auf dem aktuellen TapState aus. Wenn TapState KEINE ist (keine Gesten laufen ab), geht der Ablauf einfach zu Schritt 330 von 17c. Wenn zweitens TapSTate TIPPEN ist (ein kürzliches Tippen läuft noch ab), dann wird ein Doppeltippen detektiert. Schritt 326 setzt die Flagge Suppress auf RICHTIG, um das virtuelle Tastensignal für eine Abtastung auf niedrig zu setzen. Dies entspricht der Zeit „t17" von 15f. Bei einem alternativen Vorgehen können ein oder mehr zusätzliche Pakete, die eine Freigabe der virtuellen Tasten anzeigen, in den regulären Paketstrom eingefügt werden, statt eine Flagge Suppress zu verwenden, wie hierin gezeigt wird.
  • Wenn schließlich TapState ARRETIERT ist, ist das das Tippen, das ein arretierendes Ziehen beendet. Schritt 328 setzt TapState zurück auf TIPPEN, springt dann direkt zu Schritt 358 von 17e, wobei die Schritte übergangen werden, die entscheiden, welche der drei Maustasten simuliert werden sollen. Dadurch ändert sich das arretierende Ziehen wieder zu einem Tippen auf die gleiche virtuelle Maustaste. Nach der üblichen kurzen Dauer („t13" von 15c) wird die virtuelle Taste freigegeben.
  • Es ist wesentlich, dass die Tastenwahl (17c) in dem Fall ARRETIERT übergangen wird. Wenn ein arretierendes Ziehen mit der rechten Taste zum Beispiel durch ein Tippen auf die Ecke des Felds eingeleitet wird, dann sollte es möglich sein, das Ziehen durch Tippen auf eine beliebige Stelle des Felds, nicht nur auf die Ecke, zu beenden. Es ist auch wesentlich, dass die Tastenwahl in dem Fall des Doppeltippens enthalten ist. Andernfalls wäre es unmöglich, zum Beispiel linkes und rechtes Tastenklicken in schnellem Wechsel auszuführen, indem abwechselnd auf zwei verschiedene Stellen auf dem Feld getippt wird.
  • In einer anderen Ausführung wird, wenn TapState ARRETIERT ist, TapState auf KEINE gesetzt und Schritt 364 als Nächstes ausgeführt. Dadurch wird "t13" von 15c gleich Null.
  • Unter Bezug nun auf 17c prüft Schritt 330, ob das sich aktuelle Tippen als „Hüpf"-Geste qualifiziert. Diese Prüfung umfasst mehrere Tests. Zuerst muss die Hüpfgeste vom Bediener aktiviert werden. Zweitens darf der Finger nur kurze Zeit zwischen dem aktuellen Tippen und dem letzten Zeitpunkt, da er sich auf dem Feld befand, angehoben gewesen sein (DownTime minus UpTime muss kleiner als HopTime sein). Schließlich muss die Position dieses Tippens beträchtlich weit weg von der vorherigen Position sein (die Strecke von DownPos zu UpPos muss größer als HopDistance sein). Wiederum sind eine Vielzahl von Distanzmaßen möglich. Die in 17a bis 17f gezeigten Operationen unterstützen linke und rechte Hüpfer; dadurch ist ein vernünftiges Distanzmaß eine absolute Differenz der X-Koordinate zwischen DownPos und UpPos.
  • In einer Variante, die leicht als praktisch gleichwertig zu erkennen ist, werden CurTime und CurPos an Stelle von DownTime und DownPos bei Schritt 330 verwendet.
  • Wenn sich das Tippen als Hüpfer qualifiziert, geht der Ablauf weiter zu Schritt 332. Da das System dieses Beispiels zwei verschiedene Hüpfgesten unterstützt, wird die Hüpfrichtung geprüft, um die Art der Geste zu ermitteln. Wenn die X-Koordinate von DownPos (oder CurPos) kleiner als die X-Koordinate von UpPos ist, ist ein Hüpfen nach links eingetreten (unter der Annahme, dass X nach rechts zunimmt). Wenn die X-Koordinate von DownPos (oder CurPos) größer als die X-Koordinate von UpPos ist, ist ein Hüpfen nach rechts eingetreten. Zu beachten ist, dass aufgrund der Prüfungen des Schritts 330 DownPos an diesem Punkt entweder erheblich links oder erheblich rechts von UpPos ist.
  • Bei Schritt 334 bewirkt ein Hüpfen nach links, dass TapButton auf das Symbol MITTE gesetzt wird, so dass die Tippgeste ein virtuelles Klicken der mittleren Maustaste bewirkt.
  • Bei Schritt 336 bewirkt ein Hüpfen nach rechts, dass TapButton auf RECHTS gesetzt wird, was ein virtuelles Klicken der rechten Taste auslöst.
  • Schritt 338 läuft ab, wenn kein Hüpfen detektiert wurde. Er rückt vor, um auf die andere unterstützte alternative Geste, das Eckentippen, hin zu prüfen. Ein Eckentippen ist ein Tippen, das auf einer kleinen Eckenzone erfolgt, wie in 16b gezeigt wird. Ein Eckentippen tritt ein, wenn Eckentippen durch den Bediener aktiviert wurde; die X-Koordinate von DownPos (oder CurPos) ist größer als eine Koordinate CornerX; und die Y-Koordinate ist größer als eine Koordinate CornerY. CornerX und CornerY werden in 16b gezeigt.
  • Es sollte für den Durchschnittsfachmann offensichtlich sein, dass andere Tippzonen, wie die der 16a, oder mehrere Eckenzonen auf völlig analoge Weise durch Prüfen der X- und Y-Koordinaten der angetippten Stelle entschlüsselt werden können.
  • In der derzeit bevorzugten Ausführung hat der Bediener die Wahl zwischen Hüpfgesten, Eckentippen oder keinem als Mechanismus für das Simulieren abwechselnden Tastenklickens. Nichts steht dem im Wege, dass eine Implementierung sowohl Hüpfer als auch Eckentippen auf einmal anbietet, außer dass dies für den Bediener wahrscheinlich eher verwirrend als vorteilhaft wäre.
  • Bei Schritt 340 wurde kein Eckentippen detektiert, daher wird TapButton auf LINKS gesetzt, um ein Klicken auf die linke virtuelle Maustaste zu simulieren.
  • Bei Schritt 342 wurde ein Eckentippen detektiert, daher wird TapButton auf RECHTS gesetzt, um ein Klicken auf die rechte virtuelle Maustaste zu simulieren.
  • Schritt 344 hält die aktuelle Position als die neue UpPos fest, die Anhebeposition, die für späteres Entschlüsseln von Hüpfern verwendet wird. Im Allgemeinen wird UpPos jedes Mal, wenn ein Anheben des Fingers vom Feld erkannt wird, aktualisiert. Es gibt aber zwei Ausnahmen zu dieser Regel. Erstens: wenn das Anheben des Fingers selbst Teil einer hüpfenden Tippgeste ist, wird UpPos nicht aktualisiert. Dies ist in dem linken Zweig des Flussdiagramms von 17c ersichtlich. Diese Ausnahme ist nötig, um zum Beispiel ein Doppelklicken der rechten virtuellen Taste zu unterstützen. Der Finger wird angehoben, wesentlich nach rechts bewegt, dann tippt er zweimal. Die beiden Tipper erfolgt in etwa am gleichen Ort. Wenn UpPos durch das erste Tippen aktualisiert würde, würde das zweite Tippen als linker Tastenklick entschlüsselt.
  • Zweitens: in den Flussdiagrammen von 17a bis 17f wird UpPos bei einem Tippen, das ein arretierendes Ziehen beendet, nicht aktualisiert. Bedienertests zeigen, dass die von Bediener wahrgenommene letzte Stelle des Anhebens für gewöhnlich das letzte Anheben während des arretierenden Ziehens ist, wobei das beendende Tippen eine unterbewusste Aktion ist, deren Ort nicht als relevant wahrgenommen wird. Daher macht es mehr Sinn, die Aktualisierung von UpPos für das beendende Tippen eines arretierenden Ziehens zu übergehen.
  • Schritt 346 setzt TapState nach jeder Tipp-, Eckentipp- oder Hüpfgeste auf TIPPEN, wodurch festgehalten wird, dass eine Geste abläuft.
  • Unter Bezug nun auf 17d läuft Schritt 348 ab, wenn sich der Finger von dem Feld so abhebt, dass dies nicht als Tippen gilt. Dieser Schritt prüft, ob TapState TIPPEN ist; wenn ja, muss sich der Finger nach der langen Bewegung einer Ziehgeste, z.B. Zeit „t7" von 15b, nach oben bewegt haben. Abhängig von der Bedienerpräferenz wird die Ziehgeste entweder durch das Anheben des Fingers beendet oder wird arretiert, so dass sie ein arretierendes Ziehen wird.
  • Schritt 350 prüft, ob arretierendes Ziehen vom Bediener aktiviert wurde. Diese Entscheidung kann bei einem System, bei dem Ziehen immer arretierend oder immer nicht arretierend ist, zum Zeitpunkt des Designs erfolgen oder sie kann auf einer Laufzeitoption beruhen, beispielsweise einem Steuerfeld.
  • Bei Schritt 352 wird ein Ziehen in ein arretierendes Ziehen umgewandelt.
  • Bei Schritt 354 wird ein Ziehen durch Anheben des Fingers beendet.
  • Bei Schritt 356, der ausgeführt wird, sobald der Finger angehoben wird und sich nicht als Tippen qualifiziert, wird UpPos auf die aktuelle Position aktualisiert, wie vorstehend beschrieben wurde.
  • Unter Bezug nun auf 17e läuft Schritt 358 ab, sobald der Finger vom Feld angehoben wird. Die Variable UpTime wird aktualisiert, um die Zeit festzuhalten, bei der der Finger vom Feld hochgehoben wird.
  • Schritt 360 wird für jede Abtastung ausgeführt, bei der der Finger dem Feld fern bleibt. Die einzige Verarbeitung ist in diesem Fall das Vergleichen von CurTime minus UpTime mit DragTime, um zu sehen, ob der Finger nach einem Tippen dem Feld zu lange fern blieb, um das Tippen zu einem Ziehen auszuweiten. Wird die Zeitgrenze überschritten und TapState ist gleich TIPPEN, dann geht der Ablauf zu Schritt 362 weiter. (Ansonsten springt der Ablauf zu Schritt 364 weiter, insbesondere wenn TapState gleich ARRETIERT ist. Für die Länge des arretierenden Ziehens gibt es keine Zeitgrenze.)
  • Schritt 362 ändert TapState von TIPPEN zu KEINE, was das Tippen beendet und dadurch verhindert, dass das Tippen zu einem Ziehen ausgeweitet wird.
  • Unter Bezug nun auf 17f laufen alle Strecken bei Schritt 364 zusammen, der unabhängig vom Fingerzustand bei jeder Abtastung ausgeführt wird. Dieser Schritt leitet eine Reihe von Prüfungen zur Ermittlung des Ausgangs der Antippeinheit 280 für diese Abtastung ein. Wenn die Flagge Suppress bei Schritt 364 RICHTIG ist, werden zuerst die virtuellen Tasten unterdrückt, so dass der Ausgang bei Schritt 366 auf KEINE gesetzt wird.
  • Wenn die Flagge Suppress FALSCH ist und keine Tastenunterdrücken vorliegt, wird bei Schritt 368 TapState geprüft. Wenn TapState TIPPEN oder ARRETIERT ist, dann wird die durch TapButton angezeigte Taste bei Schritt 370 ausgegeben.
  • Wenn TapState KEINE ist, keine Tipp-, Zieh- oder Hüpfgeste abläuft, setzt Schritt 372 in diesem Fall den Ausgang auf KEINE.
  • Schritt 374 setzt Suppress auf FALSCH, was anzeigt, dass das Unterdrücken der virtuellen Maustasten für eine Abtastung verwirklicht wurde. Diese Anordnung nimmt an, dass dem Host für jede (X,Y,Z) Abtastung, die von der Recheneinheit eintrifft, Informationen übertragen werden. Ist dies nicht der Fall, sollte Schritt 374 nur ausgeführt werden, sobald ein die unterdrückten virtuellen Tasten enthaltendes Paket tatsächlich dem Host geschickt wird. Es ist auch vernünftig, vor dem Setzen der Flagge Suppress auf FALSCH dem Host mehrere Pakete zu liefern.
  • Die Verarbeitung endet bei Schritt 376 (ENDE). Die Antippeinheit beginnt erneut bei Schritt 300 (START), wenn die nächste (X,Y,Z) Abtastung von der Recheneinheit eintrifft.
  • Das Randweiterbewegungsmerkmal von 13 ist während einer Ziehgeste äußerst hilfreich. Es ist daher bevorzugt, die Eingabe MotionEnable der Bewegungseinheit 18 aus dem Zustand der Gesteneinheit 20 ableiten zu lassen. Insbesondere wird das Signal „MotionEnable" in das UND-Gatter 268 von 13 durch MotionEnable = (TapState = TIPPEN) ODER (TapState = ARRETIERT) erhalten.
  • Die „Zickzack"-Einheit 282 von 14 entschlüsselt eine Zweifingergeste, bei der ein Finger auf dem Feld ruhen bleibt, während ein anderer Finger seitlich des primären Fingers auftippt. Bezüglich der von dem Grundgerät erzeugten (X,Y,Z) Informationen erhöht diese Geste effektiv den Z-Wert, während der X- und/oder Y-Wert schnell um eine erhebliche Strecke verschoben wird. (Wenn zwei Finger auf dem Feld sind, liegt die gemeldete scheinbare Position zwischen den beiden Fingern.) Wird eine solche Änderung detektiert und folgt ihr eine schnelle Rückkehr zu den ursprünglichen X-, Y- und Z-Werten, dann wird ein Tippen eines zweiten Fingers erkannt.
  • Da ein zweites Fingertippen nicht zuverlässig erkannt werden kann, bis der zweite Finger angehoben wird, werden dem Host unvermeidbar plötzliche Cursorbewegungen zuerst zu einer Seite und dann wieder zurück gemeldet. Die Bezeichnung „Zickzack" bezeichnet diese charakteristischen Cursorbewegungen. Ein Bewegungsumkehrmechanismus ähnlich dem in der Antippeinheit 280 verwendeten kann eingesetzt werden, um sicherzustellen, dass das virtuelle Tastenklicken an der ursprünglichen, nicht zickzackförmigen Position eintritt. Die einzige Schwierigkeit in diesem Fall ist, dass die betroffenen Bewegungen so groß sein können, dass das Beschleunigungsmerkmal des Host ausgelöst wird, was bedeutet, dass die Umkehrbewegung entweder gespeichert und Paket für Paket wiederholt werden muss oder die Zickzackeinheit und die Hostsoftware zusammenwirken müssen, um sicherzustellen, dass der Cursor wirklich zu der erwünschten Stelle zurückkehrt.
  • Es ist möglich, das Tippen zweiter Finger mit Hilfe nur der (X,Y,Z) Informationen aus der standardmäßigen Recheneinheit 16 zu erkennen, wie hierin beschrieben wird. Es ist aber klar, dass die Recheneinheit so abgewandelt werden könnte, dass weitere Informationen erzeugt werden, beispielsweise die Breite oder Form des Sensorleiterbahnenprofils, was bei der präzisen Erkennung dieser Geste helfen würde.
  • 18a bis 18c sind ein Flussdiagramm, das den Algorithmus für die Zickzack-Gesteneinheit 282 beschreibt. Wie bei der Antippeinheit 280 wird die Zickzackeinheit am besten als Flussdiagramm beschrieben. Eine Hardware-Zustandsmaschine ist aber ein bekanntes Pendant und wäre auch eine vernünftige Implementierung dieser Einheit. Im Gegensatz zum Flussdiagramm der Antippeinheit 280 der 17a bis 17f wird das Flussdiagramm der Zickzackeinheit einmal pro Bewegung ausgeführt. Wenn das Vorhandensein des Fingers detektiert wird (Z > Zthresh), beginnt der Ablauf bei Schritt 380. Wenn der Finger das Feld vor dem Ende des Ablaufs verlässt, bricht die Zickzackeinheit ihre Berechnung ab und beginnt bei der nächsten Bewegung erneut bei Schritt 380.
  • 18a bis 18c veranschaulichen das weitere Merkmal, dass linksgerichtete Zickzackgesten ein linkes Tastenklicken simulieren, während rechtsgerichtete Zickzackgesten ein rechtes Tastenklicken simulieren.
  • Die Zickzackeinheit 282 erfordert die gleiche Position Z und die gleichen Zeiteingaben wie die Antippeinheit 280. Sie fordert auch ein Geschwindigkeitsmaß S, das als die Strecke von der vorherigen zur aktuellen Fingerposition zu jedem vorgegebenen Zeitpunkt berechnet wird. Wenn bei den normalen (X, Y) Ausgaben der Recheneinheit 16 ein Filtern oder Glätten ausgeführt wird, wie vorstehend offenbart wurde, ist es am Besten, die Geschwindigkeit S aus den ungefilterten (X,Y) Werten zu berechnen.
  • Zustandsvariable der Zickzackeinheit umfassen ZigZ und ZigZ', die die beiden letzten Werte für Z festhalten; ZigPos und ZigPos', die die beiden letzten Positionen festhalten; ZigTime, das die Zeit festhält, bei der das Vorhandensein des zweiten Fingers detektiert wurde; ZigLeft und ZigRight, die RICHTIG sind, wenn eine linksgerichtete bzw. eine rechtsgerichtete Zickzackgeste detektiert wurde; und Out, das die Ausgabe der Zickzackeinheit darstellt und eines von LINKS, RECHTS oder KEINE ist.
  • Die Zickzackeinheit 282 verwendet mehrere Parameter. ZigDistance, die Mindeststrecke, um die sich die Fingerposition bewegen kann, um sich für diese Geste zu qualifizieren. ZigMaxTime ist der maximale Zeitbetrag, den der zweite Finger anwesend sein kann, um sich zu qualifizieren. Szig ist die augenblickliche Fingergeschwindigkeit, die erforderlich ist, um die Detektion der Geste zu beginnen, und abhängig von der Abtastungsrate, den Sensormaßen und dem Betrag analogen Filterns in den Ladungsintegratoren experimentell ermittelt wird. ZigRadius und ZigLimit geben an, wie nahe die Position bzw. die Z-Werte zu ihren ursprünglichen Vor-Zickzackwerten zurückkehren müssen, nachdem der zweite Finger angehoben wurde. ZigRadius ist mit TapRadius vergleichbar, und ZigLimit beträgt etwa 30% von Zthresh in der derzeit bevorzugten Ausführung.
  • Unter Bezug nun auf 18a beginnt der Ablauf, wenn bei Schritt 380 das Vorhandensein des Fingers detektiert wird.
  • Bei Schritt 382 wartet die Zickzackeinheit, bis etwa drei (X,Y,Z) Abtastungen von der Recheneinheit eintreffen. In der bevorzugten Ausführung treffen diese Abtastungen bei einer Geschwindigkeit von 40 pro Sekunde ein. Diese Anfangsverzögerung dient dazu, ein Verwechseln von Z-Fluktuationen zu Beginn der Bewegung mit einem zweiten Finger zu verhindern.
  • Bei Schritt 384 werden ZigZ und ZigZ' auf einen reservierten Wert, der mit KEINE bezeichnet ist, initialisiert.
  • Bei Schritt 386 wartet die Einheit auf das Eintreffen der nächsten (X,Y,Z) Abtastung.
  • Schritt 388 prüft auf das Beginnen eines „Zick", der ersten Hälfte der Zickzackgeste, bei der der scheinbare Finger wächst und zu einer Seite springt. Die Geschwindigkeit S der aktuellen Abtastung wird mit dem Schwellwert Szig verglichen. Ist S größer und enthält ZigZ gültige Daten (nicht den reservierten Wert KEINE), dann geht der Ablauf zur weiteren Validierung der Geste in 18b weiter.
  • Bei Schritt 390 wurde kein anfängliches „Zick" gesehen, daher wird ZigPos' aktualisiert, um die letzte Fingerposition wiederzugeben, und ZigPos wird aktualisiert, um die vorletzte Fingerposition wiederzugeben. Wird am Ausgang der Recheneinheit 16 von 1 und 8 Glätten oder Filtern angewandt, dann sollte im Gegensatz zu der früher beschriebenen S-Berechnung ZigPos aus den gefilterten oder geglätteten Positionsdaten aktualisiert werden. Es sollte mit anderen Worten aus den verarbeiteten Positionsdaten aktualisiert werden, die zum Aktualisieren der Cursorposition am Host verwendet werden.
  • Bei Schritt 392 werden ZigZ' und ZigZ ähnlich aktualisiert, um die zwei letzten Z-Werte wiederzugeben. Bei typischen Gebrauchsmustern tritt ein Tippen des zweiten Fingers für gewöhnlich links oder rechts ein, d.h. bei einem anderen X, aber nicht unbedingt bei einem anderen Y. Daher neigt der X-Nenner (Ausgabe des Subtrahierers 168 von 8) dazu, um einen eindeutigen Faktor von 2 zu steigen, wenn ein zweiter Finger vorhanden ist, während der Y-Nenner (Ausgabe von Subtrahierer 172) abhängig von der Linearität der Ladungsintegratoren 144 entsprechend steigen kann oder auch nicht. Daher ist es bevorzugt, die Ausgabe des X-Nenners direkt als Z für die Zwecke der Zickzackeinheit zu verwenden, statt des kombinierten und verarbeiteten Werts, der normalerweise von dem Block 178 von 8 erhalten wird.
  • Nach Schritt 392 kehrt der Ablauf zu Schritt 386 zurück, wo die nächste Abtastung abgewartet wird.
  • Unter Bezug nun auf 18b hält der Schritt 394 den Zeitpunkt fest, bei dem das anfängliche „Zick" detektiert wurde.
  • Schritt 396 initialisiert dann die Flaggen ZigLeft und ZigRight. Diese Flaggen werden RICHTIG, wenn ein Bewegen des Fingers erheblich weit nach links bzw. rechts von seiner Ausgangsposition gesehen wird.
  • Wenn ein Finger auf das Feld auftrifft, nehmen die (X,Y,Z) Werte typischerweise zwei oder drei Abtastungen, um ihre neuen Werte anzugleichen, welche das Vorhandensein der beiden Finger wiedergeben. Schritt 398 wartet, bis ein oder zwei weitere Abtastungen eintreffen, woraufhin sich die (X,Y,Z) Werte eingepegelt haben sollten. Die Wahl von ein, zwei oder mehr Abtastungen hängt von Faktoren wie der grundlegenden Abtastgeschwindigkeit und dem Filterbetrag ab, der im analogen Eingangsabschnitt des Geräts erfolgt.
  • Nach Schritt 398 gibt CurPos die scheinbare Zick-Fingerposition wieder, und ZigPos gibt die Position von den beiden Abtastungen wieder, bevor die Geschwindigkeit den Schwellwert Szig überschritt. Der Verlauf der zwei Abtastungen ist wichtig, da aufgrund des sich nähernden zweiten Fingers ein kleiner Bewegungsbetrag eingetreten sein kann, bevor der Finger berührte und die große Bewegung erzeugte, die Szig überstieg. Nach Schritt 398 enthält ZigPos die aktuelle Position, die zu einem Zeitpunkt gespeichert wurde, da der zweite Finger wahrscheinlich eine Wirkung gehabt hatte. Analog enthält ZigZ den Z-Wert vor dem Auftreffen des zweiten Fingers.
  • Schritt 400 prüft, um zu sehen, ob Z den ruhenden Z-Wert ZigZ wesentlich überschritten hat. In der derzeit bevorzugten Ausführung wird Z mit einem Schwellwert verglichen, der 30% größer als ZigZ ist. Ist Z zu klein, wird „Zick" disqualifiziert und der Ablauf kehrt zu Schritt 384 zurück.
  • Schritt 402 prüft, um zu sehen, ob die aktuelle Position weit links der Ruheposition ZigPos ist. Da die Zickzackeinheit 282 nach einer abrupten „unnatürlichen" Änderung der Position sucht, ist bevorzugt, dass der Schritt 402 vor dem Filtern oder Glätten, das normalerweise auf Positionsdaten angewendet wird, Positionsdaten direkt von den Dividierern 174 und/oder 176 der Recheneinheit verwendet. Diese Daten werden hierin als RawPos bezeichnet, um sie von dem gefilterten und geglätteten Wert CurPos zu unterscheiden. Der Wert CurPos kann aber bei Bedarf mit nicht ganz optimalen Ergebnissen verwendet werden.
  • Bei dieser Implementierung vergleicht Schritt 402 die X-Koordinate von RawPos mit der X-Koordinate von ZigPos minus ZigDistance. Der Parameter ZigDistance kann beruhend auf dem beobachteten Abstand zwischen zwei Fingern auf dem Feld, wenn ein Finger nach unten gehalten wird und der andere in natürlicher Weise auftippt, experimentell gewählt werden.
  • Wenn ein geeignetes linksgerichtetes „Zick" detektiert wird, setzt Schritt 404 ZigLeft auf RICHTIG.
  • Schritt 406 prüft analog, ob die aktuelle Position weit rechts der Ruheposition ist; wenn ja setzt Schritt 408 ZigRight auf RICHTIG.
  • Schritt 410 wartet dann auf das Eintreffen der nächsten (X,Y,Z) Abtastung.
  • Schritt 412 prüft, ob der zweite Finger vom Feld hochgehoben wurde, indem er Z mit einem zweiten „Zack"-Schwellwert vergleicht, der etwas kleiner als der „Zick"-Schwellwert von Schritt 400 ist. (In dem aktuellen System ist dieser Schwellwert etwa 20% größer als ZigZ.). Der Schwellwert „Zack" wird unter dem Schwellwert „Zick" angesetzt, um eine einfache Hysterese zu ermöglichen.
  • Wurde der zweite Finger noch nicht angehoben, kehrt der Ablauf zu Schritt 402 zurück und wartet weiter. Wurde der zweite Finger angehoben, geht der Ablauf zu Schritt 414 in 18c.
  • Unter Bezug nun auf 18c wartet Schritt 414 ein oder zwei Abtastungen lang, dass sich die (X,Y,Z) Daten stabilisieren, wenn sich der zweite Finger hebt; dieser Schritt ist analog zu Schritt 398.
  • Schritt 436 nimmt eine letzte Prüfung auf eine vollständige Zickzackgeste hin vor. Bis jetzt wurde eine plötzliche Bewegung begleitet von einer Zunahme von Z gesehen, gefolgt von einer plötzlichen Abnahme von Z. Schritt 416 prüft zusätzlich, dass die Position zu ihrem Vorzickzackwert zurückgekehrt ist (die Strecke von RawPos zu ZigPos ist kleiner als ZigRadius); der Z-Wert ist analog auf den Normalwert zurückgekehrt (der absolute Wert von Z minus ZigZ ist kleiner als ZigLimit); und entweder ZigLeft oder ZigRight, aber nicht beide, ist RICHTIG. Ferner muss das Tippen des zweiten Fingers von kurzer Dauer sein, d.h. CurTime minus ZigTime ist kleiner als ZigMaxTime.
  • Wenn sich eine Bewegung nicht als Zickzack qualifiziert, kehrt der Ablauf zu Schritt 384 zurück, um auf die Detektion einer Zickzackgeste zu warten. Hat sich die Bewegung als Zickzack qualifiziert, sieht Schritt 418 eine Rückwärtsbewegung vor, um den Cursor bei Bedarf auf die exakte Position zurückzuführen, die ZigPos entspricht. Dieser Schritt ist analog zu Schritt 322 von 17b.
  • Bei Schritt 420 wird vollständiger Zickzack detektiert. Wenn ZigLeft RICHTIG ist, ist die Bewegung ein linksgerichteter Zickzack. Ansonsten muss ZigRight RICHTIG sein und die Bewegung ist ein rechtsgerichteter Zickzack. Dementsprechend simuliert Schritt 442 entweder ein Drücken der linken Taste für einen linksgerichteten Zickzack oder Schritt 424 simuliert ein Drücken der rechten Taste für einen rechtsgerichteten Zickzack.
  • Schritt 426 pausiert eine bestimmte Zeitdauer. Zum Beispiel könnte dieser Schritt das Eintreffen von ein oder mehreren weiteren Abtastungen abwarten oder könnte das Senden von ein oder mehreren Paketen an den Host abwarten. (Normalerweise besteht eine 1:1-Entsprechung zwischen Abtastungen und Datenpakten.)
  • Schließlich beendet Schritt 428 das simulierte Tastendrücken, indem er Out auf KEINE setzt. In diesem Beispiel bewirkt die Zickzackgeste nur das Simulieren von Klicken, nicht von Ziehen. Das Zickzack geht nicht sauber in ein Ziehen über, wie das normale Tippen mit einem Finger, da dies implizieren würde, dass die gesamte Ziehbewegung mit zwei unbequem auf dem Feld gehaltenen Fingern eintritt. Eine Alternative ist das Simulieren einer arretierenden Taste, wie es häufig bei Trackball-Tasten auf dem Gebiet getan wird, bei denen konsekutive Zickzackbewegungen abwechselnd die virtuelle Taste drücken und freigeben. Eine andere Alternative besteht darin, die Zickzackgeste die virtuelle Taste drücken zu lassen und die virtuelle Taste nur freizugeben, wenn auch der primäre Finger von dem Feld entfernt wird.
  • Nach Schritt 428 kehrt der Ablauf zu Schritt 384 zurück, um die Detektion weiterer Zickzackgesten abzuwarten.
  • Eine weitere Geste, die bei spezialisierten Anwendungen nützlich ist, ist eine „Schiebe"-Geste, die einfach die Z-Informationen (Druck) mit einem zweiten Z-Schwellwert ZpushDown vergleicht, der erheblich höher als der grundlegende Fingerdetektionsschwellwert ist, und eine Maustastenaktion simuliert, sobald Z diesen Schwellwert übersteigt. Diese „Schiebe"-Geste ähnelt der Art und Weise, wie Zeigegeräte auf der Basis von Stiften normalerweise arbeiten; sie ist aber zu ungenau und für den Finger zu ermüdend, um als primäre Klick- oder Ziehgeste verwendet zu werden. Die „Schiebe"-Geste ist unter speziellen Umständen wie Programme für freihändiges Zeichnen äußerst brauchbar.
  • 19 ist ein Zeitverlaufsdiagramm, das eine „Schiebe"-Geste veranschaulicht. Um diese Geste auszuführen, wird der Finger zuerst nahe genug gebracht, um eine Cursorbewegung zu verursachen, ohne ein Drücken einer virtuellen Taste auszulösen. Als Nächstes nimmt der Fingerdruck über den Schwellwert ZpushDown hinaus zu, was das Drücken der virtuellen Taste verursacht. Später fällt der Druck unter einen Schwellwert ZpushUp, was die Freigabe der virtuellen Taste verursacht. Ist ZpushUp etwas niedriger als ZpushDown, verhindert die sich ergebende Hysterese eine unerwünschte Oszillation an der virtuellen Taste, wenn der Fingerdruck um den „Schiebe"-Schwellwert herum leicht schwankt.
  • In einer Variante, die bevorzugt sein kann, wird ZpushUp gleich Zthresh gesetzt, so dass nach Beginn eines Schiebens der Finger vollständig vom Feld gehoben werden muss, um die simulierte Taste freizugeben. Andere Bediener bevorzugen unter Umständen, dass ZpushUp viel näher bei ZpushDown liegt als bei Zthresh, was zu mehr Feinfühligkeit führt.
  • Die Schiebeeinheit 284 von 14 erkennt die Schiebegeste. 20 ist ein Flussdiagramm, das die Implementierung dieser Geste veranschaulicht. Das entsprechende Diagramm für eine gleichwertige Hardware-Schaltung zum Erkennen dieser Geste wäre recht unkompliziert.
  • Der Ablauf beginnt bei Schritt 440, immer wenn eine neue (X,Y,Z) Abtastung von der Recheneinheit 16 eintrifft. Zu beachten ist, dass die Schiebeeinheit nur den Z-Wert jeder Abtastung prüft.
  • Schritt 442 prüft, ob bereits eine „Schiebe"-Geste abläuft oder nicht.
  • Schritt 444 wird ausgeführt, wenn keine „Schiebe"-Geste abläuft. Dieser Schritt prüft, ob eine „Schiebe"-Geste beginnen sollte. Zuerst müssen „Schiebe"-Gesten vom Bediener aktiviert werden. Zum anderen muss der aktuelle Z-Wert größer als der Schwellwert ZpushDown sein.
  • Wenn Z groß genug ist, um eine Schiebegeste zu beginnen, setzt Schritt 446 Out auf LINKS, um anzuzeigen, dass jetzt die linke Taste gedrückt wird.
  • Schritt 448 prüft, ob die aktuelle Schiebegeste enden sollte. Diese Prüfung beinhaltet einfach das Vergleichen von Z mit ZpushUp. Wenn Z kleiner als ZpushUp ist, wird die Schiebegeste bei Schritt 450 beendet.
  • Der Ablauf endet bei Schritt 452. Wenn weder Schritt 446 noch Schritt 450 ausgeführt wurde, dann bleibt Out gleich, wodurch die oben erwähnte Hysterese vorgesehen wird. Die Zustandsvariable Out sollte zum Zeitpunkt des Einschaltens auf KEINE initialisiert werden.
  • Der Durchschnittsfachmann wird feststellen, dass die Antippeinheit 280 für die Verwendung mit einem beliebigen Touchpad geeignet ist, das (X,Y) Informationen und Fingeranwesenheitsinformationen liefert, und dass die die Schiebeeinheit 284 für die Verwendung mit einem beliebigen Touchpad geeignet ist, das Z-Informationen (Druck) erzeugt. Nur die Zickzackeinheit hängt von den speziellen Eigenschaften der hierin offenbarten bestimmten Touchpad-Technologie ab, nämlich der Tatsache, dass zwei Finger zuverlässig eine gemittelte Fingerposition melden.
  • Es können zwei weitere Algorithmen, die nicht direkt Teil der Gestenverarbeitung sind, eingesetzt werden, um kleinere Probleme zu lösen, die sich bei Tippen des Bedieners auf das Feld ergeben. Im Einzelnen schert die Fingerposition manchmal scharf in eine Richtung, gerade wenn der Finger angehoben wird. Das ist auf natürliches Rutschen des Fingers während dieser Aktion zurückzuführen und wird verschlimmert, wenn der Finger bei einem flachen Winkel gehalten wird. Ein „Umkehrbewegungs"-Algorithmus kann dieses Problem zum Teil lösen, wenn aber die scheinbare Fingerposition so weit springt, dass der TapRadius Test scheitert, kann die Umkehrbewegung nicht helfen.
  • Wenn ein schnelles Ändern von Z zwischen den aktuellen und den vorherigen Abtastungen gesehen wird (d.h. wenn die absolute Differenz zwischen den aktuellen und den vorherigen Z-Werten unter einem empirisch ermittelten Schwellwert liegt), dann kann die Zeitkonstante der (X,Y) Filterung der Ausgabe der Recheneinheit angehoben werden. Normalerweise werden der alte Filterwert und der neue Quotient mit in etwa gleicher Gewichtung gemittelt, um den neuen Filterwert zu erzeugen. Ändert sich Z schnell, wird der alte Filterwert stattdessen erheblich stärker (z.B. um eine Größenordnung) gewichtet als der neue Quotient. Das Ergebnis ist, dass eine während dieses Moments einer hohen Z-Änderung eintretende Bewegung stark gedämpft wird.
  • Häufig erfolgt die unerwünschte Bewegung, die sich aus einem Fingerheben ergibt, in der allerletzten Abtastung, bevor Z unter den Finger-Unten-Schwellwert Zthres sinkt. Eine weitere Lösung des Problems der unerwünschten Fingerhebebewegung ist der „Anhebesprungunterdrückungs"-Mechanismus, der versucht, dieses letzte Ereignis der unerwünschten Bewegung zu unterdrücken. 21 zeigt eine veranschaulichende Schaltung für das Ausführen der Funktion Anhebesprungunterdrückung.
  • Die in 21 gezeigte Schaltung führt die Anhebesprungunterdrückung aus. Sie prüft die Folge von (X,Y) Positionsabtastungen, die von den Dividierern 174 und 176 von 8 eintreffen, um eine Geschwindigkeit S zu erzeugen, die weiter bearbeitet wird, um ein Bewegungsunterdrückungssignal zu erhalten. Wie zuvor beschrieben, ist es am Besten, bei der Berechnung der Geschwindigkeit S die Quotientenwerte direkt vor einer Glättungs- oder Filterungsphase zu verwenden.
  • Unter Bezug auf 21 werden die X-Koordinaten in der Verzögerung 460 gespeichert. Der Subtrahierer 462 berechnet den absoluten Wert der Differenz zwischen dem aktuellen X-Wert und dem vorherigen Wert, der in der Verzögerung 460 gespeichert ist. Analog berechnen die Verzögerung 464 und der Subtrahierer 466 die absolute Änderung von Y. Der Addierer 468 bildet die Summe dieser absoluten Differenzen, um die Geschwindigkeit S, die Strecke zwischen den aktuellen und vorherigen Abtastungen, zu erzeugen. Wie vorstehend beschrieben ist klar, dass andere Distanzmaßnahmen für diese Berechnung herangezogen werden können. Zu beachten ist, dass neben der Schaltung von 21 die Zickzackeinheit 282 auch den Geschwindigkeitswert S heranzieht, wie vorstehend beschrieben wurde.
  • Verzögerungseinheiten 470 und 472 halten die letzten und vorletzten Werte von S, die jeweils als S' bzw. S'' bekannt sind, fest. Der Dividierer 474 berechnet die Größe halb S, die als S/2 bezeichnet wird. Die Anhebesprungunterdrückungseinheit sucht in dem Versuch, unerwünschte Anhebesprungereignisse zu erkennen, nach einer charakteristischen Beziehung zwischen den Werten S, S', S'' und S/2. Ein Fachmann wird erkennen, dass S" nicht vor der vierten Abtastung einer vorgegebenen Fingerbewegung gültig ist; dadurch ist die Anhebesprungunterdrückungseinheit die ersten drei Abtastungen jeder Bewegung deaktiviert. Die Anhebesprungunterdrückungseinheit verwendet auch einen Parameter LiftJump, einen Geschwindigkeitsschwellwert, der experimentell ermittelt wird und durch die Abtastungsgeschwindigkeit und die Empfindlichkeit des Sensorfelds beeinträchtigt wird.
  • Der Komparator 476 prüft, ob die Geschwindigkeit S größer als der Schwellwert LiftJump ist. Der Komparator 478 prüft, um zu sehen, ob die vorherige Geschwindigkeit S' kleiner als LiftJump ist, und der Komparator 480 prüft, ob S' kleiner als S/2 ist. Analog prüft der Komparator 482, um zu sehen, ob die vorletzte Geschwindigkeit S" kleiner als LiftJump ist, und der Komparator 484 prüft, ob S'' kleiner als S/2 ist. Wenn alle fünf Bedingungen erfüllt sind, gibt das UND-Gatter 486 ein „Bewegungsunterdrückungs"-Signal aus, das das Arbeiten der Bewegungseinheit 18 für diese Abtastung unterdrückt. Wenn die Bewegungseinheit 18 unterdrückt wird, wird ihre Ausgabe (ΔX,ΔY) für die aktuelle Abtastung nicht erzeugt und ihre Verzögerungseinheit 260 wird nicht getaktet.
  • Das von der Anhebesprungunterdrückungseinheit detektierte Profil tritt meist während einer letzten unerwünschten Bewegungsabtastung vor dem Anheben des Fingers ein. Da Z bei der allernächsten Abtastung unter Zthresh fällt, wird die aktuelle Abtastung nie zu Bewegungsereignissen beitragen, die dem Host übermittelt werden. Der Algorithmus unterdrückt ausgestaltungsbedingt garantiert nicht mehr als eine Abtastung in einer Reihe. Wenn daher der Algorithmus „falsch rät" und Z nicht unter Zthresh fällt, wird die übersprungene Fingerbewegung mit einem nur winzigen Zögern bei der wahrgenommenen Cursorbewegung in das (ΔX,ΔY) Paket aufgenommen, das durch die nächste Abtastung erzeugt wird.
  • Die erhöhte Empfindlichkeit des Berührungssensorsystems lässt auch eine leichtere Eingabefingerberührung zu, was es einfach für den menschlichen Gebrauch macht. Eine größere Empfindlichkeit macht es auch einfacher, andere Eingabeobjekte zu verwenden, wie Eingabestifte, etc. Ferner lässt diese Empfindlichkeit im Gegenzug eine dickere Schutzschicht oder andere Materialien zu, welche beide niedrigere Herstellungskosten ermöglichen können.
  • Eine stärkere Störunterdrückung gestattet eine größere Flexibilität im Gebrauch und eine verminderte Empfindlichkeit gegenüber Problemen mit Störrauschen. Es werden zwei Techniken eingesetzt, die eine Herleitung des größtmöglichen Rauschunterdrückungsvorteils ermöglichen.
  • Aufgrund der verwendeten Ansteuer- und Erfassungstechniken ist die Datenerfassungsgeschwindigkeit um etwa einen Faktor 30 gegenüber dem Stand der Technik gestiegen. Dies bietet mehrere offensichtliche begleitende Wirkungen. Zum einen kann bei gleichem Umfang an Signalverarbeitung die Schaltung die meiste Zeit abgeschaltet werden und der Stromverbrauch in dem analogen Teil der Konstruktion um etwa einen Faktor 30 gesenkt werden. Da mehr Daten verfügbar sind, kann zum anderen mehr Signalverarbeitung wie Filtern und Gestenerkennung durchgeführt werden.
  • Die verwendete Sensorelektronik ist sehr robust und kalibriert Prozess- und systematische Fehler heraus. Sie verarbeitet die kapazitiven Informationen von dem Sensor und liefert einem externen Gerät, beispielsweise einem Mikroprozessor, digitale Informationen.
  • Aufgrund der einzigartigen physikalischen Eigenschaften gibt es einige ergonomisch interessante Anwendungen, die zuvor nicht möglich waren. Derzeit ist die Verwendung einer Maus oder eines Trackballs auf tragbaren Computern physikalisch nicht praktisch. Es wird eine sehr praktische und einfach zu bedienende Cursorpositionslösung an die Hand gegeben, die diese Geräte ersetzt.
  • Bei mausartigen Anwendungen kann der erfindungsgemäße Sensor an einer praktischen Position angeordnet werden, z.B. unter der „Leertaste" eines tragbaren Computers. Bei Anordnung an dieser Position kann der Daumen des Bedieners als Positionszeiger auf dem Sensor verwendet werden, um die Cursorposition auf dem Computerbildschirm zu steuern. Der Cursor kann dann bewegt werden, ohne dass die Finger des Bedieners die Tastatur verlassen müssen. Ergonomisch ähnelt dies dem Konzept des MacIntosh Power Book mit seinem Trackball, es wird aber ein erheblicher Größenvorteil gegenüber dem Trackball geboten. Erweiterungen dieser Grundidee sind dahingehend möglich, dass für eine noch bessere Steuerung von Merkmalen zwei Sensoren unterhalb der „Leertaste" angeordnet werden könnten.
  • Die Computeranzeige mit ihrer Cursorrückmeldung ist ein kleines Beispiel für einen sehr allgemeinen Anwendungsbereich, bei dem eine Anzeige ein Feld von Leuchtdioden oder LEDs, eine LCD-Anzeige oder eine Kathodenstrahlröhre sein könnte. Beispiele umfassen Berührungssteuerungen an Laborgeräten, bei denen bisherige Geräte eine Kombination aus Knopf/Taste/berührungsempfindlichem Bildschirm verwenden. Aufgrund der Angliederungsfähigkeit dieser Schnittstelle könnten eine oder mehrere der Eingänge zu einem der beschriebenen Eingänge kombiniert werden.
  • Unterhaltungselektronikgerät-Anwendungen (Stereos, Terzfilter, Mischgeräte) nutzen häufig die Oberfläche der Vorderseite für Gleitpotentiometer, da eine variable Steuerung erforderlich ist. Eine solche Steuerung kann an einer kleinen Touchpad-Position vorgesehen werden. Da elektronische Heimsysteme verbreiteter werden, ist eine dichtere und leistungsstärkere Schnittstelle zum Menschen erforderlich. Die beschriebene Sensortechnologie erlaubt ein sehr dichtes Steuerfeld. Handgehaltene TV/Video/Stereo-Bedienungen könnten ergonomisch geformt werden und leistungsstärkere Merkmale ermöglichen, wenn diese Sensortechnologie verwendet wird.
  • Der Sensor kann jeder Oberfläche angepasst werden und kann so ausgelegt werden, dass er mehrere Berührungspunkte detektiert, was einen leistungsstärkeren Joystick möglich macht. Die einzigartige Druckdetektionsfähigkeit der Sensortechnologie ist auch für diese Anwendung ausschlaggebend. Computerspiele, „Fern"-Bedienungen (Hobby-Elektronik, Flugzeuge) und Werkzeugmaschinensteuerungen sind ein paar Beispiele für Anwendungen, die von der Sensortechnologie profitieren würden.
  • Tasteninstrumente (Synthesizer, elektrische Klaviere) erfordern auf Geschwindigkeit ansprechende Tasten, die durch die Druckerfassungsfähigkeit dieses Sensors vorgesehen werden können. Es gibt auch Tonhöhe beugende Steuerungen und andere Gleitschalter, die durch diese Technologie ersetzt werden könnten. Eine noch einzigartigere Anwendung umfasst ein Musikinstrument, das Noten als Funktion der Position und des Drucks der Hände und Finger in einer sehr ausdrucksfähigen 3D-Schnittstelle erzeugt.
  • Die Sensortechnologie kann am besten jedes gegen sie pressende leitende Material detektieren. Durch Hinzufügen einer komprimierbaren Isolierschicht, die von einer Schicht leitenden Materials bedeckt ist, oben auf dem Sensor kann der erfindungsgemäße Sensor auch indirekt Druck von einem bedienten Objekt unabhängig von dessen elektrischer Leitfähigkeit detektieren.
  • Aufgrund der von diesem Sensor verfügbaren Informationsmenge eignet er sich sehr gut als Eingabegerät für virtuelle Realität erzeugende Maschinen. Es ist leicht, sich eine Konstruktion vorzustellen, die eine Positionsüberwachung in drei Dimensionen und ein gewisses Maß an Reaktion (Druck) auf die Aktionen zulässt.

Claims (4)

  1. Verfahren für das Kompensieren einer unbeabsichtigten seitlichen Bewegung bei Antippen eines Berührungssensorfelds in einem Berührung erfassenden System, welches einem Host X- und Y-Positionsangaben liefert, wobei es die folgenden Schritte umfasst: Detektieren (320) des Eintretens eines von einem leitenden antippenden Objekt vorgenommenen Antippens des Berührungssensorfelds; und bei Detektieren des Eintretens eines Antippens Senden eines Signals an den Host, welches das Eintreten des Antippens anzeigt; wobei das Verfahren durch folgendes gekennzeichnet ist: Senden von X- und Y-Positionsangaben an den Host, welche eine seitliche Bewegung des antippenden Objekts an dem Berührungssensorfeld während des Antippens darstellen; und bei Detektieren des Eintretens eines Antippens Senden (322) von weiteren X- und Y-Positionsangaben an den Host, welche eine Bewegung entgegengesetzt zur seitlichen Bewegung des antippenden Objekts an dem Berührungssensorfeld während des Antippens darstellen.
  2. Verfahren nach Anspruch 1, welches weiterhin den Schritt des Detektierens (338), in welchem von mehreren vorbestimmten Bereichen das Antippen eingetreten ist, umfasst.
  3. Verfahren nach Anspruch 1, welches weiterhin folgende Schritte umfasst: Vergleichen der Zeitdauer, die das leitende Objekt auf dem Berührungsfeld verweilt, mit einer Bezugszeitdauer; und Vergleichen des Betrags der von dem leitenden Objekt ausgeführten Bewegung, während es auf dem Berührungsfeld verweilt, mit einem Bezugsbewegungsbetrag; und wobei ermittelt wird, dass ein Antippen eingetreten ist, wenn die Zeitdauer des Verweilens des leitenden Objekts auf dem Berührungsfeld unter der Bezugszeitdauer liegt und wenn der Betrag der von dem leitenden Objekt ausgeführten Bewegung während dessen Verweilen auf dem Berührungsfeld unter dem Bezugsbewegungsbetrag liegt, wobei das Signal eine vorbestimmte Zeitdauer aufrecht erhalten wird.
  4. Verfahren nach Anspruch 3, welches weiterhin die folgenden Schritte umfasst Detektieren (338), in welchem von mehreren vorbestimmten Bereichen das Antippen eingetreten ist; und Senden eines zweiten Signals an den Host, welches anzeigt, in welchem der vorbestimmten Bereiche auf dem Sensorfeld das Antippen eingetreten ist.
DE69534404T 1994-10-07 1995-10-06 Verfahren zum kompensieren von unbeabsichtigten Bewegungen bei einer Antipgeste auf einer Berührungssensorfläche Expired - Lifetime DE69534404T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/320,158 US5543591A (en) 1992-06-08 1994-10-07 Object position detector with edge motion feature and gesture recognition
US320158 1994-10-07
PCT/US1995/013306 WO1996011435A1 (en) 1994-10-07 1995-10-06 Object position detector with edge motion feature and gesture recognition

Publications (2)

Publication Number Publication Date
DE69534404D1 DE69534404D1 (de) 2005-09-29
DE69534404T2 true DE69534404T2 (de) 2006-03-16

Family

ID=23245135

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69534404T Expired - Lifetime DE69534404T2 (de) 1994-10-07 1995-10-06 Verfahren zum kompensieren von unbeabsichtigten Bewegungen bei einer Antipgeste auf einer Berührungssensorfläche

Country Status (5)

Country Link
US (1) US5543591A (de)
EP (4) EP1659480A3 (de)
AU (1) AU4001995A (de)
DE (1) DE69534404T2 (de)
WO (1) WO1996011435A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102010014462A1 (de) * 2010-04-09 2011-10-13 Ecomal Deutschland Gmbh Steuereinrichtung zum Ansteuern eines elektrischen Verbrauchers und Verfahren zum Betrieb einer solchen Steuereinrichtung

Families Citing this family (452)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8352400B2 (en) 1991-12-23 2013-01-08 Hoffberg Steven M Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore
US6222525B1 (en) 1992-03-05 2001-04-24 Brad A. Armstrong Image controllers with sheet connected sensors
US5880411A (en) * 1992-06-08 1999-03-09 Synaptics, Incorporated Object position detector with edge motion feature and gesture recognition
GB9422911D0 (en) * 1994-11-14 1995-01-04 Moonstone Technology Ltd Capacitive touch detectors
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
JP3280559B2 (ja) * 1996-02-20 2002-05-13 シャープ株式会社 ジョグダイアルの模擬入力装置
US5933134A (en) * 1996-06-25 1999-08-03 International Business Machines Corporation Touch screen virtual pointing device which goes into a translucent hibernation state when not in use
US8674932B2 (en) 1996-07-05 2014-03-18 Anascape, Ltd. Image controller
US5723934A (en) * 1996-08-09 1998-03-03 Toda; Kohji Surface acoustic wave position-sensing device
US6208329B1 (en) 1996-08-13 2001-03-27 Lsi Logic Corporation Supplemental mouse button emulation system, method and apparatus for a coordinate based data input device
US5995084A (en) * 1997-01-17 1999-11-30 Tritech Microelectronics, Ltd. Touchpad pen-input and mouse controller
US6057830A (en) * 1997-01-17 2000-05-02 Tritech Microelectronics International Ltd. Touchpad mouse controller
US5889511A (en) * 1997-01-17 1999-03-30 Tritech Microelectronics International, Ltd. Method and system for noise reduction for digitizing devices
US6096984A (en) * 1997-01-21 2000-08-01 Dell Usa, L.P. Adjustable touchpad
AU6155498A (en) * 1997-02-10 1998-09-09 Logitech, Inc. Touch pad with scroll bar, command bar
US5880717A (en) * 1997-03-14 1999-03-09 Tritech Microelectronics International, Ltd. Automatic cursor motion control for a touchpad mouse
US6627414B2 (en) 1997-03-31 2003-09-30 Abbott Laboratories Reagents useful for detecting diseases of the gastrointestinal tract
US6252579B1 (en) * 1997-08-23 2001-06-26 Immersion Corporation Interface device and method for providing enhanced cursor control with force feedback
GB9722766D0 (en) 1997-10-28 1997-12-24 British Telecomm Portable computers
US6392636B1 (en) 1998-01-22 2002-05-21 Stmicroelectronics, Inc. Touchpad providing screen cursor/pointer movement control
US9292111B2 (en) 1998-01-26 2016-03-22 Apple Inc. Gesturing with a multipoint sensing device
US8479122B2 (en) 2004-07-30 2013-07-02 Apple Inc. Gestures for touch sensitive input devices
EP2256607A3 (de) 1998-01-26 2011-12-14 Apple Inc. Verfahren und Vorrichtung zur Integration einer manuellen Eingabe
US7808479B1 (en) 2003-09-02 2010-10-05 Apple Inc. Ambidextrous mouse
US7663607B2 (en) 2004-05-06 2010-02-16 Apple Inc. Multipoint touchscreen
US9239673B2 (en) 1998-01-26 2016-01-19 Apple Inc. Gesturing with a multipoint sensing device
US7844914B2 (en) 2004-07-30 2010-11-30 Apple Inc. Activating virtual keys of a touch-screen virtual keyboard
US7614008B2 (en) 2004-07-30 2009-11-03 Apple Inc. Operation of a computer with touch screen interface
EP1717682B1 (de) 1998-01-26 2017-08-16 Apple Inc. Verfahren und Vorrichtung zur Integration von manuellen Eingaben
US6610917B2 (en) 1998-05-15 2003-08-26 Lester F. Ludwig Activity indication, external source, and processing loop provisions for driven vibrating-element environments
DE59901485D1 (de) 1998-08-10 2002-06-27 Deutsch Zentr Luft & Raumfahrt Anordnung zum Auslösen von technischen Steueroperationen und/oder zum Auslösen der Ausführung von technischen Funktionen
US6292173B1 (en) * 1998-09-11 2001-09-18 Stmicroelectronics S.R.L. Touchpad computer input system and method
US6346935B1 (en) * 1998-09-14 2002-02-12 Matsushita Electric Industrial Co., Ltd. Touch-sensitive tablet
US7265494B2 (en) 1998-10-09 2007-09-04 Azoteq Pty Ltd. Intelligent user interface with touch sensor technology
US6256022B1 (en) 1998-11-06 2001-07-03 Stmicroelectronics S.R.L. Low-cost semiconductor user input device
US7469381B2 (en) 2007-01-07 2008-12-23 Apple Inc. List scrolling and document translation, scaling, and rotation on a touch-screen display
WO2000044018A1 (en) 1999-01-26 2000-07-27 Harald Philipp Capacitive sensor and array
US7904187B2 (en) 1999-02-01 2011-03-08 Hoffberg Steven M Internet appliance system and method
US7293231B1 (en) * 1999-03-18 2007-11-06 British Columbia Ltd. Data entry for personal computing devices
US6730863B1 (en) * 1999-06-22 2004-05-04 Cirque Corporation Touchpad having increased noise rejection, decreased moisture sensitivity, and improved tracking
US6839052B1 (en) * 2000-01-19 2005-01-04 Stmicroelectronics, Inc. Two dimensional solid state capacitive sensor array
US8103496B1 (en) 2000-10-26 2012-01-24 Cypress Semicondutor Corporation Breakpoint control in an in-circuit emulation system
US8176296B2 (en) 2000-10-26 2012-05-08 Cypress Semiconductor Corporation Programmable microcontroller architecture
US8160864B1 (en) 2000-10-26 2012-04-17 Cypress Semiconductor Corporation In-circuit emulator and pod synchronized boot
US7765095B1 (en) 2000-10-26 2010-07-27 Cypress Semiconductor Corporation Conditional branching in an in-circuit emulation system
US6724220B1 (en) 2000-10-26 2004-04-20 Cyress Semiconductor Corporation Programmable microcontroller architecture (mixed analog/digital)
US8149048B1 (en) 2000-10-26 2012-04-03 Cypress Semiconductor Corporation Apparatus and method for programmable power management in a programmable analog circuit block
US6897853B2 (en) * 2000-11-10 2005-05-24 Microsoft Corp. Highlevel active pen matrix
US7002559B2 (en) * 2000-11-13 2006-02-21 Anoto Ab Method, system and product for information management
US20020084986A1 (en) * 2001-01-04 2002-07-04 Armstrong Brad A. Computer mouse with specialized button(s)
US8458754B2 (en) * 2001-01-22 2013-06-04 Sony Computer Entertainment Inc. Method and system for providing instant start multimedia content
US6677932B1 (en) 2001-01-28 2004-01-13 Finger Works, Inc. System and method for recognizing touch typing under limited tactile feedback conditions
US7030861B1 (en) 2001-02-10 2006-04-18 Wayne Carl Westerman System and method for packing multi-touch gestures onto a hand
KR100725093B1 (ko) * 2001-03-15 2007-06-04 삼성전자주식회사 노아 타입 플랫 셀을 가지는 반도체 메모리 장치 및 그의구동방법
US7730401B2 (en) * 2001-05-16 2010-06-01 Synaptics Incorporated Touch screen with user interface enhancement
US20050024341A1 (en) * 2001-05-16 2005-02-03 Synaptics, Inc. Touch screen with user interface enhancement
US7312785B2 (en) 2001-10-22 2007-12-25 Apple Inc. Method and apparatus for accelerated scrolling
US7406674B1 (en) 2001-10-24 2008-07-29 Cypress Semiconductor Corporation Method and apparatus for generating microcontroller configuration information
US8301108B2 (en) 2002-11-04 2012-10-30 Naboulsi Mouhamad A Safety control system for vehicles
US8078970B1 (en) 2001-11-09 2011-12-13 Cypress Semiconductor Corporation Graphical user interface with user-selectable list-box
US8042093B1 (en) 2001-11-15 2011-10-18 Cypress Semiconductor Corporation System providing automatic source code generation for personalization and parameterization of user modules
US7770113B1 (en) 2001-11-19 2010-08-03 Cypress Semiconductor Corporation System and method for dynamically generating a configuration datasheet
US7844437B1 (en) 2001-11-19 2010-11-30 Cypress Semiconductor Corporation System and method for performing next placements and pruning of disallowed placements for programming an integrated circuit
US7774190B1 (en) 2001-11-19 2010-08-10 Cypress Semiconductor Corporation Sleep and stall in an in-circuit emulation system
US6971004B1 (en) 2001-11-19 2005-11-29 Cypress Semiconductor Corp. System and method of dynamically reconfiguring a programmable integrated circuit
US8069405B1 (en) 2001-11-19 2011-11-29 Cypress Semiconductor Corporation User interface for efficiently browsing an electronic document using data-driven tabs
US7333092B2 (en) 2002-02-25 2008-02-19 Apple Computer, Inc. Touch pad for handheld device
US7487444B2 (en) 2002-03-19 2009-02-03 Aol Llc Reformatting columns of content for display
US20030214938A1 (en) * 2002-03-21 2003-11-20 Jindal Deepak Kumar Method for routing of label switched paths (LSPS) through an internet supporting multi-protocol label switching (MPLS) technology
US8103497B1 (en) 2002-03-28 2012-01-24 Cypress Semiconductor Corporation External interface for event architecture
US7038659B2 (en) * 2002-04-06 2006-05-02 Janusz Wiktor Rajkowski Symbol encoding apparatus and method
US7466307B2 (en) * 2002-04-11 2008-12-16 Synaptics Incorporated Closed-loop sensor on a solid-state object position detector
US7308608B1 (en) 2002-05-01 2007-12-11 Cypress Semiconductor Corporation Reconfigurable testing system and method
US7746325B2 (en) * 2002-05-06 2010-06-29 3M Innovative Properties Company Method for improving positioned accuracy for a determined touch input
US7532202B2 (en) * 2002-05-08 2009-05-12 3M Innovative Properties Company Baselining techniques in force-based touch panel systems
US7158122B2 (en) * 2002-05-17 2007-01-02 3M Innovative Properties Company Calibration of force based touch panel systems
US7176897B2 (en) 2002-05-17 2007-02-13 3M Innovative Properties Company Correction of memory effect errors in force-based touch panel systems
US11275405B2 (en) 2005-03-04 2022-03-15 Apple Inc. Multi-functional hand-held device
US7656393B2 (en) 2005-03-04 2010-02-02 Apple Inc. Electronic device having display and surrounding touch sensitive bezel for user interface and control
US7761845B1 (en) 2002-09-09 2010-07-20 Cypress Semiconductor Corporation Method for parameterizing a user module
US7685538B2 (en) * 2003-01-31 2010-03-23 Wacom Co., Ltd. Method of triggering functions in a computer application using a digitizer having a stylus and a digitizer system
US8217896B2 (en) * 2003-07-31 2012-07-10 Kye Systems Corporation Computer input device for automatically scrolling
US7499040B2 (en) 2003-08-18 2009-03-03 Apple Inc. Movable touch pad with added functionality
US20070152977A1 (en) 2005-12-30 2007-07-05 Apple Computer, Inc. Illuminated touchpad
NZ529518A (en) 2003-11-13 2005-03-24 Andy Zheng Song Input method, system and device
US7495659B2 (en) 2003-11-25 2009-02-24 Apple Inc. Touch pad for handheld device
US8059099B2 (en) 2006-06-02 2011-11-15 Apple Inc. Techniques for interactive input to portable electronic devices
CN1308796C (zh) * 2003-12-04 2007-04-04 陞达科技股份有限公司 辨识双击手势的方法及控制器
WO2005055028A2 (de) * 2003-12-05 2005-06-16 Rupprecht & Partner Alphanumerische eingabevorrichtung
US7167162B2 (en) * 2003-12-12 2007-01-23 Avago Technologies Ecbu Ip (Singapore) Pte. Ltd. Apparatus and method for controlling a screen pointer
DE102004001226A1 (de) * 2004-01-07 2005-08-04 Sentelic Corporation Verfahren und Controller zum Identifizieren des Doppelklicks
DE102004001229A1 (de) * 2004-01-07 2005-08-04 Sentelic Corporation Verfahren und Controller zum Identifizieren des Ziehens
US7707039B2 (en) 2004-02-15 2010-04-27 Exbiblio B.V. Automatic modification of web pages
US8442331B2 (en) 2004-02-15 2013-05-14 Google Inc. Capturing text from rendered documents using supplemental information
US10635723B2 (en) 2004-02-15 2020-04-28 Google Llc Search engines and systems with handheld document data capture devices
US7812860B2 (en) 2004-04-01 2010-10-12 Exbiblio B.V. Handheld device for capturing text from both a document printed on paper and a document displayed on a dynamic display device
US7295049B1 (en) 2004-03-25 2007-11-13 Cypress Semiconductor Corporation Method and circuit for rapid alignment of signals
US7990556B2 (en) 2004-12-03 2011-08-02 Google Inc. Association of a portable scanner with input/output and storage devices
US20060098900A1 (en) 2004-09-27 2006-05-11 King Martin T Secure data gathering from rendered documents
US9143638B2 (en) 2004-04-01 2015-09-22 Google Inc. Data capture from rendered documents using handheld device
US9116890B2 (en) 2004-04-01 2015-08-25 Google Inc. Triggering actions in response to optically or acoustically capturing keywords from a rendered document
US7894670B2 (en) 2004-04-01 2011-02-22 Exbiblio B.V. Triggering actions in response to optically or acoustically capturing keywords from a rendered document
US20060081714A1 (en) 2004-08-23 2006-04-20 King Martin T Portable scanning device
US8146156B2 (en) 2004-04-01 2012-03-27 Google Inc. Archive of text captures from rendered documents
US8229184B2 (en) 2004-04-16 2012-07-24 Validity Sensors, Inc. Method and algorithm for accurate finger motion tracking
US8447077B2 (en) 2006-09-11 2013-05-21 Validity Sensors, Inc. Method and apparatus for fingerprint motion tracking using an in-line array
US8077935B2 (en) 2004-04-23 2011-12-13 Validity Sensors, Inc. Methods and apparatus for acquiring a swiped fingerprint image
US8358815B2 (en) 2004-04-16 2013-01-22 Validity Sensors, Inc. Method and apparatus for two-dimensional finger motion tracking and control
US8165355B2 (en) 2006-09-11 2012-04-24 Validity Sensors, Inc. Method and apparatus for fingerprint motion tracking using an in-line array for use in navigation applications
US8175345B2 (en) 2004-04-16 2012-05-08 Validity Sensors, Inc. Unitized ergonomic two-dimensional fingerprint motion tracking device and method
US8131026B2 (en) 2004-04-16 2012-03-06 Validity Sensors, Inc. Method and apparatus for fingerprint image reconstruction
US8489624B2 (en) 2004-05-17 2013-07-16 Google, Inc. Processing techniques for text capture from a rendered document
US8620083B2 (en) 2004-12-03 2013-12-31 Google Inc. Method and system for character recognition
US8874504B2 (en) 2004-12-03 2014-10-28 Google Inc. Processing techniques for visual capture data from a rendered document
EP1745456A2 (de) * 2004-04-23 2007-01-24 Cirque Corporation Verbessertes verfahren für roll- und randbewegung auf einem touchpad
JP2007535773A (ja) 2004-04-30 2007-12-06 ヒルクレスト・ラボラトリーズ・インコーポレイテッド 自由空間ポインティングデバイスおよびポインティング方法
DE202005022038U1 (de) 2004-04-30 2012-07-12 Hillcrest Laboratories, Inc. Freiraum-Zeigevorrichtungen mit Neigungskompensation und verbesserter Benutzbarkeit
WO2005109847A2 (en) 2004-04-30 2005-11-17 Hillcrest Laboratories, Inc. Methods and devices for identifying users based on tremor
WO2005109215A2 (en) 2004-04-30 2005-11-17 Hillcrest Laboratories, Inc. Methods and devices for removing unintentional movement in free space pointing devices
US8629836B2 (en) 2004-04-30 2014-01-14 Hillcrest Laboratories, Inc. 3D pointing devices with orientation compensation and improved usability
US7382139B2 (en) * 2004-06-03 2008-06-03 Synaptics Incorporated One layer capacitive sensing apparatus having varying width sensing elements
US7113179B2 (en) * 2004-06-23 2006-09-26 Interlink Electronics, Inc. Force sensing resistor with calibration element and method of manufacturing same
US20060007174A1 (en) * 2004-07-06 2006-01-12 Chung-Yi Shen Touch control method for a drag gesture and control module thereof
US20060007175A1 (en) * 2004-07-06 2006-01-12 Chung-Yi Shen Touch control method of single tap and control module thereof
US8346620B2 (en) 2004-07-19 2013-01-01 Google Inc. Automatic modification of web pages
US8381135B2 (en) 2004-07-30 2013-02-19 Apple Inc. Proximity detector in handheld device
US7653883B2 (en) * 2004-07-30 2010-01-26 Apple Inc. Proximity detector in handheld device
US8069436B2 (en) 2004-08-13 2011-11-29 Cypress Semiconductor Corporation Providing hardware independence to automate code generation of processing device firmware
US8286125B2 (en) 2004-08-13 2012-10-09 Cypress Semiconductor Corporation Model for a hardware device-independent method of defining embedded firmware for programmable systems
CN100555200C (zh) 2004-08-16 2009-10-28 苹果公司 触敏器件和提高触敏器件的空间分辨率的方法
US7737953B2 (en) * 2004-08-19 2010-06-15 Synaptics Incorporated Capacitive sensing apparatus having varying depth sensing elements
US20090115726A1 (en) * 2004-09-27 2009-05-07 Koninklijke Philips Electronics N.V. Method for selecting the sensitivity of an input device
DE602005022900D1 (de) 2004-10-04 2010-09-23 Validity Sensors Inc Fingerabdruckerfassende konstruktionen mit einem substrat
JP4731149B2 (ja) * 2004-10-06 2011-07-20 任天堂株式会社 情報処理装置および情報入力プログラム
US8137195B2 (en) 2004-11-23 2012-03-20 Hillcrest Laboratories, Inc. Semantic gaming and application transformation
US7485161B2 (en) * 2005-01-04 2009-02-03 Air Products And Chemicals, Inc. Dehydrogenation of liquid fuel in microchannel catalytic reactor
US7332976B1 (en) 2005-02-04 2008-02-19 Cypress Semiconductor Corporation Poly-phase frequency synthesis oscillator
JP2008533559A (ja) * 2005-02-09 2008-08-21 サーク・コーポレーション ユーザの対話を改善するためのキーボードのキーキャップに一体化されたタッチパッド
US7343813B1 (en) * 2005-02-15 2008-03-18 Harrington Richard H Multicapacitor sensor array
US8837528B2 (en) * 2005-02-25 2014-09-16 Sony Computer Entertainment America Llc Data distribution by proxy
GB2423808B (en) * 2005-03-04 2010-02-17 Ford Global Tech Llc Motor vehicle control system for controlling one or more vehicle devices
US7477233B2 (en) * 2005-03-16 2009-01-13 Microsoft Corporation Method and system for providing modifier key behavior through pen gestures
US7400183B1 (en) 2005-05-05 2008-07-15 Cypress Semiconductor Corporation Voltage controlled oscillator delay cell and method
US9785329B2 (en) * 2005-05-23 2017-10-10 Nokia Technologies Oy Pocket computer and associated methods
KR101025259B1 (ko) * 2005-05-23 2011-03-29 노키아 코포레이션 향상된 포켓 컴퓨터 및 연관된 방법들
US20070024646A1 (en) * 2005-05-23 2007-02-01 Kalle Saarinen Portable electronic apparatus and associated method
JP5395429B2 (ja) * 2005-06-03 2014-01-22 シナプティクス インコーポレイテッド シグマデルタ測定法を使用してキャパシタンスを検出するための方法およびシステム
US7902842B2 (en) * 2005-06-03 2011-03-08 Synaptics Incorporated Methods and systems for switched charge transfer capacitance measuring using shared components
US7288946B2 (en) * 2005-06-03 2007-10-30 Synaptics Incorporated Methods and systems for detecting a capacitance using sigma-delta measurement techniques
US7449895B2 (en) * 2005-06-03 2008-11-11 Synaptics Incorporated Methods and systems for detecting a capacitance using switched charge transfer techniques
US7777501B2 (en) * 2005-06-03 2010-08-17 Synaptics Incorporated Methods and systems for sigma delta capacitance measuring using shared component
US7301350B2 (en) * 2005-06-03 2007-11-27 Synaptics Incorporated Methods and systems for detecting a capacitance using sigma-delta measurement techniques
US8089461B2 (en) 2005-06-23 2012-01-03 Cypress Semiconductor Corporation Touch wake for electronic devices
US8050876B2 (en) * 2005-07-18 2011-11-01 Analog Devices, Inc. Automatic environmental compensation of capacitance based proximity sensors
DE102005055515A1 (de) * 2005-07-26 2007-02-01 Huf Hülsbeck & Fürst Gmbh & Co. Kg Sensoranordnung und Verfahren zum Erfassen des Aufliegens eines Bedienerkörperteils auf einer Betätigungsstelle einer Kraftfahrzeugschließeinrichtung mit einer hilfssensorgestützten Auswertung des Ausgangssignals eines Annäherungssensors
US7864160B2 (en) * 2005-10-05 2011-01-04 3M Innovative Properties Company Interleaved electrodes for touch sensing
US7880729B2 (en) 2005-10-11 2011-02-01 Apple Inc. Center button isolation ring
US7307485B1 (en) 2005-11-14 2007-12-11 Cypress Semiconductor Corporation Capacitance sensor using relaxation oscillators
US8085067B1 (en) 2005-12-21 2011-12-27 Cypress Semiconductor Corporation Differential-to-single ended signal converter circuit and method
US7683891B2 (en) * 2005-12-22 2010-03-23 Synaptics Incorporated Equalizing reference surface capacitance with uneven thickness
US20070152983A1 (en) 2005-12-30 2007-07-05 Apple Computer, Inc. Touch pad with symbols based on mode
US7312616B2 (en) 2006-01-20 2007-12-25 Cypress Semiconductor Corporation Successive approximate capacitance measurement circuit
US20070176903A1 (en) * 2006-01-31 2007-08-02 Dahlin Jeffrey J Capacitive touch sensor button activation
US8139028B2 (en) * 2006-02-01 2012-03-20 Synaptics Incorporated Proximity sensor and method for indicating extended interface results
US20070200823A1 (en) * 2006-02-09 2007-08-30 Bytheway Jared G Cursor velocity being made proportional to displacement in a capacitance-sensitive input device
US8067948B2 (en) 2006-03-27 2011-11-29 Cypress Semiconductor Corporation Input/output multiplexer bus
US7538760B2 (en) 2006-03-30 2009-05-26 Apple Inc. Force imaging input device and system
US8144125B2 (en) 2006-03-30 2012-03-27 Cypress Semiconductor Corporation Apparatus and method for reducing average scan rate to detect a conductive object on a sensing device
US8111243B2 (en) 2006-03-30 2012-02-07 Cypress Semiconductor Corporation Apparatus and method for recognizing a tap gesture on a touch sensing device
US7511702B2 (en) 2006-03-30 2009-03-31 Apple Inc. Force and location sensitive display
US7721609B2 (en) 2006-03-31 2010-05-25 Cypress Semiconductor Corporation Method and apparatus for sensing the force with which a button is pressed
US8040142B1 (en) 2006-03-31 2011-10-18 Cypress Semiconductor Corporation Touch detection techniques for capacitive touch sense systems
US7978181B2 (en) 2006-04-25 2011-07-12 Apple Inc. Keystroke tactility arrangement on a smooth touch surface
US8279180B2 (en) 2006-05-02 2012-10-02 Apple Inc. Multipoint touch surface controller
US20070262951A1 (en) * 2006-05-09 2007-11-15 Synaptics Incorporated Proximity sensor device and method with improved indication of adjustment
US8803813B2 (en) * 2006-05-10 2014-08-12 Cypress Semiconductor Corporation Sensing device
US20070262963A1 (en) * 2006-05-11 2007-11-15 Cypress Semiconductor Corporation Apparatus and method for recognizing a button operation on a sensing device
US8059015B2 (en) * 2006-05-25 2011-11-15 Cypress Semiconductor Corporation Capacitance sensing matrix for keyboard architecture
US8089472B2 (en) * 2006-05-26 2012-01-03 Cypress Semiconductor Corporation Bidirectional slider with delete function
US8537121B2 (en) * 2006-05-26 2013-09-17 Cypress Semiconductor Corporation Multi-function slider in touchpad
US7825797B2 (en) 2006-06-02 2010-11-02 Synaptics Incorporated Proximity sensor device and method with adjustment selection tabs
US8552989B2 (en) 2006-06-09 2013-10-08 Apple Inc. Integrated display and touch screen
CN104965621B (zh) 2006-06-09 2018-06-12 苹果公司 触摸屏液晶显示器及其操作方法
KR102125605B1 (ko) 2006-06-09 2020-06-22 애플 인크. 터치 스크린 액정 디스플레이
US8169421B2 (en) * 2006-06-19 2012-05-01 Cypress Semiconductor Corporation Apparatus and method for detecting a touch-sensor pad gesture
US20080001926A1 (en) * 2006-06-29 2008-01-03 Xiaoping Jiang Bidirectional slider
US8717302B1 (en) 2006-06-30 2014-05-06 Cypress Semiconductor Corporation Apparatus and method for recognizing a gesture on a sensing device
US8743060B2 (en) 2006-07-06 2014-06-03 Apple Inc. Mutual capacitance touch sensing device
US8022935B2 (en) 2006-07-06 2011-09-20 Apple Inc. Capacitance sensing electrode with integrated I/O mechanism
US9360967B2 (en) 2006-07-06 2016-06-07 Apple Inc. Mutual capacitance touch sensing device
US8040321B2 (en) * 2006-07-10 2011-10-18 Cypress Semiconductor Corporation Touch-sensor with shared capacitive sensors
JP2008012199A (ja) * 2006-07-10 2008-01-24 Aruze Corp ゲーム装置及びゲーム装置の画像表示制御方法
US7253643B1 (en) 2006-07-19 2007-08-07 Cypress Semiconductor Corporation Uninterrupted radial capacitive sense interface
US9507465B2 (en) 2006-07-25 2016-11-29 Cypress Semiconductor Corporation Technique for increasing the sensitivity of capacitive sensor arrays
US9766738B1 (en) 2006-08-23 2017-09-19 Cypress Semiconductor Corporation Position and usage based prioritization for capacitance sense interface
US8564544B2 (en) 2006-09-06 2013-10-22 Apple Inc. Touch screen device, method, and graphical user interface for customizing display of content category icons
EP2067119A2 (de) 2006-09-08 2009-06-10 Exbiblio B.V. Optische scanner, zum beispiel tragbare optische scanner
US7795553B2 (en) 2006-09-11 2010-09-14 Apple Inc. Hybrid button
US20080074398A1 (en) * 2006-09-26 2008-03-27 David Gordon Wright Single-layer capacitive sensing device
WO2008038239A2 (en) * 2006-09-29 2008-04-03 Nxp B.V. Processing a signal from a pointing device sensor
US8274479B2 (en) 2006-10-11 2012-09-25 Apple Inc. Gimballed scroll wheel
US20080088594A1 (en) * 2006-10-12 2008-04-17 Hua Liu Two-substrate layer touchpad capacitive sensing device
US20080088595A1 (en) * 2006-10-12 2008-04-17 Hua Liu Interconnected two-substrate layer touchpad capacitive sensing device
US8482530B2 (en) 2006-11-13 2013-07-09 Apple Inc. Method of capacitively sensing finger position
US8547114B2 (en) 2006-11-14 2013-10-01 Cypress Semiconductor Corporation Capacitance to code converter with sigma-delta modulator
US8089288B1 (en) 2006-11-16 2012-01-03 Cypress Semiconductor Corporation Charge accumulation capacitance sensor with linear transfer characteristic
US7924272B2 (en) * 2006-11-27 2011-04-12 Microsoft Corporation Infrared sensor integrated in a touch panel
US8269746B2 (en) 2006-11-27 2012-09-18 Microsoft Corporation Communication with a touch screen
US8094129B2 (en) 2006-11-27 2012-01-10 Microsoft Corporation Touch sensing using shadow and reflective modes
US8373664B2 (en) * 2006-12-18 2013-02-12 Cypress Semiconductor Corporation Two circuit board touch-sensor device
US20080143681A1 (en) * 2006-12-18 2008-06-19 Xiaoping Jiang Circular slider with center button
US8120584B2 (en) 2006-12-21 2012-02-21 Cypress Semiconductor Corporation Feedback mechanism for user detection of reference location on a sensing device
US8072429B2 (en) * 2006-12-22 2011-12-06 Cypress Semiconductor Corporation Multi-axial touch-sensor device with multi-touch resolution
US8269727B2 (en) 2007-01-03 2012-09-18 Apple Inc. Irregular input identification
US8493330B2 (en) 2007-01-03 2013-07-23 Apple Inc. Individual channel phase delay scheme
US7876310B2 (en) 2007-01-03 2011-01-25 Apple Inc. Far-field input identification
US8054296B2 (en) 2007-01-03 2011-11-08 Apple Inc. Storing baseline information in EEPROM
US7855718B2 (en) 2007-01-03 2010-12-21 Apple Inc. Multi-touch input discrimination
US8026904B2 (en) 2007-01-03 2011-09-27 Apple Inc. Periodic sensor panel baseline adjustment
US8130203B2 (en) 2007-01-03 2012-03-06 Apple Inc. Multi-touch input discrimination
US9710095B2 (en) 2007-01-05 2017-07-18 Apple Inc. Touch screen stack-ups
US7877707B2 (en) * 2007-01-06 2011-01-25 Apple Inc. Detecting and interpreting real-world and security gestures on touch and hover sensitive devices
US7844915B2 (en) 2007-01-07 2010-11-30 Apple Inc. Application programming interfaces for scrolling operations
US8058937B2 (en) 2007-01-30 2011-11-15 Cypress Semiconductor Corporation Setting a discharge rate and a charge rate of a relaxation oscillator circuit
US8860683B2 (en) * 2007-04-05 2014-10-14 Cypress Semiconductor Corporation Integrated button activation sensing and proximity sensing
JP2008262326A (ja) * 2007-04-11 2008-10-30 Matsushita Electric Ind Co Ltd タッチパネル
US8026739B2 (en) 2007-04-17 2011-09-27 Cypress Semiconductor Corporation System level interconnect with programmable switching
US7737724B2 (en) 2007-04-17 2010-06-15 Cypress Semiconductor Corporation Universal digital block interconnection and channel routing
US8516025B2 (en) 2007-04-17 2013-08-20 Cypress Semiconductor Corporation Clock driven dynamic datapath chaining
US8092083B2 (en) 2007-04-17 2012-01-10 Cypress Semiconductor Corporation Temperature sensor with digital bandgap
US9564902B2 (en) 2007-04-17 2017-02-07 Cypress Semiconductor Corporation Dynamically configurable and re-configurable data path
US8040266B2 (en) 2007-04-17 2011-10-18 Cypress Semiconductor Corporation Programmable sigma-delta analog-to-digital converter
US8130025B2 (en) 2007-04-17 2012-03-06 Cypress Semiconductor Corporation Numerical band gap
US8525799B1 (en) 2007-04-24 2013-09-03 Cypress Semiconductor Conductor Detecting multiple simultaneous touches on a touch-sensor device
US8266575B1 (en) 2007-04-25 2012-09-11 Cypress Semiconductor Corporation Systems and methods for dynamically reconfiguring a programmable system on a chip
US8065653B1 (en) 2007-04-25 2011-11-22 Cypress Semiconductor Corporation Configuration of programmable IC design elements
US9720805B1 (en) 2007-04-25 2017-08-01 Cypress Semiconductor Corporation System and method for controlling a target device
US8107212B2 (en) 2007-04-30 2012-01-31 Validity Sensors, Inc. Apparatus and method for protecting fingerprint sensing circuitry from electrostatic discharge
US8144126B2 (en) 2007-05-07 2012-03-27 Cypress Semiconductor Corporation Reducing sleep current in a capacitance sensing system
US8290150B2 (en) 2007-05-11 2012-10-16 Validity Sensors, Inc. Method and system for electronically securing an electronic device using physically unclonable functions
US7782093B2 (en) * 2007-05-23 2010-08-24 Infineon Technologies Ag Integrated circuit and method of detecting a signal edge transition
US9740386B2 (en) 2007-06-13 2017-08-22 Apple Inc. Speed/positional mode translations
US8040326B2 (en) 2007-06-13 2011-10-18 Apple Inc. Integrated in-plane switching display and touch sensor
US7916126B2 (en) * 2007-06-13 2011-03-29 Apple Inc. Bottom-up watershed dataflow method and region-specific segmentation based on historic data to identify patches on a touch sensor panel
US7860676B2 (en) 2007-06-28 2010-12-28 Hillcrest Laboratories, Inc. Real-time dynamic tracking of bias
US7804307B1 (en) 2007-06-29 2010-09-28 Cypress Semiconductor Corporation Capacitance measurement systems and methods
US9500686B1 (en) 2007-06-29 2016-11-22 Cypress Semiconductor Corporation Capacitance measurement system and methods
US8089289B1 (en) 2007-07-03 2012-01-03 Cypress Semiconductor Corporation Capacitive field sensor with sigma-delta modulator
US8258986B2 (en) 2007-07-03 2012-09-04 Cypress Semiconductor Corporation Capacitive-matrix keyboard with multiple touch detection
WO2009006556A1 (en) 2007-07-03 2009-01-08 Cypress Semiconductor Corporation Normalizing capacitive sensor array signals
US8570053B1 (en) 2007-07-03 2013-10-29 Cypress Semiconductor Corporation Capacitive field sensor with sigma-delta modulator
US8169238B1 (en) * 2007-07-03 2012-05-01 Cypress Semiconductor Corporation Capacitance to frequency converter
US20090008161A1 (en) * 2007-07-04 2009-01-08 Jones Christopher W Capacitive sensor array and gesture recognition
WO2009024971A2 (en) 2007-08-19 2009-02-26 Saar Shai Finger-worn devices and related methods of use
WO2009032898A2 (en) 2007-09-04 2009-03-12 Apple Inc. Compact input device
US8683378B2 (en) 2007-09-04 2014-03-25 Apple Inc. Scrolling techniques for user interfaces
US8049569B1 (en) 2007-09-05 2011-11-01 Cypress Semiconductor Corporation Circuit and method for improving the accuracy of a crystal-less oscillator having dual-frequency modes
US9483405B2 (en) 2007-09-20 2016-11-01 Sony Interactive Entertainment Inc. Simplified run-time program translation for emulating complex processor pipelines
WO2009051665A1 (en) 2007-10-16 2009-04-23 Hillcrest Laboratories, Inc. Fast and smooth scrolling of user interfaces operating on thin clients
US8416198B2 (en) 2007-12-03 2013-04-09 Apple Inc. Multi-dimensional scroll wheel
WO2009079221A2 (en) * 2007-12-14 2009-06-25 Validity Sensors, Inc. Method and algorithm for accurate finger motion tracking
US8276816B2 (en) 2007-12-14 2012-10-02 Validity Sensors, Inc. Smart card system with ergonomic fingerprint sensor and method of using
US8204281B2 (en) 2007-12-14 2012-06-19 Validity Sensors, Inc. System and method to remove artifacts from fingerprint sensor scans
US9733745B1 (en) * 2007-12-31 2017-08-15 Cypress Semiconductor Corporation Pressure detection system for touch-sense devices
US20090174675A1 (en) * 2008-01-09 2009-07-09 Dave Gillespie Locating multiple objects on a capacitive touch pad
US8125461B2 (en) 2008-01-11 2012-02-28 Apple Inc. Dynamic input graphic display
US8525798B2 (en) 2008-01-28 2013-09-03 Cypress Semiconductor Corporation Touch sensing
US8820133B2 (en) 2008-02-01 2014-09-02 Apple Inc. Co-extruded materials and methods
US8487912B1 (en) 2008-02-01 2013-07-16 Cypress Semiconductor Corporation Capacitive sense touch device with hysteresis threshold
US8446373B2 (en) * 2008-02-08 2013-05-21 Synaptics Incorporated Method and apparatus for extended adjustment based on relative positioning of multiple objects contemporaneously in a sensing region
US8358142B2 (en) 2008-02-27 2013-01-22 Cypress Semiconductor Corporation Methods and circuits for measuring mutual and self capacitance
US8319505B1 (en) 2008-10-24 2012-11-27 Cypress Semiconductor Corporation Methods and circuits for measuring mutual and self capacitance
US8797277B1 (en) * 2008-02-27 2014-08-05 Cypress Semiconductor Corporation Method for multiple touch position estimation
US9104273B1 (en) 2008-02-29 2015-08-11 Cypress Semiconductor Corporation Multi-touch sensing method
US9454256B2 (en) 2008-03-14 2016-09-27 Apple Inc. Sensor configurations of an input device that are switchable based on mode
US8116540B2 (en) 2008-04-04 2012-02-14 Validity Sensors, Inc. Apparatus and method for reducing noise in fingerprint sensing circuits
US8005276B2 (en) 2008-04-04 2011-08-23 Validity Sensors, Inc. Apparatus and method for reducing parasitic capacitive coupling and noise in fingerprint sensing circuits
US8441452B1 (en) 2008-04-10 2013-05-14 Cypress Semiconductor Corporation Multiple touch detection
US8384677B2 (en) * 2008-04-25 2013-02-26 Research In Motion Limited Electronic device including touch-sensitive input surface and method of determining user-selected input
EP2112579B1 (de) 2008-04-25 2013-05-22 Research In Motion Limited Elektronische Vorrichtung mit berührungsempfindlicher Eingabeoberfläche und Verfahren zur Bestimmung einer benutzerseitig ausgewählten Eingabe
US8816986B1 (en) 2008-06-01 2014-08-26 Cypress Semiconductor Corporation Multiple touch detection
US8665228B2 (en) 2008-06-19 2014-03-04 Tactile Displays, Llc Energy efficient interactive display with energy regenerative keyboard
US9513705B2 (en) 2008-06-19 2016-12-06 Tactile Displays, Llc Interactive display with tactile feedback
US8217908B2 (en) 2008-06-19 2012-07-10 Tactile Displays, Llc Apparatus and method for interactive display with tactile feedback
US8115745B2 (en) 2008-06-19 2012-02-14 Tactile Displays, Llc Apparatus and method for interactive display with tactile feedback
US8164575B2 (en) * 2008-06-20 2012-04-24 Sentelic Corporation Method for identifying a single tap, double taps and a drag and a controller for a touch device employing the method
US8941394B2 (en) * 2008-06-25 2015-01-27 Silicon Laboratories Inc. Capacitive sensor system with noise reduction
WO2009155981A1 (en) * 2008-06-26 2009-12-30 Uiq Technology Ab Gesture on touch sensitive arrangement
US8159455B2 (en) * 2008-07-18 2012-04-17 Apple Inc. Methods and apparatus for processing combinations of kinematical inputs
GB2474999B (en) 2008-07-22 2013-02-20 Validity Sensors Inc System and method for securing a device component
US20100019780A1 (en) * 2008-07-24 2010-01-28 Mihai Bulea Multi-axis capacitive sensor
US8816967B2 (en) 2008-09-25 2014-08-26 Apple Inc. Capacitive sensor having electrodes arranged on the substrate and the flex circuit
EP2342619B1 (de) 2008-09-26 2019-05-15 Nxp B.V. System und verfahren zum detektieren von bewegung eines objekts und integrierte schaltungsimplementierung davon
US8321174B1 (en) 2008-09-26 2012-11-27 Cypress Semiconductor Corporation System and method to measure capacitance of capacitive sensor array
US8174504B2 (en) * 2008-10-21 2012-05-08 Synaptics Incorporated Input device and method for adjusting a parameter of an electronic system
EP2180599B1 (de) * 2008-10-24 2014-12-17 Advanced Silicon SA Röntgenbildgebungsauslesung und System
US8391568B2 (en) 2008-11-10 2013-03-05 Validity Sensors, Inc. System and method for improved scanning of fingerprint edges
US9058066B2 (en) * 2008-11-12 2015-06-16 Apple Inc. Suppressing errant motion using integrated mouse and touch information
US8487639B1 (en) 2008-11-21 2013-07-16 Cypress Semiconductor Corporation Receive demodulator for capacitive sensing
CN102239068B (zh) 2008-12-04 2013-03-13 三菱电机株式会社 显示输入装置
US8836645B2 (en) * 2008-12-09 2014-09-16 Microsoft Corporation Touch input interpretation
US8660300B2 (en) * 2008-12-12 2014-02-25 Silicon Laboratories Inc. Apparatus and method for optical gesture recognition
US8395590B2 (en) 2008-12-17 2013-03-12 Apple Inc. Integrated contact switch and touch sensor elements
US8600122B2 (en) 2009-01-15 2013-12-03 Validity Sensors, Inc. Apparatus and method for culling substantially redundant data in fingerprint sensing circuits
US8278946B2 (en) 2009-01-15 2012-10-02 Validity Sensors, Inc. Apparatus and method for detecting finger activity on a fingerprint sensor
US8487975B2 (en) 2009-01-27 2013-07-16 Lifesize Communications, Inc. Conferencing system utilizing a mobile communication device as an interface
US8374407B2 (en) 2009-01-28 2013-02-12 Validity Sensors, Inc. Live finger detection
CN105930311B (zh) 2009-02-18 2018-10-09 谷歌有限责任公司 执行与再现文档关联的动作的方法、移动设备和可读介质
US8447066B2 (en) 2009-03-12 2013-05-21 Google Inc. Performing actions based on capturing information from rendered documents, such as documents under copyright
WO2010105245A2 (en) 2009-03-12 2010-09-16 Exbiblio B.V. Automatically providing content associated with captured information, such as information captured in real-time
US8866500B2 (en) 2009-03-26 2014-10-21 Cypress Semiconductor Corporation Multi-functional capacitance sensing circuit with a current conveyor
US8174510B2 (en) 2009-03-29 2012-05-08 Cypress Semiconductor Corporation Capacitive touch screen
TWI398807B (zh) * 2009-04-07 2013-06-11 Ite Tech Inc 觸控裝置之定位裝置及其定位方法
US8633904B2 (en) 2009-04-24 2014-01-21 Cypress Semiconductor Corporation Touch identification for multi-touch technology
EP2425322A4 (de) 2009-04-30 2013-11-13 Synaptics Inc Steuerschaltkreis und verfahren dafür
US9448964B2 (en) 2009-05-04 2016-09-20 Cypress Semiconductor Corporation Autonomous control in a programmable system
US9354751B2 (en) 2009-05-15 2016-05-31 Apple Inc. Input device with optimized capacitive sensing
US8872771B2 (en) 2009-07-07 2014-10-28 Apple Inc. Touch sensing device having conductive nodes
US9753597B2 (en) 2009-07-24 2017-09-05 Cypress Semiconductor Corporation Mutual capacitance sensing array
US20110018829A1 (en) * 2009-07-24 2011-01-27 Cypress Semiconductor Corporation Mutual capacitance sensing array
US8456443B2 (en) 2009-07-24 2013-06-04 Synaptics Incorporated Single-layer touch sensors
US8237453B2 (en) 2009-07-24 2012-08-07 Synaptics Incorporated Capacitive sensing pattern
US8723827B2 (en) 2009-07-28 2014-05-13 Cypress Semiconductor Corporation Predictive touch surface scanning
TWI484380B (zh) * 2009-07-31 2015-05-11 Mstar Semiconductor Inc 觸控點位移量判斷方法與判斷裝置
US8654524B2 (en) 2009-08-17 2014-02-18 Apple Inc. Housing as an I/O device
KR101073684B1 (ko) * 2009-08-25 2011-10-14 주식회사 지니틱스 낮은 저항 값을 가지는 캐패시티브 방식 터치 스크린의 투명전극 패턴 구조
TW201113770A (en) * 2009-10-05 2011-04-16 Raydium Semiconductor Corp Touch device
CN102043556B (zh) * 2009-10-09 2013-03-20 禾瑞亚科技股份有限公司 位置侦测的方法与装置
TWI643101B (zh) 2009-10-09 2018-12-01 禾瑞亞科技股份有限公司 分析貳維度資訊的方法與處理器
US8643613B2 (en) * 2009-10-09 2014-02-04 Egalax—Empia Technology Inc. Method and device for dual-differential sensing
CN102096498B (zh) * 2009-10-09 2013-12-11 禾瑞亚科技股份有限公司 分析位置的方法与装置
US9274553B2 (en) 2009-10-30 2016-03-01 Synaptics Incorporated Fingerprint sensor and integratable electronic display
US9336428B2 (en) 2009-10-30 2016-05-10 Synaptics Incorporated Integrated fingerprint sensor and display
US9400911B2 (en) 2009-10-30 2016-07-26 Synaptics Incorporated Fingerprint sensor and integratable electronic display
US9081799B2 (en) 2009-12-04 2015-07-14 Google Inc. Using gestalt information to identify locations in printed information
US9323784B2 (en) 2009-12-09 2016-04-26 Google Inc. Image search using text-based elements within the contents of images
US8570297B2 (en) 2009-12-14 2013-10-29 Synaptics Incorporated System and method for measuring individual force in multi-object sensing
US20110148436A1 (en) * 2009-12-18 2011-06-23 Synaptics Incorporated System and method for determining a number of objects in a capacitive sensing region using signal grouping
US20110148438A1 (en) * 2009-12-18 2011-06-23 Synaptics Incorporated System and method for determining a number of objects in a capacitive sensing region using a shape factor
KR101085776B1 (ko) * 2010-01-15 2011-11-21 삼성전자주식회사 터치 패널 및 그 터치 패널을 이용한 입력 인식 장치
US8421890B2 (en) 2010-01-15 2013-04-16 Picofield Technologies, Inc. Electronic imager using an impedance sensor grid array and method of making
US8791792B2 (en) 2010-01-15 2014-07-29 Idex Asa Electronic imager using an impedance sensor grid array mounted on or about a switch and method of making
US8866347B2 (en) 2010-01-15 2014-10-21 Idex Asa Biometric image sensing
US9666635B2 (en) 2010-02-19 2017-05-30 Synaptics Incorporated Fingerprint sensing circuit
US8716613B2 (en) 2010-03-02 2014-05-06 Synaptics Incoporated Apparatus and method for electrostatic discharge protection
US20110225524A1 (en) * 2010-03-10 2011-09-15 Cifra Christopher G Multi-Touch Editing in a Graphical Programming Language
US10719131B2 (en) 2010-04-05 2020-07-21 Tactile Displays, Llc Interactive display with tactile feedback
US20200393907A1 (en) 2010-04-13 2020-12-17 Tactile Displays, Llc Interactive display with tactile feedback
US8810543B1 (en) 2010-05-14 2014-08-19 Cypress Semiconductor Corporation All points addressable touch sensing surface
US8433759B2 (en) 2010-05-24 2013-04-30 Sony Computer Entertainment America Llc Direction-conscious information sharing
US9001040B2 (en) 2010-06-02 2015-04-07 Synaptics Incorporated Integrated fingerprint sensor and navigation device
TWI413781B (zh) * 2010-06-09 2013-11-01 Zeitec Semiconductor Co Ltd 取樣保持電路及其觸控感測裝置
KR101741662B1 (ko) * 2010-07-19 2017-05-30 삼성전자 주식회사 디스플레이장치 및 그 제어방법
US8331096B2 (en) 2010-08-20 2012-12-11 Validity Sensors, Inc. Fingerprint acquisition expansion card apparatus
WO2012034714A1 (en) 2010-09-14 2012-03-22 Advanced Silicon Sa Circuit for capacitive touch applications
JP5693729B2 (ja) 2010-09-15 2015-04-01 アドヴァンスト・シリコン・ソシエテ・アノニム マルチタッチ装置から任意の数のタッチを検出する方法
US9092089B2 (en) 2010-09-15 2015-07-28 Advanced Silicon Sa Method for detecting an arbitrary number of touches from a multi-touch device
TW201214211A (en) 2010-09-16 2012-04-01 Novatek Microelectronics Corp Touch pattern detecting method and touch pattern detector using the same
US9454268B2 (en) * 2010-10-12 2016-09-27 Parade Technologies, Ltd. Force sensing capacitive hybrid touch sensor
US9459736B2 (en) * 2010-10-12 2016-10-04 Parade Technologies, Ltd. Flexible capacitive sensor array
CN103154864B (zh) * 2010-10-15 2015-12-16 株式会社村田制作所 触摸式输入装置及其控制方法
US20120102400A1 (en) * 2010-10-22 2012-04-26 Microsoft Corporation Touch Gesture Notification Dismissal Techniques
US8804056B2 (en) 2010-12-22 2014-08-12 Apple Inc. Integrated touch screens
DE102011009292A1 (de) 2011-01-24 2012-07-26 Vivid Chi Matter And Light Gmbh Verfahren und Vorrichtung zur Steuerung von Farbton und Sättigung von Beleuchtungssystemen
US8594393B2 (en) 2011-01-26 2013-11-26 Validity Sensors System for and method of image reconstruction with dual line scanner using line counts
US8538097B2 (en) 2011-01-26 2013-09-17 Validity Sensors, Inc. User input utilizing dual line scanner apparatus and method
US10048854B2 (en) * 2011-01-31 2018-08-14 Oracle International Corporation Drag and drop interaction between components of a web application
GB2489100A (en) 2011-03-16 2012-09-19 Validity Sensors Inc Wafer-level packaging for a fingerprint sensor
US8479110B2 (en) 2011-03-20 2013-07-02 William J. Johnson System and method for summoning user interface objects
US9268441B2 (en) 2011-04-05 2016-02-23 Parade Technologies, Ltd. Active integrator for a capacitive sense array
JPWO2012144235A1 (ja) * 2011-04-20 2014-07-28 パナソニック株式会社 タッチパネル装置
EP2530571A1 (de) * 2011-05-31 2012-12-05 Sony Ericsson Mobile Communications AB Benutzerausrüstung und Verfahren darin zur Verschiebung eines Elements auf einer interaktiven Anzeige
US8605873B2 (en) 2011-06-28 2013-12-10 Lifesize Communications, Inc. Accessing settings of a videoconference using touch-based gestures
US9204094B2 (en) 2011-06-28 2015-12-01 Lifesize Communications, Inc. Adjusting volume of a videoconference using touch-based gestures
US8605872B2 (en) 2011-06-28 2013-12-10 Lifesize Communications, Inc. Muting a videoconference using touch-based gestures
US8194036B1 (en) 2011-06-29 2012-06-05 Google Inc. Systems and methods for controlling a cursor on a display using a trackpad input device
US20130016129A1 (en) * 2011-07-14 2013-01-17 Google Inc. Region-Specific User Input
US8713482B2 (en) 2011-07-28 2014-04-29 National Instruments Corporation Gestures for presentation of different views of a system diagram
US8782525B2 (en) 2011-07-28 2014-07-15 National Insturments Corporation Displaying physical signal routing in a diagram of a system
US9047007B2 (en) 2011-07-28 2015-06-02 National Instruments Corporation Semantic zoom within a diagram of a system
US10043052B2 (en) 2011-10-27 2018-08-07 Synaptics Incorporated Electronic device packages and methods
US9524050B2 (en) 2011-11-29 2016-12-20 Google Inc. Disambiguating touch-input based on variation in pressure along a touch-trail
US8436827B1 (en) * 2011-11-29 2013-05-07 Google Inc. Disambiguating touch-input based on variation in characteristic such as speed or pressure along a touch-trail
DE102011056226A1 (de) 2011-12-09 2013-06-13 Ident Technology Ag Sensorsystem sowie Verfahren zur Reduktion einer Einschwingzeit eines Sensorsystems
US9524097B2 (en) * 2011-12-22 2016-12-20 International Business Machines Corporation Touchscreen gestures for selecting a graphical object
US9195877B2 (en) 2011-12-23 2015-11-24 Synaptics Incorporated Methods and devices for capacitive image sensing
US9785299B2 (en) 2012-01-03 2017-10-10 Synaptics Incorporated Structures and manufacturing methods for glass covered electronic devices
US9137438B2 (en) 2012-03-27 2015-09-15 Synaptics Incorporated Biometric object sensor and method
US9251329B2 (en) 2012-03-27 2016-02-02 Synaptics Incorporated Button depress wakeup and wakeup strategy
US9268991B2 (en) 2012-03-27 2016-02-23 Synaptics Incorporated Method of and system for enrolling and matching biometric data
US9600709B2 (en) 2012-03-28 2017-03-21 Synaptics Incorporated Methods and systems for enrolling biometric data
US9152838B2 (en) 2012-03-29 2015-10-06 Synaptics Incorporated Fingerprint sensor packagings and methods
US9274643B2 (en) 2012-03-30 2016-03-01 Synaptics Incorporated Capacitive charge measurement
US20130279769A1 (en) 2012-04-10 2013-10-24 Picofield Technologies Inc. Biometric Sensing
US9851893B2 (en) * 2012-04-17 2017-12-26 Zotobi Management Ltd. System and method for providing a plurality of graphical user interfaces to a user
WO2013192539A1 (en) 2012-06-21 2013-12-27 Nextinput, Inc. Wafer level mems force dies
EP2870445A1 (de) 2012-07-05 2015-05-13 Ian Campbell Mikroelektromechanischer lastsensor und verfahren zur herstellung davon
KR20140024721A (ko) * 2012-08-21 2014-03-03 삼성전자주식회사 표시범위 변경 방법 및 그 전자 장치
US9182859B2 (en) * 2012-08-29 2015-11-10 Sharp Kabushiki Kaisha Capacitive touch panel with force sensing
US20140062952A1 (en) 2012-09-05 2014-03-06 Cypress Semiconductor Corporation Reducing common mode noise in touch applications
US9086763B2 (en) * 2012-09-11 2015-07-21 Flatfrog Laboratories Ab Touch force estimation in an FTIR-based projection-type touch-sensing apparatus
US8816985B1 (en) * 2012-09-20 2014-08-26 Cypress Semiconductor Corporation Methods and apparatus to detect a touch pattern
US9557846B2 (en) 2012-10-04 2017-01-31 Corning Incorporated Pressure-sensing touch system utilizing optical and capacitive systems
US9772722B2 (en) 2012-10-22 2017-09-26 Parade Technologies, Ltd. Position sensing methods and devices with dynamic gain for edge positioning
US9619785B2 (en) * 2012-10-25 2017-04-11 Blackberry Limited Method and apparatus pertaining to the sending of messages lacking identified recipients
CN103869956A (zh) * 2012-12-18 2014-06-18 富泰华工业(深圳)有限公司 触感反馈系统及其提供触感反馈的方法
US9665762B2 (en) 2013-01-11 2017-05-30 Synaptics Incorporated Tiered wakeup strategy
EP2772837A1 (de) 2013-02-28 2014-09-03 Nxp B.V. Berührungssensor für Chipkarten
US9110552B2 (en) 2013-03-11 2015-08-18 Cypress Semiconductor Corporation Eliminating common mode noise in otuch applications
JP6089906B2 (ja) * 2013-04-12 2017-03-08 富士通株式会社 入力装置、入力プログラムおよび入力方法
US10345932B2 (en) 2013-06-14 2019-07-09 Microsoft Technology Licensing, Llc Disambiguation of indirect input
KR20150004638A (ko) * 2013-07-03 2015-01-13 삼성전자주식회사 터치 제어 방법 및 그 전자 장치
TWI528253B (zh) 2013-07-03 2016-04-01 原相科技股份有限公司 觸控面板的物件定位方法
CN104281339B (zh) * 2013-07-11 2018-04-10 原相科技股份有限公司 触控面板的目标定位方法
US10042504B2 (en) 2013-08-13 2018-08-07 Samsung Electronics Company, Ltd. Interaction sensing
US10042446B2 (en) 2013-08-13 2018-08-07 Samsung Electronics Company, Ltd. Interaction modes for object-device interactions
USD730993S1 (en) 2013-09-20 2015-06-02 Wms Gaming Inc. Inclined input interface for a gaming terminal
US9349240B2 (en) 2013-09-20 2016-05-24 Bally Gaming, Inc. Gaming terminal with an inclined input interface
CN105934661B (zh) 2014-01-13 2019-11-05 触控解决方案股份有限公司 微型强化圆片级mems力传感器
US20150242053A1 (en) * 2014-02-21 2015-08-27 Qualcomm Incorporated Systems and methods for improved touch screen accuracy
EP2998840B1 (de) * 2014-09-19 2023-08-30 Kabushiki Kaisha Tokai Rika Denki Seisakusho Kapazitive berührungssensorvorrichtung und -steuerung
JP5845371B1 (ja) * 2014-09-19 2016-01-20 株式会社 ハイディープ スマートフォン
KR101659492B1 (ko) * 2014-11-10 2016-09-23 한신대학교 산학협력단 정전 용량 감지용 전하 전송 회로 및 이를 포함하는 지문인식장치
US9542588B2 (en) * 2014-11-17 2017-01-10 Cypress Semiconductor Corporations Capacitive fingerprint sensor with quadrature demodulator and multiphase scanning
US20160257198A1 (en) 2015-03-02 2016-09-08 Ford Global Technologies, Inc. In-vehicle component user interface
US9747740B2 (en) 2015-03-02 2017-08-29 Ford Global Technologies, Llc Simultaneous button press secure keypad code entry
US10466119B2 (en) 2015-06-10 2019-11-05 Nextinput, Inc. Ruggedized wafer level MEMS force sensor with a tolerance trench
US9967717B2 (en) 2015-09-01 2018-05-08 Ford Global Technologies, Llc Efficient tracking of personal device locations
US9914418B2 (en) 2015-09-01 2018-03-13 Ford Global Technologies, Llc In-vehicle control location
US9622159B2 (en) 2015-09-01 2017-04-11 Ford Global Technologies, Llc Plug-and-play interactive vehicle interior component architecture
US9860710B2 (en) 2015-09-08 2018-01-02 Ford Global Technologies, Llc Symmetrical reference personal device location tracking
US9744852B2 (en) 2015-09-10 2017-08-29 Ford Global Technologies, Llc Integration of add-on interior modules into driver user interface
US10046637B2 (en) 2015-12-11 2018-08-14 Ford Global Technologies, Llc In-vehicle component control user interface
US10082877B2 (en) 2016-03-15 2018-09-25 Ford Global Technologies, Llc Orientation-independent air gesture detection service for in-vehicle environments
US9914415B2 (en) 2016-04-25 2018-03-13 Ford Global Technologies, Llc Connectionless communication with interior vehicle components
WO2017199221A1 (en) 2016-05-19 2017-11-23 Onshape Inc. Touchscreen precise pointing gesture
WO2018148510A1 (en) 2017-02-09 2018-08-16 Nextinput, Inc. Integrated piezoresistive and piezoelectric fusion force sensor
EP3580539A4 (de) 2017-02-09 2020-11-25 Nextinput, Inc. Integrierte digitale kraftsensoren und zugehörige verfahren zur herstellung
US10140499B1 (en) * 2017-05-25 2018-11-27 Synaptics Incorporated Systems and methods for touch and press detection using a sensor
US11221263B2 (en) 2017-07-19 2022-01-11 Nextinput, Inc. Microelectromechanical force sensor having a strain transfer layer arranged on the sensor die
US11423686B2 (en) 2017-07-25 2022-08-23 Qorvo Us, Inc. Integrated fingerprint and force sensor
WO2019023552A1 (en) 2017-07-27 2019-01-31 Nextinput, Inc. PIEZORESISTIVE AND PIEZOELECTRIC FORCE SENSOR ON WAFER AND METHODS OF MANUFACTURING THE SAME
US11579028B2 (en) 2017-10-17 2023-02-14 Nextinput, Inc. Temperature coefficient of offset compensation for force sensor and strain gauge
US10585539B2 (en) * 2017-10-26 2020-03-10 Novatek Microelectronics Corp. High sensitivity readout circuit for touch panel
US11385108B2 (en) 2017-11-02 2022-07-12 Nextinput, Inc. Sealed force sensor with etch stop layer
US11874185B2 (en) 2017-11-16 2024-01-16 Nextinput, Inc. Force attenuator for force sensor
US11195000B2 (en) 2018-02-13 2021-12-07 FLIR Belgium BVBA Swipe gesture detection systems and methods
US10760949B2 (en) * 2018-09-11 2020-09-01 Acertara Acoustic Laboratories, LLC Piezoelectric pressure wave analysis
US10962427B2 (en) 2019-01-10 2021-03-30 Nextinput, Inc. Slotted MEMS force sensor
US11301099B1 (en) 2019-09-27 2022-04-12 Apple Inc. Methods and apparatus for finger detection and separation on a touch sensor panel using machine learning models
US20230185424A1 (en) * 2021-11-23 2023-06-15 Cirque Corporation Adjusting Cursor Speed
CN114387626B (zh) * 2022-03-23 2022-08-26 合肥的卢深视科技有限公司 一种手势分类方法、装置、电子设备及存储介质

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4302011A (en) * 1976-08-24 1981-11-24 Peptek, Incorporated Video game apparatus and method
US4198539A (en) * 1977-01-19 1980-04-15 Peptek, Inc. System for producing electric field with predetermined characteristics and edge terminations for resistance planes therefor
US4071691A (en) * 1976-08-24 1978-01-31 Peptek, Inc. Human-machine interface apparatus
US4148014A (en) * 1977-04-06 1979-04-03 Texas Instruments Incorporated System with joystick to control velocity vector of a display cursor
US4371746A (en) * 1978-01-05 1983-02-01 Peptek, Incorporated Edge terminations for impedance planes
US4293734A (en) * 1979-02-23 1981-10-06 Peptek, Incorporated Touch panel system and method
US4430917A (en) * 1979-08-22 1984-02-14 Peptek, Incorporated Hand-held musical instrument and systems including a man-machine interface apparatus
US4313113A (en) * 1980-03-24 1982-01-26 Xerox Corporation Cursor control
FR2544103A1 (fr) * 1983-04-08 1984-10-12 Gavilan Computer Corp Dispositif d'entree d'informations dans un ordinateur au moyen d'un panneau a contact
US4511760A (en) * 1983-05-23 1985-04-16 International Business Machines Corporation Force sensing data input device responding to the release of pressure force
JPS6029833A (ja) * 1983-07-28 1985-02-15 Canon Inc 画像表示装置
JPH0668758B2 (ja) * 1986-01-07 1994-08-31 株式会社日立製作所 カーソル制御方法及び3次元図形表示装置
US4988982A (en) * 1987-03-25 1991-01-29 The Grass Valley Group, Inc. Touch pad machine control
US4914624A (en) * 1988-05-06 1990-04-03 Dunthorn David I Virtual button for touch screen
US4918262A (en) * 1989-03-14 1990-04-17 Ibm Corporation Touch sensing display screen signal processing apparatus and method
EP0490001B1 (de) * 1990-12-14 1996-07-10 International Business Machines Corporation Koordinatenprozessor für ein Rechnersystem mit einer Zeigeranordnung
GB2266038B (en) * 1992-03-24 1995-07-12 Afe Displays Limited Information input system for a computer
US5764218A (en) * 1995-01-31 1998-06-09 Apple Computer, Inc. Method and apparatus for contacting a touch-sensitive cursor-controlling input device to generate button values

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102010014462A1 (de) * 2010-04-09 2011-10-13 Ecomal Deutschland Gmbh Steuereinrichtung zum Ansteuern eines elektrischen Verbrauchers und Verfahren zum Betrieb einer solchen Steuereinrichtung

Also Published As

Publication number Publication date
AU4001995A (en) 1996-05-02
EP0870223B1 (de) 2005-08-24
EP1607852A2 (de) 2005-12-21
EP1288773B1 (de) 2014-06-18
EP0870223A1 (de) 1998-10-14
EP1659480A3 (de) 2006-08-09
DE69534404D1 (de) 2005-09-29
EP1607852B1 (de) 2014-06-18
EP1607852A3 (de) 2006-08-09
EP1659480A2 (de) 2006-05-24
EP1288773A2 (de) 2003-03-05
WO1996011435A1 (en) 1996-04-18
US5543591A (en) 1996-08-06
EP1288773A3 (de) 2003-03-19

Similar Documents

Publication Publication Date Title
DE69534404T2 (de) Verfahren zum kompensieren von unbeabsichtigten Bewegungen bei einer Antipgeste auf einer Berührungssensorfläche
DE102012021768B4 (de) Steuerungssystem für ein mehrfeld-eingabegerät
DE102011010919B4 (de) System und Verfahren zur Generierung eines mit einer manuellen Eingabeoperation korrelierenden Signales
EP0777875B1 (de) Positiondetektor eines objektes mit kantenbewegungsmerkmal
DE102011017251B4 (de) Verwendung der Zufalls-Abtast-Technik zur Reduzierung von fingergekoppeltem Rauschen
US5488204A (en) Paintbrush stylus for capacitive touch sensor pad
DE69931005T2 (de) Vorrichtung und Verfahren zur absoluten und relativen Bestimmung eines graphischen Positionsanzeigers
DE112008001800B4 (de) Zweidimensionales Touchpanel
DE112017004677T5 (de) Berührungsempfindliche Tastatur
DE102011016389A1 (de) Multimodus-Berührungsbildschirm-Benutzeroberfläche für eine mehrstufige Berührungsbildschirmvorrichtung
DE112005002019T5 (de) Eingabegerät mit Dreherfassung auf der Basis eines Pucks
DE112013003647T5 (de) Gesten- und Berührungseingabeerfassung durch Kraftabtastung
DE202007007456U1 (de) Berührungsempfindliche Benutzerschnittstelle
DE102010028983A1 (de) Zweidimensionale Berührungssensoren
DE112009002578T5 (de) Spurverfolgung bei Mehrfach-Berührungen
DE102010027732A1 (de) Zweidimensionaler Positionssensor
DE102006005527A1 (de) Hybrid-Zeigevorrichtung
DE102014210267A1 (de) Kapazitive Mehrzustandstaste
DE112012003889T5 (de) Verfahren, Vorrichtung und Computerprogramm, die zum Zeigen auf ein Objekt dienen
DE102012107761A1 (de) Elektronisches Gerät und zugehöriges Betriebsverfahren
DE102017121342A1 (de) Anzeigesteuerungsvorrichtung, anzeigesteuerungssystem und anzeigesteuerungsverfahren
DE112008003924B4 (de) Automatische Aktivierung und Deaktivierung einer Cursorbewegungseinrichtung
WO2004034241A2 (de) Schnell-eingabevorrichtung
EP3811194A1 (de) Verfahren zur taktilen interaktion eines benutzers mit einem elektronischen gerät sowie ein computerprogrammprodukt und ein elektronisches gerät
EP3224695A1 (de) Verfahren zur taktilen interaktion eines benutzers mit einem elektronischen gerät und elektronisches gerät hierzu

Legal Events

Date Code Title Description
8364 No opposition during term of opposition