-
HINTERGRUND
-
Verschiedene Arten von Computern verwenden Berührungsbildschirme, um eine Eingabe von Endnutzern zu empfangen. Allgemein verwendet ein Endnutzer einen Finger oder ein anderes Instrument, um einen physischen Kontakt mit dem Berührungsbildschirm herzustellen. Der mit dem Berührungsbildschirm gekoppelte Computer erfasst den physischen Kontakt und reagiert entsprechend. Obwohl Berührungsbildschirme allgemein dahin gehend angepasst sind, eine Eingabe von einem einzelnen Finger oder sonstigen Instrument zu erfassen, sind sie oft nicht in der Lage, eine gleichzeitige Eingabe von mehreren derartigen Instrumenten ordnungsgemäß zu erfassen und zu verarbeiten. Ferner erfordern Berührungsbildschirme eine hinter dem Bildschirm befindliche Schaltungsanordnung, die unerwünscht viel Raum einnimmt.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Zum Zweck einer ausführlichen Beschreibung exemplarischer Ausführungsbeispiele der Erfindung wird nun auf die beilegenden Zeichnungen Bezug genommen, bei denen:
-
1 ein veranschaulichendes Berührungsbildschirm-Tischrechnersystem gemäß Ausführungsbeispielen zeigt;
-
2 eine dreidimensionale Ansicht der Berührungsbildschirmanzeige bei dem System der 1 gemäß Ausführungsbeispielen zeigt;
-
3 eine Querschnittsansicht der Anzeige der 2 gemäß Ausführungsbeispielen zeigt;
-
4 eine weitere Querschnittsansicht der Anzeige der 2 gemäß Ausführungsbeispielen zeigt;
-
5A eine konzeptionelle Veranschaulichung eines Detektionsgitters auf der Anzeige der 2 gemäß Ausführungsbeispielen zeigt;
-
5B eine dreidimensionale Ansicht der Anzeige der 2 im Betrieb gemäß Ausführungsbeispielen zeigt;
-
6 ein veranschaulichendes Blockdiagramm eines Systems, das hierin offenbarte Techniken implementiert, gemäß Ausführungsbeispielen zeigt;
-
7 ein Zustandsdiagramm eines hierin offenbarten veranschaulichenden Verfahrens gemäß Ausführungsbeispielen zeigt;
-
8A ein veranschaulichendes Blockdiagramm eines weiteren veranschaulichenden Systems, das hierin offenbarte Techniken implementiert, gemäß Ausführungsbeispielen zeigt;
-
8B–8C tatsächliche Berührungspunkte und/oder Phantomberührungspunkte, wie sie durch das System der 8A erfasst werden, gemäß Ausführungsbeispielen zeigen;
-
9 ein veranschaulichendes Blockdiagramm eines generischen Computersystems, das hierin offenbarte Techniken implementiert, gemäß Ausführungsbeispielen zeigt; und
-
10 eine konzeptionelle Veranschaulichung von bei dem generischen Computersystem der 9 implementierter Softwarearchitektur gemäß Ausführungsbeispielen zeigt.
-
BEZEICHNUNG UND NOMENKLATUR
-
Bestimmte Begriffe werden in der gesamten folgenden Beschreibung und in den folgenden Patentansprüchen verwendet, um auf bestimmte Systemkomponenten Bezug zu nehmen. Wie Fachleuten einleuchten wird, können Firmen unter verschiedenen Namen auf eine Komponente Bezug nehmen. Das vorliegende Dokument beabsichtigt nicht, zwischen Komponenten zu unterscheiden, die sich bezüglich ihres Namens, jedoch nicht ihrer Funktion unterscheiden. In der folgenden Erörterung und in den Patentansprüchen werden die Begriffe „umfassen” und „aufweisen” auf offene Weise verwendet und sollten somit dahin gehend interpretiert werden, dass sie „umfassen, aber nicht beschränkt sein auf ...” bedeuten. Ferner soll der Begriff „koppeln” oder „koppelt” entweder eine indirekte, direkte, optische oder drahtlose elektrische Verbindung bezeichnen. Falls also eine erste Vorrichtung mit einer zweiten Vorrichtung gekoppelt wird, kann diese Verbindung durch eine direkte elektrische Verbindung, durch eine indirekte elektrische Verbindung über andere Vorrichtungen und Verbindungen, durch eine optische elektrische Verbindung oder durch eine drahtlose elektrische Verbindung erfolgen. Der Begriff „benachbart” kann „neben” oder „in der Nähe” bedeuten. Falls sich beispielsweise eine Komponente B zwischen den Komponenten A und C befindet, kann die Komponente C als zu beiden Komponenten A und B benachbart beschrieben werden.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Die folgende Erörterung ist auf verschiedene Ausführungsbeispiele der Erfindung gerichtet. Obwohl eines oder mehrere dieser Ausführungsbeispiele bevorzugt sein kann bzw. können, sollten die offenbarten Ausführungsbeispiele nicht als Einschränkung des Schutzumfangs der Offenbarung, einschließlich der Patentansprüche, interpretiert oder auf andere Weise verwendet werden. Außerdem wird Fachleuten einleuchten, dass die folgende Beschreibung eine breite Anwendung hat, und die Erläuterung jeglichen Ausführungsbeispiels soll lediglich beispielhaft für dieses Ausführungsbeispiel sein und soll nicht andeuten, dass der Schutzumfang der Offenbarung, einschließlich der Patentansprüche, auf dieses Ausführungsbeispiel beschränkt sei.
-
Hierin ist ein Berührungsbildschirmsystem offenbart, das in der Lage ist, mehrere, gleichzeitige Berührungen zu erfassen. Das System umfasst mehrere benachbarte Schichten: eine Glasschicht (bzw. „Wellenleiter”-Schicht), eine Lichtquelle/Detektor-Schicht und eine Spiegelschicht zwischen der Glas- und der Quelle/Detektor-Schicht. Die Quelle/Detektor-Schicht umfasst mehrere Lichtquellen, die entlang einer Seite der Schicht angeordnet sind, und mehrere Lichtdetektoren, die entlang einer anderen Seite (z. B. benachbart und nicht gegenüberliegend) Seite der Schicht angeordnet sind. Die Spiegelschicht umfasst eine Mehrzahl von Spiegeln. Jeder Spiegel ist zu einer anderen Lichtquelle oder einem anderen Detektor der Quelle/Detektor-Schicht benachbart. Licht, das von einer Lichtquelle emittiert wird, wird von einem Spiegel in der Spiegelschicht reflektiert und tritt in die Glasschicht ein. Licht, das aus der Glasschicht austritt, wird von einem Spiegel in der Spiegelschicht reflektiert und wird durch einen Lichtdetektor in der Quelle/Detektor-Schicht erfasst. Da die Lichtquellen und Detektoren „hinter” der Glasschicht angeordnet sind statt entlang eines Umfangs der Glasschicht, wird Raum eingespart.
-
Im Betrieb werden die Lichtquellen in einer schnell feuernden Kaskadensequenz aktiviert. In dem Zeitraum, während dessen jede Lichtquelle aktiviert wird, wird auch jeder der Lichtdetektoren in einer schnell feuernden Kaskadensequenz aktiviert. Diese Lichtemission/-erfassung-Sequenz bildet im Wesentlichen ein „Gitter”, das den Berührungsbildschirm rasch und wiederholt nach Berührungen „abtastet”. Wenn also beispielsweise ein Finger den Berührungsbildschirm an einer Stelle „A” berührt, emittiert die auf die Stelle A ausgerichtete Lichtquelle Licht, bevor der Finger von dem Berührungsbildschirm weggenommen werden kann. Der Finger streut das Licht, und der auf die Stelle A ausgerichtete Lichtdetektor erfasst das gestreute Licht Der Berührungsbildschirm bestimmt den Punkt, an dem die Lichtquelle, die das Licht emittierte, und der Lichtdetektor, der das gestreute Licht erfasste, „einander schneiden”. Dieser Schnittpunkt wird als die Berührungsstelle ermittelt Dieselbe Technik kann für eine jegliche Anzahl gleichzeitiger Berührungen verwendet werden. Es werden mm verschiedene Ausführungsbeispiele dieser Technik beschrieben.
-
1 zeigt ein veranschaulichendes Computersystem 100. Das Computersystem 100 umfasst eine Anzeige 102 und ein Gehäuse 104, das verschiedene Computerkomponenten, einschließlich Prozessoren, Speicher, Videokarten usw. beherbergt Zumindest bei manchen Ausführungsbeispielen umfasst die Anzeige 102 eine Berührungsbildschirmanzeige. Bei manchen derartigen Ausführungsbeispielen ist die Anzeige 102 eine primäre Eingabevorrichtung, so dass eine Tastatur, Maus usw. unnötig sind. Bei Ausführungsbeispielen, bei denen die Anzeige 102 eine Berührungsbildschirmanzeige umfasst, kann die Anzeige 102 für jegliche Art von Stimulus, einschließlich einer menschlichen Berührung, eines Schreibstiftes usw., empfänglich sein. Obwohl das Computersystem 100 in 1 als Tischrechner gezeigt ist, können Variationen des Computersystems 100 Notebook-Computer, persönliche digitale Assistenten (PDAs – personal digital assistants), tragbare Musikabspielgeräte, Mobiltelefone, Fernseher usw. umfassen. Die hierin offenbarten Techniken können bei manchen oder allen derartigen Vorrichtungen implementiert werden.
-
2 zeigt eine ausführliche, dreidimensionale Ansicht der Anzeige 102 der 1. Die Anzeige 102 umfasst mehrere Schichten. Im Einzelnen umfasst die Anzeige 102 eine Glasschicht 200, eine zu der Glasschicht 200 benachbarte Spiegelschicht 202 und eine zu der Glasschicht 200 und der Spiegelschicht 202 benachbarte Lichtquelle/Detektor-Schicht (LSDL – light source/detector layer) 204. Ebenfalls benachbart zu der Glasschicht 200 ist eine Anzeigeoberfläche wie z. B. eine Flüssigkristallanzeige oder eine Plasmaanzeige (in 3–4 gezeigt). Die Glasschicht 200, die auch als „Berührungsbildschirm” oder „Wellenleiterschicht” bezeichnet wird, umfasst jegliche geeignete Art von Glas, das in der Lage ist, Licht (z. B. Licht von einem vorbestimmten Lichtwellenlängenband) durch die Glasschicht 200 zu leiten. Zumindest bei manchen Ausführungsbeispielen leitet die Glasschicht 200 Licht unter Verwendung der als innere Totalreflexion bekannten Technik ohne übermäßige Absorption.
-
Die LSDL 204 umfasst eine Mehrzahl von Lichtquellen 212 (z. B. Infrarotlaserdioden), die entlang einer Seite (z. B. einem Rand) der LSDL 204 angeordnet sind, und eine Mehrzahl von Detektoren 210, die entlang einer anderen Seite der LSDL 204 angeordnet sind. Obwohl die Lichtquellen 212 und die Detektoren 210 je nach Wunsch auf jeglicher der Seiten der LSDL 204 angeordnet sein können, sind die Lichtquellen 212 zumindest bei manchen Ausführungsbeispielen allesamt auf einer gemeinsamen Seite der LSDL 204 angeordnet, und die Detektoren 210 sind allesamt auf einer anderen gemeinsamen Seite der LSDL 204 angeordnet. Ferner ist bzw. sind bei manchen Ausführungsbeispielen die Seite(n) der LSDL 204, die die Lichtquellen 212 aufweist bzw. aufweisen, im Wesentlichen orthogonal zu der Seite bzw. den Seiten der LSDL 204, die die Detektoren 210 aufweist bzw. aufweisen. Die Lichtquellen 212 können beispielsweise Infrarotlicht emittierende Dioden, Infrarotlaserdioden usw. umfassen. Die Detektoren 210 können jegliche geeignete Art von Lichtdetektor umfassen, beispielsweise Komplementär-Metalloxid-Halbleiter-Sensoren (CMOS-Sensoren, CMOS = complementary metal-oxide semiconductor), umfassen.
-
Die Spiegelschicht 202, die an die Glasschicht 200 und die LSDL 204 angrenzt oder zumindest benachbart zu denselben ist, umfasst eine Mehrzahl von Spiegelpaaren 214. Bei manchen Ausführungsbeispielen stimmt die Gesamtanzahl von Spiegelpaaren 214 mit der Gesamtanzahl von Detektoren 210 und Lichtquellen 212 überein, wobei für jede(n) Detektor 210 oder Lichtquelle 212 ein Spiegelpaar vorhanden ist. Die Spiegelpaare 214 können je nach Bedarf in der Spiegelschicht 202 angeordnet sein, um eine ordnungsgemäße Einbringung von Licht in die sowie die ordnungsgemäße Extraktion von Licht aus der Glasschicht 200 zu erzielen. Zumindest bei manchen Ausführungsbeispielen ist jedoch jedes Spiegelpaar 214 direkt über (z. B. näher an der Glasschicht 200) einem Detektor 210 oder einer Lichtquelle 212 angeordnet. Bei manchen Ausführungsbeispielen kann ein einziges Paar von im Wesentlichen zylindrischen Spiegeln dazu verwendet werden, eine Lichtextraktion aus der bzw. die Einbringung von Licht in die Glasschicht 200 für mehrere Detektoren oder Lichtquellen entlang einer einzigen Seite der Anzeige 102 zu ermöglichen. Anders ausgedrückt kann bei manchen Ausführungsbeispielen ein einziges Paar von zylindrischen Spiegeln die Länge der Spiegelschicht 202 überspannen, wodurch es manche der oder alle Lichtquellen 212 bedient. Desgleichen kann ein anderes Paar zylindrischer Spiegel die Breite der Spiegelschicht 202 überspannen, wodurch es einen der oder alle Detektoren 210 bedient. Bei manchen derartigen Ausführungsbeispielen kann eine Abschirmvorrichtung zwischen Spiegeln in einem einzelnen Paar angeordnet sein, um Lichtstreuung abzumildern.
-
Da die Anzeige 102 einen Berührungsbildschirm umfasst, und da außerdem die Detektoren 210, Lichtquellen 212 und Spiegelpaare 214 zum Erfassen von Berührungen (z. B. menschliche Finger, Schreibstifte) verwendet werden, wie nachstehend beschrieben wird, kann eine Beabstandung zwischen jedem der Detektoren, jeder der Lichtquellen und jedem der Spiegelpaare ungefähr äquivalent zu einer Breite und/oder Länge der durchschnittlichen menschlichen Fingerspitze sein (z. B. mindestens zwischen 0,01 mm und 10 mm). Bei anderen Ausführungsbeispielen kann die Beabstandung zwischen jedem der Detektoren, zwischen jeder der Lichtquellen und/oder zwischen jedem der Spiegel ungefähr äquivalent zu einer Breite einer Schreibstiftspitze (z. B. mindestens zwischen 0,25 und 2 mm) sein, die zur Verwendung bei der Anzeige 102 hergestellt wird. Auch andere Breiten können verwendet werden.
-
Die Detektoren 210 und Lichtquellen 212 koppeln mit einer Schaltungslogik in dem Gehäuse 104, wie in 6 gezeigt ist und wie nachstehend näher beschrieben wird. Die Schaltungslogik in dem Gehäuse 104 versorgt die Detektoren 210 und die Lichtquellen 212 mit Leistung. Auch steuert die Schaltungslogik die Lichtquellen 212 (z. B. schaltet sie die Lichtquellen ein/aus) und die Detektoren 210 (z. B. schaltet sie die Detektoren ein/aus und empfängt Daten von den Detektoren). Bei manchen Ausführungsbeispielen ist die Schaltungslogik statt in dem Gehäuse 104 in der Anzeige 102 untergebracht.
-
Im Betrieb emittieren die Lichtquellen 212 Licht, z. B. Infrarotlaserlicht. Dieses Licht wird seitens der Spiegelpaare 214 reflektiert und der Glasschicht 200 bereitgestellt. Lichtwellenformen wandern in der Glasschicht 200, wie nachstehend beschrieben wird. Wenn ein Nutzer des Computersystems 100 die Anzeige 102 (z. B. unter Verwendung eines Finger, Schreibstifts oder einer anderen geeigneten Vorrichtung) berührt, werden die Wellenformen in der Glasschicht 200 an der Kontaktstelle zwischen der Glasschicht 200 und dem Finger oder Schreibstift gestört. Da Licht in der Glasschicht 200 innere totale Totalreflexion nutzt, bewirkt ein Kontakt mit der Glasschicht 200 – oder sogar eine Nähe zu der Glasschicht 200 – eine Störung der Lichtmuster in der Glasschicht 200. Eine derartige Störung wird als „frustrierte innere Totalreflexion” bezeichnet. Einer der Detektoren 210 erfasst diese Störung und meldet sie über ein Benachrichtigungssignal an die Schaltungslogik in dem Gehäuse 104. Indem sie bestimmt, welche Lichtquelle und welcher Detektor der Störung entsprechen, kann die Schaltungslogik die genaue Örtlichkeit der Berührung auf der Glasschicht 200 ermitteln. Die Schaltungslogik liefert diese Örtlichkeitsinformationen anschließend je nach Wunsch an Softwareanwendungen. Auf diese Erfassungstechnik wird nun weiter eingegangen.
-
Die gestrichelte Linie 206 in 2 entspricht der in 3 gezeigten Querschnittsansicht der Anzeige 102. Zusätzlich dazu, dass sie die Komponenten der 2 zeigt, zeigt 3 die zuvor erwähnte Anzeigeoberfläche 304. Zumindest bei manchen Ausführungsbeispielen umfasst die Glasschicht 200 eine Beschichtung auf ihrer Oberfläche zwischen der Glasschicht 200 und der Anzeigeoberfläche, so dass die innere Totalreflexion in der Glasschicht 200, die oben beschrieben wurde, nicht allein auf Grund der Nähe zu der Anzeigeoberfläche gestört bzw. „frustriert” wird Die Beschichtung kann ein beliebiges geeignetes, transparentes Material umfassen, das einen anderen Brechungsindex als die Glasschicht 200 aufweist, so dass die Nähe der Glasschicht 200 zu der Anzeigeoberfläche die Fähigkeit der Glasschicht 200 zur inneren Totalreflexion nicht frustriert.
-
Wie gezeigt ist, emittiert die Lichtquelle 212 im Betrieb Licht hin zu der Spiegelschicht 202. Die Spiegelschicht 202 umfasst ein Spiegelpaar 214, das auf die Lichtquelle 212 ausgerichtet ist. Das Spiegelpaar 214 umfasst zwei Komponenten – einen Spiegel 214a und einen anderen Spiegel 214b. Zumindest bei manchen Ausführungsbeispielen sind diese Spiegelkomponenten gekrümmt Mehrere Spiegelkomponenten ermöglichen die Verteilung von Licht in der gesamten Glasschicht 200. Insbesondere trifft der aus der Lichtquelle 212 emittierte Lichtstrahl zuerst auf dem Spiegel 214a auf der den Lichtstrahl zu dem Spiegel 214b hin reflektiert. Der Spiegel 214b wiederum reflektiert den Lichtstrahl in die Glasschicht 200. Die Spiegel 214a und 214b sind relativ zueinander abgewinkelt, so dass dann, wenn der Spiegel 214b den Lichtstrahl reflektiert, der Lichtstrahl in einem Bereich von Winkeln in die Glasschicht 200 eingebracht wird, von denen jeder geringer ist als der kritische Winkel, der erforderlich ist, damit eine innere Totalreflexion auftritt. Dieser Winkelbereich ist ausreichend groß, um die Lichtwellenform in der Glasschicht 200 zu sättigen (d. h. er verhindert Zwischenräume in derselben). Im Einzelnen werden Wellenformen 300 und 302 in die Glasschicht 200 eingebracht. Die Wellenform 300 ist repräsentativ für Licht, das in dem für eine innere Totalreflexion erforderlichen kritischen Winkel eingebracht wird. Die Wellenform 302 ist repräsentativ für Licht, das in dem gewünschten Winkelbereich, der geringer ist als der zuvor erwähnte kritische Winkel, eingebracht wird. Die Wellenform 302 wird eingebracht, um jegliche Zwischenräume, die durch die Wellenform 300 nicht abgedeckt sind, zu sättigen bzw. „zu füllen”. Insgesamt sättigt das Licht, das mit Winkeln eintritt, die zwischen denen der Wellenformen 300 und 302 liegen, zumindest einen Teil der Glasschicht 200 mit Licht. Bei manchen Ausführungsbeispielen sättigt Licht, das durch eine einzige Lichtquelle 212 emittiert wird, nicht die gesamte Glasschicht 200, sondern sättigt stattdessen lediglich einen Teil der Glasschicht 200, wie in 5B gezeigt und nachstehend beschrieben ist Die gestrichelte Linie 208 in 2 entspricht der in 4 gezeigten Querschnittsansicht der Anzeige 102. Eine Störung von Licht, die durch eine Berührung auf der Glasschicht 200 bewirkt wird, ist als der veranschaulichende Lichtstrahl 401 gezeigt. Die Spiegelschicht 202 umfasst ein Spiegelpaar 214. Das Spiegelpaar 214 der 4 umfasst Spiegelkomponenten 400a und 400b. Der Spiegel 400b empfängt den veranschaulichenden Lichtstrahl 401 und reflektiert ihn zu dem Spiegel 400a. Der Spiegel 400a wiederum liefert den veranschaulichenden Lichtstrahl 401 an den Detektor 210. Der Detektor 210 wiederum fängt den veranschaulichenden Lichtstrahl ein und liefert Daten, die sich auf den eingefangenen Lichtstrahl beziehen, an die Schaltungslogik in der Anzeige 102 und/oder dem Gehäuse 104.
-
5A zeigt ein konzeptionelles „Erfassungsgitter”, das durch die Anordnung der Lichtquellen 212 und der Detektoren 210 in der Anzeige 102 gebildet ist, wie in 2 gezeigt ist. Die Veranschaulichung der 5A ist eine von oben nach unten verlaufende Ansicht Jede der horizontalen Linien in dem konzeptionellen Gitter stellt einen diskreten Lichtstrahl dar, der durch eine Lichtquelle 212 emittiert werden kann. Kollektiv werden diese Lichtstrahlen als Array von Lichtstrahlen 500 bezeichnet Zur Vereinfachung der Bezugnahme und Erörterung sind den Lichtstrahlen Bezugszeichen 1–24 zugewiesen. Jede der vertikalen Linien in dem konzeptionellen Gitter stellt einen diskreten Erfassungspfad dar. Licht, das durch einen Finger oder einen Schreibstift gestört wird, wandert an dem Erfassungspfad entlang zu einem Detektor 210. Kollektiv werden diese Detektorpfade als Array von Detektorpfaden 502 bezeichnet Zur Vereinfachung der Bezugnahme und Erörterung sind den Detektorpfaden Bezugszeichen 25–58 zugewiesen.
-
Unter gleichzeitiger Bezugnahme auf 2 und 5A bewirkt das Computersystem 100 im Betrieb, dass jede der Lichtquellen 212 abwechselnd feuert (d. h. Licht emittiert und dann aufhört, Licht zu emittieren). Somit feuert beispielsweise eine Lichtquelle 212, die dem Lichtstrahl 1 entspricht, zuerst, gefolgt von der Lichtquelle, die dem Lichtstrahl 2 entspricht, gefolgt von der Lichtquelle, die dem Lichtstrahl 3 entspricht, usw. Auf diese Weise feuert jede der Lichtquellen 212 der Reihe nach, so dass, nachdem die dem Lichtstrahl 24 zugeordnete Lichtquelle 212 feuert, erneut die Lichtquelle 212, die dem Lichtstrahl 1 entspricht, feuert. Anders ausgedrückt feuern die Lichtquellen 212 nach der „Reihum”-Methode (Round-Robin-Methode). Der Feuerungszeitraum (d. h. die Zeitdauer, während derer eine Lichtquelle Licht emittiert) kann eine beliebige geeignete Zeitdauer aufweisen (z. B. ungefähr weniger als 1 Pikosekunde – 1 Millisekunde). Der Verzögerungszeitraum (d. h. die Zeitdauer zwischen dem Zeitpunkt, zu dem eine Lichtquelle aufhört, Licht zu emittieren, und dem Zeitpunkt, zu dem die nächste Lichtquelle beginnt, Licht zu emittieren) kann ebenfalls eine beliebige geeignete Zeitdauer aufweisen (z. B. ungefähr weniger als 1 Pikosekunde 1 Millisekunde). Andere Geschwindigkeiten können ebenfalls verwendet werden.
-
Jedes Mal, wenn eine Lichtquelle abgefeuert wird, aktiviert die Schaltungslogik, die die Detektoren 210 steuert, jeden der Detektoren 210 nach der „Reihum”-Methode. Während beispielsweise die Lichtquelle 212 des Lichtstrahls 1 abgefeuert wird, wird jeder der Detektoren 210 aktiviert und deaktiviert, so dass jeder Pfad 25–58 bezüglich etwaiger Lichtstörungen, die durch eine Anzeigeberührung bewirkt werden, abgetastet wird. Nachdem alle Detektorpfade abgetastet wurden, beendet die Lichtquelle 212 des Lichtstrahls 1 das Abfeuern, und stattdessen feuert die Lichtquelle 212 des Lichtstrahls 2 ab. Während die Lichtquelle 212 des Lichtstrahls 2 abfeuert, wird wieder jeder der Detektorpfade 25–58 nach der Reihum-Methode abgetastet, um etwaige durch eine Anzeigeberührung bewirkte Lichtstörungen zu erfassen. Dieser Prozess wird unendlich fortgesetzt. Wenn eine Lichtstörung durch einen Detektor 210 erfasst wird, sendet der Detektor 210 ein Signal an seine Steuerlogik, wobei er die Steuerlogik von einer möglichen Berührung benachrichtigt. Der Erfassungszeitraum (d. h. die Zeitdauer, während derer ein Detektor aktiviert ist) kann eine beliebige geeignete Zeitdauer aufweisen (z. B. ungefähr weniger als 1 Nanosekunde – 1 Sekunde). Der Erfassungsverzögerungszeitraum (d. h. die Zeitdauer zwischen dem Zeitpunkt, zu dem ein Detektor abgeschaltet wird, und dem Zeitpunkt, zu dem der nächste Detektor aktiviert wird), kann ebenfalls eine beliebige geeignete Zeitdauer aufweisen (z. B. ungefähr weniger als 1 Pikosekunde – 1 Millisekunde). Andere Geschwindigkeiten können ebenfalls verwendet werden. Auf diese Weise arbeiten die Lichtquellen 212 und die Detektoren 210 zusammen, um die Anzeige 102 wiederholt nach Berührungen „abzutasten”. Zumindest bei manchen Ausführungsbeispielen beträgt die Zeit, die zum „Abtasten” des gesamten in 5A gezeigten Gitters benötigt wird (z. B. weniger als 1 Pikosekunde – 1 Sekunde) weniger als der Mindestzeitraum, den ein Finger oder Schreibstift während einer Berührung in Kontakt mit oder in der Nahe der Glasschicht 200 der Anzeige 102 verbringen könnte.
-
Unter fortgesetzter Bezugnahme auf 5A ist ein veranschaulichender Berührungspunkt 504 gezeigt. Der Berührungspunkt 504 zeigt eine Stelle auf der Anzeige 102 an, an der ein Finger, Schreibstift oder eine sonstige Vorrichtung während eines Interagieren mit einer graphischen Nutzerschnittstelle (GUI – graphical user interface), die auf der Anzeige 102 angezeigt wird, verwendet worden sein kann (z. B. in Verbindung mit einer Softwareanwendung). Im Betrieb, nach dem Abtasten jedes der Detektorpfade 25–58 (unter Verwendung der Detektoren 210) während jedes Abfeuerns von Lichtquellen, die den Lichtstrahlen 1–8 zugeordnet sind, wurden eventuell keine Lichtstörungen erfasst. Wenn jedoch die dem Lichtstrahl 9 zugeordnete Lichtquelle 212 abgefeuert wird, bewirkt die auf der Anzeige 102 an dem Berührungspunkt 504 aufgeprägte Berührung, dass das Licht gestört wird. Wenn der dem Detektorpfad 38 zugeordnete Detektor 210 das gestörte Licht erfasst, sendet der Detektor 210 ein Benachrichtigungssignal an seine Schaltungslogik. Die Schaltungslogik wiederum bestimmt, 1) welcher Detektor 210 und 2) welche Lichtquelle 212 zum Zeitpunkt der Erfassung aktiviert waren. Dann bestimmt die Schaltungslogik den Schnittpunkt auf dem Gitter, der dem Erfassungspfad dieses Detektors und dem Lichtstrahl dieser Lichtquelle entspricht. Dieser Schnittpunkt wird als der Berührungspunkt ermittelt. Die Schaltungslogik leitet den Schnittpunkt je nach Bedarf an die Verarbeitungslogik, Softwareanwendung(en) usw. weiter.
-
5B veranschaulicht den oben beschriebenen Erfassungsprozess. Die Lichtquelle 212 verwendet Spiegel 214a–b, um den Lichtstrahl 9 der 5A zu emittieren, wie gezeigt ist. Ein Finger 506 berührt die Anzeige 102 an dem Berührungspunkt 504. Die Fingerberührung bewirkt, dass Licht von dem Strahl 9 gestört wird bzw. „entweicht”, als gestörtes Licht 508 gezeigt. Unter Verwendung von Spiegeln 214c–d erfasst der Detektor 210 (der dem Erfassungspfad 38 der 5A entspricht) das gestörte Licht 508. Anschließend erzeugt und sendet der Detektor 210 Berichtigungssignal(e), wie oben beschrieben wurde. Mehrere (z. B. gleichzeitige) Berührungen können ebenfalls unter Verwendung der obigen Techniken erfasst werden.
-
6 zeigt die Anzeige 102, die die Lichtquellen 212 und die Detektoren 210 umfasst. Die Lichtquellen 212 und die Detektoren 210 sind mit einer Anzeigesteuerlogik 602 gekoppelt. Die Anzeigesteuerlogik 602 steuert die Lichtquellen 212 und die Detektoren 210, wie oben beschrieben wurde. Die Anzeigesteuerlogik 602 kann mit einer Speicherung 600 gekoppelt sein, die eine oder mehrere Anwendungen 606 umfasst. Die Anwendung(en) 606, wenn sie ausgeführt wird bzw. werden, bewirkt bzw. bewirken, dass die Anzeigesteuerlogik 602 zumindest einige der oben beschriebenen Funktionen ausführt, und kann bzw. können eine Hintergrundsubtraktion und/oder eine Kalibrierung umfassen. Die Anzeigesteuerlogik 602 kann in dem Computersystemgehäuse 104 oder in der Anzeige 102 eingehäust sein. Die Anzeigesteuerlogik 602 ist mit einer Verarbeitungslogik 604 gekoppelt. Die Verarbeitungslogik 604 handhabt viele der Verarbeitungsfunktionen des Computersystems 100, z. B. ausführende Betriebssysteme, Softwareanwendungen usw. Die Verarbeitungslogik 604 kann eine oder mehrere in der Speicherung 610 gespeicherte Anwendungen 608 ausführen und die Anwendung(en) mit erfassten Berührungsinformationen versehen. Von den Detektoren 210 empfangene Berührungsdaten können durch die Anzeigesteuerlogik 602 verarbeitet werden. In manchen Fällen werden eventuell mehrere Berührungen empfangen. Um zu gewährleisten, dass mehrere Berührungen richtig interpretiert werden, analysiert eine Anwendung 606 die den Berührungen zugeordnete Zeitgebung (z. B. zwischen Berührungen). Obwohl die Technik hierin dahin gehend beschrieben ist, auf die Anwendung 606 codiert zu sein und durch die Anzeigesteuerlogik 602 ausgeführt zu werden, können auch eine Anwendung 608 und eine Verarbeitungslogik 604 verwendet werden. Bei manchen Ausführungsbeispielen können andere, ähnliche Anwendungen und/oder eine andere, ähnliche Verarbeitungslogik verwendet werden. Die Technik wird nun ausführlich beschrieben.
-
7 zeigt ein Zustandsdiagramm eines gemäß Ausführungsbeispielen implementierten veranschaulichenden Verfahrens 700. Unter Bezugnahme auf 6 und 7 beginnt das Verfahren 700, indem es in einem „Eingabe-Erwarten-Zustand” eine Eingabe erwartet (Block 702). Beispielsweise kann sich die Anzeigesteuerlogik 602 in einem Ruhe- oder Wartezustand befinden. Falls die Anzeigesteuerlogik 602 auf der Anzeige 102 eine einzelne Berührung erfasst (Pfeil 704), zeichnet die Anzeigesteuerlogik 602 die Zeit und die Position der Berührung auf (z. B. in einem Register in der Speicherung 600). Die Anzeigesteuerlogik 602 befindet sich nun in einem „Bestätigung-Erwarten-Zustand” (Block 706). Anders ausgedrückt hat die Anzeigesteuerlogik 602 eine Berührung erfasst und wartet nun darauf, zu bestimmen, ob eine weitere Berührung empfangen werden soll. Während die Anzeigesteuerlogik 602 wartet, verwendet sie einen internen (nicht speziell gezeigten) Zähler oder sonstigen Mechanismus, um zu bestimmen, wie viel Zeit seit der an dem Pfeil 704 erfassten Berührung verstrichen ist. Falls die Zeitdauer eine vorbestimmte Schwelle (die z. B: vorab in die Anwendung 606 einprogrammiert wurde; Pfeil 708) überschreitet, oder falls eine weitere Berührung an einer Stelle erfasst wird, die eine vorbestimmte Abstandsschwelle von der ursprünglichen Berührungsstelle überschreitet (die z. B. vorab in die Anwendung 606 einprogrammiert wurde; Pfeil 708), bestätigt die Anzeigesteuerlogik 602, dass eine und nur eine Berührung empfangen wurde (Block 710). Anders ausgedrückt tritt die Anzeigesteuerlogik 602 in einen „Eins-Bestätigt-Zustand” ein (Block 710), und die Position der Berührung wird aufgezeichnet. Wenn alle Berührungsvorrichtungen von der Anzeige 102 beseitigt wurden (Pfeil 712), kehrt die Anzeigesteuerlogik 602 zu einem „Eingabe-Erwarten-Zustand” (Block 702) zurück.
-
Die oben beschriebene vorbestimmte Zeitschwelle wird dahin gehend gewählt, ausreichend Spielraum dafür zu lassen, dass zwei Berührungen als gleichzeitige Berührungen erfasst werden, obwohl die Berührungen zu verschiedenen Zeitpunkten empfangen wurden. Diese Situation entsteht, wenn die Berührungen zu getrennten Zeitpunkten erfasst werden oder wenn die Berührungen zur gleichen Zeit erfasst werden, dann jedoch auseinander bewegt werden (z. B. indem die Finger gespreizt werden).
-
Falls die Anzeigesteuerlogik 602, während sie sich in dem „Eins-Bestätigt Zustand” befindet, eine zweite Berührung erfasst, kann die Anzeigesteuerlogik 602 identifizieren, welche der zwei Berührungen der ursprünglichen Berührung, die in dem „Eins-Bestätigt-Zustand” bestätigt wurde, am nächsten ist. Die Anzeigesteuerlogik 602 kann diese identifizierte Berührung als die ursprüngliche Berührung bezeichnen. Jedoch geht die Anzeigesteuerlogik 602 allgemein nicht direkt von einer Bestätigung einer Berührung zu einer Bestätigung zweier Berührungen über.
-
Falls die Anzeigesteuerlogik 602, während sie sich in dem „Bestätigung-Erwarten-Zustand” befindet (Block 706), eine zweite Berührung (Pfeil 714) erfasst, tritt die Anzeigesteuerlogik 602 in einen „Zwei-Bestätigt-Zustand” ein (Block 716), in dem zwei Berührungen bestätigt und die Positionen der Berührungen aufgezeichnet werden. Die zweite Berührung (Pfeil 714) muss innerhalb des zuvor erwähnten Schwellenzeitrahmens empfangen werden. Die zweite Berührung (Pfeil 714) muss sich auch in einer Position befinden, die außerhalb der zuvor erwähnten Positionsschwelle liegt. Ansonsten folgt man dem Pfeil 708 bis zu dem „Eins-Bestätigt-Zustand” (Block 710).
-
Einem weiteren Pfad kann man bis zu dem „Zwei-Bestätigt Zustand” folgen (Block 716). Falls die Anzeigesteuerlogik 602, während sie sich in dem „Eingabe-Erwarten-Zustand” (Block 702) befindet, zwei gleichzeitige Berührungen (Pfeil 718) erfasst, tritt die Anzeigesteuerlogik 602 in den „Zwei-Bestätigt-Zustand” (Block 716) ein. Falls die Anzeigesteuerlogik 602, während sie sich in dem „Zwei-Bestätigt-Zustand” (Block 716) befindet, bestimmt, dass alle Berührungsvorrichtungen von der Anzeige 102 beseitigt wurden (Pfeil 720), kehrt die Anzeigesteuerlogik 602 zu dem „Eingabe-Erwarten-Zustand” (Block 702) zurück.
-
Während des „Zwei-Bestätigt-Zustands” 716 kann eine der Berührungen von dem Berührungsbildschirm beseitigt werden, während die andere Berührung bleibt. In diesem Fall erkennt die Anzeigesteuerlogik 602 weiterhin zwei Berührungen. Die Anzeigesteuerlogik 602 nähert die Stelle der nun fehlenden Berührung unter Verwendung von Vektoren an. Im Einzelnen wird die fehlende Berührungsposition an dem Endpunkt eines Vektors angenähert, dessen Ursprung der Berührung entspricht die noch auf dem Berührungsbildschirm vorhanden ist. Der Vektor erhält denselben Winkel und dieselbe Länge aufrecht wie ein zweiter Vektor, der von den einzelnen Positionen der letzten zwei (oder mehr) aufgezeichneten Berührungspositionen abgeleitet ist. Insbesondere wird der Ursprung des zweiten Vektors so gewählt, dass er diejenige einzelne Position der letzten zwei (oder mehreren) aufgezeichneten Positionen ist, die der empfangenen, singulären Berührungsposition am nächsten ist.
-
Die Schritte des Verfahrens 700 können dahin gehend angepasst werden, mehr als zwei Berührungen zu erfassen. Der bzw. die oben beschriebene Schwellenzeitrahmen und Positionsschwelle sind beide nutzereinstellbar. Alle derartigen Variationen sind in dem Schutzumfang der vorliegenden Offenbarung enthalten.
-
8A zeigt ein weiteres System 800, bei dem das Verfahren 700 implementiert werden kann. Das System 800 umfasst eine Verarbeitungslogik 802, eine Speicherung 804, die Anwendungen 806–807 umfasst eine Anzeigesteuerlogik 808, eine Anzeige 810, einen Berührungsbildschirm 812, Lichtsende-/-empfangsgeräte 814 und 816 und eine Speicherung 818, die Anwendungen 820 und 822 umfasst. Der Berührungsbildschirm 812 umfasst entlang seiner Kanten ein nachstehend beschriebenes retroreflektierendes Band 830. Die Technik des Verfahrens 700 kann auf Software, beispielsweise die Anwendung 806, codiert werden und durch die Verarbeitungslogik 802 ausgeführt werden. Alternativ dazu kann die Technik des Verfahrens 700 auf Software, z. B. die Anwendung 820, codiert werden und durch die Anzeigesteuerlogik 808 ausgeführt werden. Anders als das System 100, das ein Gitter von Lichtquellen und Detektoren zum Erfassen von Berührungen verwendet umfasst das System 800 eine Mehrzahl von Lichtsende-/-empfangsgeräten 814 und 816, die beide Licht senden und Hindernisse erfassen, die auf dem Berührungsbildschirm 812 vorliegen.
-
8B zeigt das System 800 im Betrieb. Angenommen, ein Nutzer benutzt einen Finger, um den Berührungsbildschirm 812 an einem Berührungspunkt 824 zu berühren. Die Anzeigesteuerlogik 808 bewirkt, dass das Lichtsende-/-empfängsgerät 814 Licht (z. B. Infrarotlicht) über den Berührungsbildschirm 812 hinweg emittiert. Das retroreflektierende Band 830 (z. B. Material, das eine Mehrzahl von gespiegelten Miniatureckwürfeln umfasst) ist entlang der Kanten des Berührungsbildschirms 812 angeordnet. Das retroreflektierende Band 830 bewirkt, dass von dem Lichtsende-/-empfangsgerät 814 emittiertes Licht im Wesentlichen in derselben Richtung zurückkehrt bzw. „zurückprallt” (z. B. in im Wesentlichen demselben Winkel), in der das Licht an dem retroreflektierenden Band 830 ankam. Das Infrarotlicht kann auf jeder der beiden Seiten des Berührungsbildschirms 812 emittiert werden, solange ein Finger oder ein anderes Hindernis in der Lage ist, Licht wie nachstehend beschrieben zu behindern. Das Lichtsende-/-empfangsgerät 816 arbeitet auf ähnliche Weise.
-
Wie gezeigt ist, behindert eine an einem Berührungspunkt 824 festgestellte Berührung Licht, das durch die Lichtsende-/-empfangsgeräte 814 und 816 emittiert wird. Somit trifft durch das Lichtsende-/-empfangsgerät 814 emittiertes Licht auf dem retroretlektierenden Band 830 auf und kehrt zu dem Lichtsende-/-empfangsgerät 814 zurück, mit Ausnahme von Licht, das durch die Berührung an dem Berührungspunkt 824 blockiert wird. Desgleichen trifft durch das Lichtsende-/-empfangsgerät 816 emittiertes Licht auf dem retroreflektierenden Band 830 auf und kehrt zu dem Lichtsende-/-empfangsgerät 816 zurück, mit Ausnahme von Licht, das durch die Berührung an dem Berührungspunkt 824 blockiert wird. Auf diese Weise bestimmt jedes der Lichtsende-/-empfangsgeräte 814 und 816 einen Pfad, in dem ein Hindernis – wie beispielsweise ein Finger – liegt. Eine Triangulationstechnik kann verwendet werden, um den Schnittpunkt 832 der Hindernispfade 834 und 836, die durch die Sende-/-empfangsgeräte 814 und 816 bestimmt wurden, zu bestimmen, wodurch die genaue Stelle des Hindernisses (oder der Berührung) an dem Berührungsgunkt 824 identifiziert wird.
-
8C veranschaulicht erneut den Berührungsbildschirm 812, außer dass der Berührungsbildschirm 812 in 8C zwei Berührungspunkte 824 und 826 aufweist. Die durch die Lichtsende-/-empfangsgeräte 814 und 816 durchgeführte zuvor erwähnte Triangulationstechnik identifiziert die Berührungspunkte 824 und 826. Anders als der in 8B gezeigte Berührungsbildschirm weist der Berührungsbildschirm der 8C jedoch mehrere Berührungspunkte auf. Folglich identifizieren die Lichtsende-/-empfangsgeräte 814 und 816 nicht nur die zwei tatsächlichen Berührungspunkte 824 und 826, sondern sie identifizieren auch zwei zusätzliche Schnittpunkte – als Phantomberührungspunkte 828 bezeichnet – die tatsächliche Berührungspunkte zu sein scheinen, in Wirklichkeit aber keine tatsächlichen Berührungspunkte sind. Es ist wünschenswert, zwischen tatsächlichen Berührungspunkten und Phantomberührungspunkten zu unterscheiden, da nur tatsächliche Berührungspunkte verwendet werden sollten. Das System 800 unterscheidet zwischen tatsächlichen Berührungspunkten und Phantomberührungspunkten, wie nun beschrieben wird.
-
Wenn sie durch die Anzeigesteuerlogik 808 ausgeführt wird, bewirkt die Anwendung 822, dass die Anzeigesteuerlogik 808 die oben erwähnte Triangulationstechnik unter Verwendung der Lichtsende-/-empfangsgeräte 814 und 816 durchführt. Wenn sie die Triangulationstechnik durchführt, verwendet die Anzeigesteuerlogik 808 die Hinderniswinkel 846, 848, 850 und 852, die Hindernispfaden 838, 840, 842 bzw. 844 entsprechen, um Eigenschaften jedes der mehreren Berührungspunkte 824, 826 und 828 vorherzusagen. Die Anzeigesteuerlogik 808 verwendet auch die Orientierungen der Hindernispfade 838, 840, 842 und 844 in Bezug auf den Berührungsbildschirm 812, um Eigenschaften jedes der vielen Berührungspunkte 824, 826 und 828 vorauszusagen. Ferner kann die Anzeigesteuerlogik 808 zusätzliche Informationen aufrechterhalten, die sich auf die Lichtsende-/-empfangsgeräte 814 und 816 beziehen, die ihren Örtlichkeiten in Bezug auf den Berührungsbildschirm 812 entsprechen.
-
Unter Verwendung mancher oder aller Informationen, die durch die Lichtsende-/-empfangsgeräte 814 und 816 gesammelt werden, bestimmt die Anzeigesteuerlogik 808 räumliche Eigenschaften, die den Berührungspunkten 824, 826 und 828 zugeordnet sind. Derartige Eigenschaften umfassen die wahrscheinliche Größe, Gestalt, Orientierung usw. der Berührungspunkte. Die Anzeigesteuerlogik 808 kann dann die verschiedenen räumlichen Eigenschaften der Berührungspunkte 824, 828 und 828 vergleichen, um zu bestimmen, welche der Berührungspunkte 824, 826 und 828 am wahrscheinlichsten die tatsächlichen Berührungspunkte sind und welche am wahrscheinlichsten die Phantomberührungspunkte sind. Die Anzeigesteuerlogik 808 kann einen derartigen Vergleich durchführen, indem sie manche oder alle der räumlichen Eigenschaften unter Verwendung vorprogrammierter Formeln usw., je nach Wunsch, gewichtet. Nun wird die Bestimmung jeder der zuvor erwähnten räumlichen Eigenschaften beschrieben.
-
Die Anzeigesteuerlogik 808 kann die Gestalt eines Berührungspunktes unter Verwendung des Hindernispfadwinkels, der diesem Berührungspunkt zugeordnet ist, in Verbindung mit der Stelle des Berührungspunktes (d. h. unter Verwendung von Triangulation) bestimmen. Da beispielsweise angenommen wird, dass Berührungspunkte ellipsoid sind (z. B. da Finger und Fingerspitzen tendenziell Ellipsen ähneln), kann die Anzeigesteuerlogik 808 optische Informationen, z. B. die Breite der Berührungspunkte, von den Lichtsende-/-empfangsgeräten 814 und 816 verwenden, um die Länge der dem Berührungspunkt zugeordneten Haupt- und Nebenachse zu bestimmen. Im Einzelnen verwendet die Anzeigesteuerlogik 808, nachdem die Anzeigesteuerlogik 808 die Lichtsende-/-empfangsgeräte 814 und 816 zum Bestimmen der Stelle des Berührungspunktes, dessen Gestalt zu bestimmen ist, verwendet hat, die dem Berührungspunkt entsprechenden Hinderniswinkel sowie den Abstand des Berührungspunktes von den Lichtsende-/-empfangsgeräten 814 und 816, um die Länge einer Hauptachse des Berührungspunktes zu bestimmen (d. h. unter Verwendung grundlegender trigonometrischer Techniken). Eine ähnliche Technik kann zum Bestimmen der Länge einer Nebenachse des Berührungspunktes verwendet werden. Die Anzeigesteuerlogik 808 kann dann die Differenz zwischen der Länge der Haupt- und der Nebenachse bestimmen und durch den Absolutwert der Differenz teilen, um die Exzentrizität der ellipsoiden Berührungspunkte zu bestimmen. Je stärker die Exzentrizität, desto ausgeprägter die Ellipsoidform des Berührungspunktes. Andere, ähnliche Techniken können verwendet werden, um Gestaltinformationen von Berührungspunkten unter Verwendung mancher oder aller Daten, die durch die Lichtsende-/-empfangsgeräte 814 und 816 zusammengetragen werden, zu bestimmen. Unter Bezugnahme auf 8C können beispielsweise in dem Fall, dass die Gestalt des Berührungspunktes 824 zu bestimmen ist, Annäherungen an ein Einschreiben einer Ellipse in dem rautenförmigen Hindernis 825 vorgenommen werden.
-
Bei manchen Ausführungsbeispielen kann die Anzeigesteuerlogik 808 dahin gehend programmiert werden, anzunehmen, dass von vier möglichen Berührungspunkten die zwei tatsächlichen Berührungspunkte und die zwei Phantomberührungspunkte abwechselnd angeordnet sein werden. Diese Annahme beruht darauf dass tatsächliche und Phantomberührungspunkte allgemein tendenziell auf eine derartige abwechselnde Weise angeordnet sind. Unter Bezugnahme auf 8C sind somit beispielsweise die Berührungspunkte auf abwechselnde Weise gezeigt – der tatsächliche Berührungspunkt 824, gefolgt von einem der Phantomberührungspunkte 828, gefolgt von dem tatsächlichen Berührungspunkt 826, gefolgt von einem weiteren Phantomberührungspunkt 828. Falls also die Anzeigesteuerlogik 808 die Identität lediglich eines der möglichen Berührungspunkte unter Verwendung einer der hierin beschriebenen Techniken korrekt bestimmt (d. h. ob der Berührungspunkt ein tatsächlicher Berührungspunkt oder ein Phantomberührungspunkt ist), kann die Anzeigesteuerlogik 808 automatisch die Identität der übrigen Berührungspunkte bestimmen, da die Berührungspunkte zwischen tatsächlichen Berührungspunkten und Phantomberührungspunkten abwechseln In manchen derartigen Fällen wird die Identität lediglich eines der möglichen Berührungspunkte sofort und korrekt bestimmt, falls sich der mögliche Berührungspunkt außerhalb des Berührungsbildschirms 812 befindet. Ein möglicher Berührungspunkt, der als außerhalb des Berührungsbildschirms 812 befindlich bestimmt wird, ist ein Phantomberührungspunkt, wodurch die Identität der übrigen möglichen Berührungspunkte festgestellt wird.
-
Die Anzeigesteuerlogik 808 kann die Größe eines Berührungspunktes unter Verwendung von Hindernispfadorientierungen und -winkeln sowie der Örtlichkeitsinformationen der Lichtsende-/-empfangsgeräte 814 und 816 bestimmen. Wie zuvor erwähnt wurde, kann die Anzeigesteuerlogik 808 die Länge der Haupt- und der Nebenachse jedes der möglichen Berührungspunkte bestimmen. Die Anzeigesteuerlogik 808 kann diese Längen dazu verwenden, die jedem der möglichen Berührungspunkte zugeordnete Größe (d. h. Fläche) zu bestimmen. Um die Fläche eines möglichen Berührungspunktes zu bestimmen, multipliziert die Anzeigesteuerlogik 808 das Produkt der Haupt- und der Nebenachse mit pi. Nach dem Bestimmen der Fläche jedes der möglichen Berührungspunkte kann die Anzeigesteuerlogik 808 die Durchschnittsgröße aller möglichen Berührungspunkte bestimmen. Die Anzeigesteuerlogik 808 kann dann die Größe jedes möglichen Berührungspunktes bzw. Größen von Paaren möglicher Berührungspunkte mit der Durchschnittsgröße aller möglichen Berührungspunkte vergleichen, um zu bestimmen, welche der Berührungspunkte am wahrscheinlichsten die tatsächlichen Berührungspunkte sind und welche am wahrscheinlichsten Phantomberührungspunkte sind. Bei manchen Ausführungsbeispielen ist es wahrscheinlicher, dass Berührungspunkte, deren Größe sich stark an die durchschnittliche Berührungspunktgröße annähert, tatsächliche Berührungspunkte sind als Berührungspunkte, deren Größe sich nicht stark an die durchschnittliche Berührungspunktgröße annähert. Andere, ähnliche Techniken können ebenfalls verwendet werden.
-
Die An zeigesteuerlogik 808 kann die Orientierung eines Berührungspunktes auf der Basis von unter Verwendung der Lichtsende-/-empfangsgeräte 814 und 816 gesammelten Informationen bestimmen. Im Einzelnen bestimmt die Anzeigesteuerlogik 808 für jeden möglichen Berührungspunkt die diesem Berührungspunkt zugeordneten Hinderniswinkel sowie die Position dieses Berührungspunktes relativ zu den Lichtsende-/-empfangsgeräten 814 und 816. Unter Verwendung dieser Informationen sagt die Anzeigesteuerlogik 808 vorher, ob dieser mögliche Berührungspunkt horizontal oder vertikal orientiert ist. Angenommen, dass der durch eines der Lichtsende-/-empfangsgeräte (z. B. Lichtsende-/-empfangsgerät 814) gemessene Hinderniswinkel größer ist als der durch das andere Lichtsende-/-empfangsgerät (z. B. Lichtsende-/-empfangsgerät 816) gemessene Hinderniswinkel. Falls die Anzeigesteuerlogik 808 in einem solchen Fall bestimmt, dass der mögliche Berührungspunkt näher an dem Lichtsende-/-empfangsgerät 814 als an dem Lichtsende-/-empfangsgerät 816 angeordnet ist, dann ist es – vom geometrischen Standpunkt aus gesehen – wahrscheinlicher, dass der mögliche Berührungspunkt horizontal orientiert ist und nicht vertikal. Falls sich jedoch der mögliche Berührungspunkt näher an dem Lichtsende-/-empfangsgerät 816 als an dem Lichtsende-/-empfangsgerät 814 befindet, dann ist es wahrscheinlicher, dass der mögliche Berührungspunkt vertikal orientiert ist und nicht horizontal. Desgleichen sei angenommen, dass der durch das Lichtsende-/-empfangsgerät 816 gemessene Hinderniswinkel größer ist als der durch das Lichtsende-/-empfangsgerät 814 gemessene. Falls der mögliche Berührungspunkt näher an dem Lichtsende-/-empfangsgerät 816 angeordnet ist als an dem Lichtsende-/-empfangsgerät 814, ist es wahrscheinlicher, dass der Berührungspunkt horizontal orientiert ist. Andernfalls ist es wahrscheinlicher, dass der Berührungspunkt vertikal orientiert ist. Im Allgemeinen gilt, dass dann, wenn die Orientierung eines möglichen Berührungspunktes nicht mit den Orientierungen anderer möglicher Berührungspunkte übereinstimmt, dieser mögliche Berührungspunkt wahrscheinlich ein Phantomberührungspunkt ist.
-
Beim Durchführen der obigen Bestimmungen kann die Anzeigesteuerlogik 808 verschiedenen Faktoren mehr oder weniger Gewicht verleihen. Beispielsweise kann die Anzeigesteuerlogik 808 Bestimmungen, die bezüglich Berührungspunktgestalten getroffen winden, zusätzliches Gewicht verleihen, und kann Bestimmungen, die bezüglich einer Berührungspunktorientierung getroffen wurden, weniger Gewicht verleihen. Berührungspunktvorhersagen können je nach Wunsch gewichtet werden. Bei manchen Ausführungsbeispielen können die Vorhersagen nach dem Gewichten kombiniert werden, um einen kumulativen Wert bzw. eine Vorhersage zu erzeugen, der bzw. die dann angibt, welche Berührungspunkte – nachdem manche oder alle verfügbaren Informationen berücksichtigt wurden – am wahrscheinlichsten tatsächliche Berührungspunkte sind und welche am wahrscheinlichsten Phantomberührungspunkte sind. Bei manchen Ausführungsbeispielen können die oben beschriebenen Faktoren auf der Basis vorprogrammierter Schemata numerischen Werten zugewiesen werden, und können, nachdem sie gewichtet wurden, in einer oder mehreren vorprogrammierten Formeln verwendet werden, um zu bestimmen (oder vorherzusagen), welche der möglichen Berührungen tatsächliche Berührungen sind und welche Phantomberührungen sind. Bei manchen Ausführungsbeispielen wird kein Gewichten durchgeführt. Jegliche und sämtliche Variationen dieser Techniken sind in dem Schutzumfang der vorliegenden Offenbarung eingeschlossen.
-
Die oben beschriebenen Hindernispfadwinkelinformationen werden durch ein Lichtsende-/-empfangsgerät gesammelt und unter Verwendung von Signalen der Anzeigesteuerlogik 808 bereitgestellt. Die Anzeigesteuerlogik 808 kann derartige Signale in Bezug auf Änderungen (z. B. Einbrüche) überwachen, die auf Hindernispfade hinweisen. Die Anzeigesteuerlogik 808 kann derartige Änderungen (z. B. Einbruchsbreite) analysieren, um den einem identifizierten Hindernispfad zugeordneten Winkel zu bestimmen. Andere Informationen wie z. B. Berührungspunktwinkel können ebenfalls unter Verwendung derartiger Signaländerungen bestimmt werden. Nachdem sie auf diese Weise Informationen erhalten hat, kann die Anzeigesteuerlogik 808 die oben beschriebenen Faktoren dazu verwenden, vorherzusagen, welche der möglichen Berührungspunkte tatsächliche Berührungspunkte sind und welche Phantomberührungspunkte sind. Nachdem sie vorhergesagt hat, welche die tatsächlichen Berührungspunkte sind, kann die Anzeigesteuerlogik 808 derartige Vorhersagen an eine beliebige anwendbare Software weiterleiten, die eventuell zu diesem Zeitpunkt läuft.
-
In manchen Fällen werden die zwei tatsächlichen Berührungen eventuell nicht gleichzeitig in den Berührungsbildschirm 812 eingebracht. Anders ausgedrückt kann eine der Berührungen eingebracht werden, und zu einem späteren Zeitpunkt kann die zweite Berührung folgen. Das System 800 ist dahin gehend angepasst, zwischen einzelnen Berührungen, mehreren hintereinander auftretenden Berührungen und mehreren gleichzeitigen Berührungen zu unterscheiden. Im Einzelnen ist die Anwendung 822 so programmiert, dass die Anzeigesteuerlogik 808 dann, wenn die Anzeigesteuerlogik 808 eine erste Berührung auf dem Berührungsbildschirm 812 erfasst, eine vorbestimmte (z. B. nutzerspezifizierte) Zeitdauer abwartet, bevor sie die erste Berührung als Maus Nach-Unten-Ereignis verarbeitet. Ein Abwarten dieser Verzögerungszeit ermöglicht die Einbringung einer zweiten Berührung.
-
Diese Verzögerung kann abgebrochen werden, falls die erste Berührung von dem Berührungsbildschirm 812 weggenommen wird. In einem solchen Fall verarbeitet die Anzeigesteuerlogik 808 die erste Berührung als Anklickereignis. Alternativ dazu kann diese Verzögerung abgebrochen werden, falls die erste Berührung eine vorbestimmte Strecke von der ursprünglichen Stelle der ersten Berührung wegbewegt wird, da eine derartige Bewegung angibt, dass der Benutzer beabsichtigt, ein Objekt auf der graphischen Nutzerschnittstelle (GUI – graphical user interface) des Berührungsbildschirms 812 zu „ziehen”. In einem solchen Fall verarbeitet die Anzeigesteuerlogik 808 die erste Berührung und das erste Ziehen als Ziehereignis. Ferner kann diese Verzögerung abgebrochen werden, falls auf dem Berührungsbildschirm 812 eine zweite Berührung erfasst wird. Falls die Verzögerungszeit zu Ende geht, bevor eine zweite Berührung erfasst wird, wird lediglich ein erstes Berührungsereignis verarbeitet, und keinen weiteren Berührungen werden verarbeitet, bis alle Berührungen aus dem Berührungsbildschirm 812 freigegeben wurden. Falls während der Verzögerung eine zweite Berührung erfasst wird, geht die Verzögerung dann auf ähnliche Weise zu Ende, und nur Doppelberührungsereignisse werden verarbeitet, bis alle Berührungen von dem Berührungsbildschirm 812 weggenommen wurden. Je nach Wunsch können andere derartige Berührungsregeln in die Anwendung 822 programmiert werden.
-
Obwohl die obigen Techniken allgemein als durch die Anzeigesteuerlogik 808 ausgeführt beschrieben wurden, können die obigen Techniken bei manchen Ausführungsbeispielen durch die Verarbeitungslogik 802 durchgeführt werden, während diese die Anwendung 807 ausführt.
-
Ungeachtet der Art des verwendeten Computersystems (z. B. des Systems 100, des Systems 800 oder eines anderen Systems, das die hierin offenbarten Techniken implementiert) werden Berührungsdaten, die unter Verwendung der Anzeige und der Anzeigesteuerlogik gesammelt wurden, anschließend der bzw. den entsprechenden Anwendung(en), die gerade ausgeführt wird bzw. werden, bereitgestellt. Beispielsweise könnte ein Nutzer des Computersystems eine GUI auf der Anzeige sehen. Die GUI wird unter Verwendung einer Anwendung erzeugt. Der Nutzer interagiert mit der GUI, indem er die Anzeige berührt. Die Anzeigesteuerlogik sammelt diese Berührungsinformationen und liefert sie an die Anwendung, die dazu verwendet wurde, die GUI zu erzeugen, mit der der Nutzer interagierte.
-
9 zeigt ein generisches Computersystem 1000 (das z. B. das System 100 und/oder 800 veranschaulicht), das Softwarearchitektur umfasst, die Berührungsdaten sammelt und entsprechend weiterleitet. Das Computersystem 1000 umfasst eine Berührungsbildschirmanzeige 1002, eine Verarbeitungslogik 1004, eine Speicherung 1006 und eine sonstige Schaltungslogik 1008 (z. B. Videokarten, Busse). Die Speicherung 1006 umfasst eine Systemdienstanwendung („SS”) 1010 und eine Verwaltungsanwendung („AA”) 1012. Die Speicherung 1006 umfasst ferner eine oder mehrere generische Nutzeranwendungen 1014 und einen standardisierten Treiberstapel („SDD – standardized driver stack”) 1016. Die SS 1010 kann als Programm definiert sein, das dahin gehend arbeitet, eine Eingabe von Hardware entgegenzunehmen und diese Eingabe dem Betriebssystem und/oder einer Verwaltungsanwendung (AA) bereitzustellen. Die AA 1012 kann als Programm definiert sein, das eine Eingabe von der Systemdienstanwendung entgegennimmt und diese Eingabe dem Betriebssystem oder kooperierenden Anwendungen auf einer Pro-Nutzer-Basis bereitstellt. Der SDD 1016 kann als Satz von Programmen definiert sein, die eine Eingabe von einer kooperierenden Hardware interpretieren sollen und sie unabhängig von der Implementierung auf einheitliche Weise Anwendungen präsentieren sollen. Die Anwendungen 1014 umfassen ein Betriebssystem („OS operating system”) 1018 wie z. B. das WINDOWS® VISTA® OS. Wenn Software, die in der Speicherung 1006 gespeichert ist, hierin als eine Aktion durchführend beschrieben wird, versteht es sich, dass eigentlich die Verarbeitungslogik 1004 diese Aktion infolge des Ausführens der Software durchführt.
-
Die SS 1010 wird auf ein Booten des OS 1018 hin initiiert. Über den SDD 1016 empfängt und transferiert die SS 1010 Informationen von der und an die Anzeige 1002. Wenn kein Nutzer in das System 1000 eingeloggt ist, konfiguriert die SS 1010 die Anzeige 1002 entsprechend (z. B. mit einem Log-in-Bildschirm). Während sich jeder einer Mehrzahl von Nutzern einloggt, wird eine separate Instanz der AA 1012 initiiert und durch die Verarbeitungslogik 1004 ausgeführt. Wenn die SS 1010 Berührungsdaten von der Anzeige 1002 empfängt, leitet die SS 1010 die Berührungsdaten an die Instanz der AA 1012 weiter, die dem Nutzer entspricht, der derzeit eingeloggt und derzeit aktiv ist. Die Berührungsdaten werden unter Verwendung beliebiger geeigneter Verfahren einer zwischen Prozessen stattfindenden. Kommunikation transferiert. Wiederum analysiert die AA 1012-Instanz, die die Berührungsdaten empfängt die Berührungsdaten, um zu bestimmen, wie die Berührungsdaten weiterhin weitergeleitet werden sollten. Bei manchen Ausführungsbeispielen gilt, dass, falls die AA 1012 bestimmt, dass die Berührungsdaten lediglich eine einzige Berührung umfassen, die AA 1012 dem OS 1018 die einzige Berührung zur standardmäßigen bzw. „normalen” Verarbeitung liefert. Falls jedoch die AA 1012 bestimmt, dass die Berührungsdaten mehrere Berührungen umfassen, liefert die AA 1012 die Berührungsdaten an derzeit laufende Anwendungen 1014, die mehrere Berührungsdaten für Zwecke wie z. B. Erweitern-, Zusammenziehen-, Greifen- und Ziehen-Operationen nutzen können. Viele Variationen dieser Art des Weiterleitens sind möglich. Alle derartigen Variationen sind in dem Schutzumfang der vorliegenden Offenbarung enthalten.
-
Die SS 1010 bestimmt auf der Basis von Nutzerkontextinformationen, die von den Instanzen der AA 1012 empfangen werden, an welche Instanz der AA 1012 Berührungsdaten weitergeleitet werden sollten. Die Nutzerkontextinformationen, die durch jede Instanz der AA 1012 bereitgestellt werden, geben einen Status des Nutzers an, der dieser Instanz zugeordnet ist. Beispielsweise können die Nutzerkontextinformationen angeben, dass ein Nutzer derzeit eingeloggt ist; dass der Nutzer derzeit eingeloggt, aber inaktiv ist; dass der Nutzer derzeit eingeloggt und aktiv ist; dass ein Bildschirmschoner läuft usw. Nutzerkontextinformationen können dahin gehend programmiert sein, je nach Wunsch beliebige derartige Informationen zu umfassen.
-
Wie zuvor erklärt wurde, können die Nutzerkontextinformationen dazu verwendet werden, empfangene Berührungsdaten an die richtige Instanz der AA 1012 weiterzuleiten (z. B. an die Instanz, die einem eingeloggten und aktiven Nutzer entspricht). Jedoch ermöglichen die Nutzerkontextinformationen auch einen Datentransfer in der umgekehrten Richtung. Im Einzelnen kann die SS 1010 die Nutzerkontextinformationen dazu verwenden, die Berührungsbildschirmanzeige 1002 gemäß Nutzerpräferenzen zu konfigurieren. Falls beispielsweise eine bestimmte Instanz der AA 1012 einem derzeit eingeloggten, aktiven Nutzer entspricht, konfiguriert die SS 1010 die Berührungsbildschirmanzeige 1002 gemäß den Präferenzen dieses Nutzers. Die Präferenzen jedes Nutzers können in der Speicherung 1006 gespeichert werden – beispielsweise in Form einer Datenbank.
-
10 zeigt eine konzeptionelle Veranschaulichung 1020 der oben beschriebenen Softwarearchitektur. Wie gezeigt ist, kommuniziert die Anzeigehardware 1002 (die eine Anzeigesteuerlogik umfasst) mit dem SDD 1016. Der SDD 1016 wiederum kommuniziert mit der SS 1010. Wenn die SS 1010 über den SDD 1016 Berührungsdaten von der Anzeigehardware 1002 empfangt, leitet die SS 1010 die Berührungsdaten an eine der (potentiell) mehreren Instanzen der AA 1012 weiter, die auf dem System 1000 laufen können. Die AA 1012-Instanz, an die die Berührungsdaten weitergeleitet werden, hängt von Nutzerkontextinformationen ab, die von der Instanz bzw. den Instanzen der AA 1012 empfange werden (z. B. je nachdem, welcher Benutzer derzeit in das System 1000 eingeloggt und zu diesem Zeitpunkt in demselben aktiv ist). Falls beispielsweise ein Nutzer derzeit aktiv ist, leitet die SS 1010 die Berührungsdaten an die Instanz der AA 1012 dieses Nutzers weiter. Jede der mehreren Instanzen der AA 1012 kann mit einer oder mehreren Anwendungen 1014 kommunizieren, wie gezeigt ist. Somit kann eine Instanz der AA 1012, die Berührungsdaten empfängt, die Berührungsdaten an eine der Anwendungen 1014 weiterleiten, die derzeit im Gebrauch ist (z. B. die „aktive” oder „oberste” Anwendung). Bei manchen Ausführungsbeispielen leitet die Instanz der AA 1012, die die Berührungsdaten empfängt, die Berührungsdaten an ein OS 1018 weiter, das eine der Anwendungen 1014 ist. Daten werden allgemein von der AA 1012-Instanzen an das OS 1018 weitergeleitet, wenn die Berührungsdaten nur eine einzige Berührung umfassen. Falls die Berührungsdaten eine doppelte Berührung umfassen, liefert die Instanz der AA 1012 die Berührungsdaten an entsprechende Anwendung(en) 1014, die mehrere Berührungsdaten (z. B. zur Fenstererweiterung oder -kontraktion, Ziehereignisse) verwenden kann bzw. können. Jedoch sind verschiedene derartige Leitwege möglich und sind in dem Schutzumfang der vorliegenden Offenbarung enthalten.
-
Wie zuvor erwähnt wurde, kann die SS 1010 den SDD 1016 dazu verwenden, Parameter auf der Anzeige 1002 gemäß der jeweiligen Instanz der AA 1012, die zu dem Zeitpunkt vielleicht läuft, zu konfigurieren. Die SS 1010 kann ferner Parameter auf der Anzeige 1002 gemäß den jeweiligen Anwendungen 1014 konfigurieren, die zu dem Zeitpunkt eventuell laufen (in Zuordnung zu der jeweiligen Instanz der AA 1012, die zu diesem Zeitpunkt läuft).
-
Die obige Erörterung soll die Prinzipien und verschiedenen Ausführungsbeispiele der vorliegenden Erfindung veranschaulichen. Fachleuten werden zahlreiche Variationen und Modifikationen einleuchten, nachdem die obige Offenbarung vollständig verstanden wurde. Es ist beabsichtigt, dass die folgenden Patentansprüche dahin gehend interpretiert werden, alle derartigen Variationen und Modifikationen zu umfassen.