-
HINTERGRUND
-
Eine Transparenzschicht ist die oberste Schicht für transparente Eingabeverfahren in tragbaren Geräten. Ein Eingabemethoden-Editor (IME) ist eine Anwendung, welche ermöglicht, beliebige Daten, wie Tastaturanschläge oder Mausbewegungen, als Eingaben zu empfangen. Auf diese Art können Benutzer Zeichen und Symbole eingeben, welche nicht auf ihren Eingabegeräten zu finden sind. Ein Verwenden einer Eingabemethode wird für Sprachen benötigt, welche mehr Grapheme (z.B. Zeichen usw.) aufweisen, als es Tasten auf der Tastatur gibt. Zum Beispiel können Benutzer von lateinischen Tastaturen oder von Geräten mit Touch-Eingabe chinesische, japanische, koreanische und indische Zeichen eingeben.
-
Eine Herausforderung für ein Verwenden der Transparenzschicht, soweit der IME arbeitet, ist, dass der IME in traditionellen Ausführungsformen nicht benutzerfreundlich ist, und Benutzer Schwierigkeiten haben, den IME oder die Anwendungen unter der Transparenzschicht auszuwählen. Zum Beispiel erfordert eine traditionelle Methode, dass der Benutzer das transparente Fenster (IME) minimiert, um in Interaktion mit den Anwendungen (Apps) zu treten. Weil die Transparenzschicht transparent ist, ist es für die Benutzer schwierig festzustellen, ob das transparente Fenster, welches zwischen den Benutzereingaben und den Anwendungen liegt, welche unter der Transparenzschicht erscheinen, minimiert wurde oder noch auf dem Bildschirm ist.
-
ZUSAMMENFASSUNG
-
Es wird eine Methode für das Leiten einer Eingabe, welche auf einem Gerät mit Touch-Eingabe empfangen wird, an eine beabsichtigte Eingabeschicht bereitgestellt. Benutzereingaben werden auf einem Touchscreen eines Gerätes empfangen. Jede Benutzereingabe umfasst einen Satz von einem oder mehreren Eingabeeigenschaften. Der Touchscreen umfasst verschiedene Interaktionsschichten, welche eine Transparenzschicht und eine Anwendungsschicht einschließen. Die Methode analysiert die Eingabeeigenschaften, welche mit den empfangenen Benutzereingaben assoziiert sind. Basierend auf der Analyse identifiziert die Methode, dass eine beabsichtigte Interaktionsschicht entweder die Transparenzschicht oder die Anwendungsschicht ist. Die Methode leitet dann die Benutzereingaben an die identifizierte beabsichtigte Interaktionsschicht.
-
Das Vorhergehende ist eine Zusammenfassung und enthält somit notwendigerweise Vereinfachungen, Verallgemeinerungen und Auslassungen von Details; womit konsequenterweise dem Fachmann der Technik ersichtlich ist, dass die Zusammenfassung nur darstellend ist und sie nicht beabsichtigt, in irgendeiner Weise begrenzend zu sein. Andere Aspekte, erfindungsgemäße Merkmale und Vorteile werden in der nicht-begrenzenden detaillierten Beschreibung, welche unten fortgesetzt wird, deutlich.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Diese Offenbarung kann besser durch Bezugnahme auf die begleitenden Zeichnungen verstanden werden, dabei sind:
-
1 ist ein Blockdiagramm eines Datenverarbeitungssystems, in dem die Verfahren, welche hierin beschrieben werden, ausgeführt werden können;
-
2 ist eine Vergrößerung der in 1 gezeigten Umgebung des Informationshandhabungssystems, um darzustellen, dass die Verfahren, welche hierin beschrieben werden, auf einer breiten Vielfalt von Informationshandhabungssystemen ausgeführt werden können, welche in einer Netzwerkumgebung arbeiten;
-
3A ist ein Draufsichtdiagramm, welches fingerbasierte und stiftbasierte Eingaben für handschriftliche und getippte Eingaben sowohl an die Anwendungsschicht als auch an die Transparenzschicht zeigt;
-
3B ist ein Seitenansichtsdiagramm, welches fingerbasierte und stiftbasierte Eingaben für handschriftliche und getippte Eingaben sowohl an die Anwendungsschicht als auch an die Transparenzschicht zeigt;
-
4 ist ein Flussdiagramm, welches Schritte zeigt, welche durch einen Installationsprozess getätigt werden;
-
5 ist ein Flussdiagramm, welches Schritte zeigt, welche durch einen Prozess getätigt werden, der einen beabsichtigten Eingabetyp zum Empfangen von Touchscreen-Eingaben identifiziert;
-
6 ist ein Flussdiagramm, welches Schritte zeigt, welche durch einen Prozess getätigt werden, der eine beabsichtigte Zielschicht zum Empfangen von Touchscreen-Eingaben identifiziert;
-
7 ist ein Flussdiagramm, welches Schritte zeigt, welche während eines kontextbezogenen Tests der Touchscreen-Eingaben, in dem identifizierten Eingabetyp und an die identifizierte Zielschicht geleitet, getätigt werden; und
-
8 ist ein Flussdiagramm, welches Schritte zeigt, welche getätigt werden, um Benutzerreaktionen auf die Touchscreen-Eingaben zu handhaben, welche als ein identifizierter Eingabetyp für die identifizierte Zielschicht verwendet werden.
-
DETAILLIERTE BESCHREIBUNG
-
Die Terminologie, welche hierin verwendet wird, dient nur dem Zweck des Beschreibens besonderer Ausführungsformen und beabsichtigt nicht, die Erfindung zu begrenzen. Wie hierin verwendet, beabsichtigen die Singularformen "ein", "eine" und "der, die, das" auch die Vielzahl der Pluralformen einzuschließen, außer es wird im Kontext klar anders angezeigt. Es ist ferner verständlich, dass die Ausdrücke "umfassen" und/oder "umfassend," wenn sie in dieser Spezifikation verwendet werden, die Anwesenheit von dargestellten Merkmalen, vollständigen Ganzen, Schritten, Operationen, Elementen und/¬oder Komponenten spezifizieren, aber nicht die Anwesenheit oder den Zusatz von einem oder mehreren anderen Merkmalen, vollständigen Ganzen, Schritten, Operationen, Elementen, Komponenten und/oder Gruppen davon ausschließen.
-
Die entsprechenden Strukturen, Materialien, Aktionen und Äquivalente von allen Mitteln oder Schritten plus Funktionselementen in den Ansprüchen unten beabsichtigen jede Struktur, jedes Material oder jede Aktion zum Durchführen der Funktion in Kombination mit anderen beanspruchten Elementen, wie speziell beansprucht, einzuschließen. Die detaillierte Beschreibung wurde zum Zweck der Darstellung präsentiert, sie ist aber nicht beabsichtigt erschöpfend oder begrenzend für die Erfindung in der offenbarten Form zu sein. Viele Modifikationen und Variationen sind für den Fachmann der Technik, ohne von dem Rahmen und dem Geist der Erfindung abzuweichen, naheliegend. Die Ausführungsform wurde ausgewählt und beschrieben, um die Prinzipien der Erfindung und die praktische Anwendung am besten zu erklären und um andere mit normalem technischen Verständnis in die Lage zu versetzen, die Erfindung für verschiedene Ausführungsformen mit verschiedenen Modifikationen zu verstehen, wie sie für die betrachtete besondere Verwendung geeignet ist.
-
Wie für den Fachmann der Technik ersichtlich, können Aspekte als System, Verfahren oder Computerprogrammprodukt ausgeführt sein. Demgemäß können Aspekte die Form einer vollständigen Hardwareausführung, einer vollständigen Softwareausführung (einschließlich Firmware, residenter Software, Mikrocode usw.) oder einer Ausführungsform annehmen, die Software- und Hardwareaspekte kombiniert, auf die zusammen hierin generell als eine "Schaltung", ein "Modul" oder ein "System" Bezug genommen wird. Weiter können Aspekte der vorliegenden Offenbarung die Form von Computerprogrammprodukten einnehmen, welche in einem oder mehreren computerlesbaren Medien enthalten sind, welche darin verkörperten computerlesbaren Programmcode aufweisen.
-
Es können beliebige Kombinationen von einem oder mehreren computerlesbaren Medien verwendet werden. Das computerlesbare Medium kann ein computerlesbares Signalmedium oder ein computerlesbares Speichermedium sein. Ein computerlesbares Speichermedium kann zum Beispiel ein elektronisches, magnetisches, optisches, elektromagnetisches, infrarotes oder Halbleiter-System, Vorrichtung oder Gerät oder eine beliebige geeignete Kombination der Vorhergehenden sein, ist aber nicht darauf beschränkt. Speziellere Beispiele (eine nicht erschöpfende Liste) des computerlesbaren Speichermediums würde die folgenden einschließen: eine elektrische Verbindung, welche einen oder mehrere Drähte aufweist, eine tragbare Computerdiskette, eine Festplatte, einen Arbeitsspeicher (RAM), einen Festwertspeicher (ROM), einen löschbar programmierbaren Festwertspeicher (EPROM oder Flash-Speicher), eine optische Faser, einen portablen Compact-Disk Festwertspeicher (CD-ROM), ein optisches Speichergerät, ein magnetisches Speichergerät oder eine beliebige geeignete Kombination der Vorhergehenden. In dem Kontext von diesem Dokument kann ein computerlesbares Speichermedium ein beliebiges materielles Medium sein, welches ein Programm zum Gebrauch durch ein oder in Verbindung mit einem Instruktionen ausführenden System, einer Vorrichtung oder einem Gerät enthalten oder speichern kann.
-
Ein computerlesbares Signalmedium kann ein sich verbreitendes Datensignal mit darin enthaltenem, computerlesbarem Programmcode einschließen, zum Beispiel in einem Basisband oder als Teil einer Trägerwelle. Ein derartiges sich verbreitendes Signal kann eine Vielfalt von Formen einnehmen, einschließlich und nicht begrenzt auf elektromagnetische, optische oder beliebige geeignete Kombinationen davon. Ein computerlesbares Signalmedium kann ein beliebiges computerlesbares Medium sein, welches kein computerlesbares Speichermedium ist und das ein Programm zum Gebrauch durch ein oder in einer Verbindung mit einem Instruktionen ausführenden System, einer Vorrichtung oder einem Gerät kommunizieren, verbreiten oder transportieren kann. Wie hierin verwendet, umfasst ein computerlesbares Speichermedium kein computerlesbares Signalmedium.
-
Computerprogrammcode zum Ausführen von Operationen für Aspekte der vorliegenden Offenbarung kann in einer beliebigen Kombination von einer oder mehreren Programmiersprachen geschrieben werden, einschließlich einer objektorientierten Programmsprache wie Java, Smalltalk, C++ oder dergleichen und konventionell durchführbaren Programmiersprachen wie der "C"-Programmiersprache oder ähnliche Programmiersprachen. Der Programmcode kann vollständig auf einem Computer des Benutzers, teilweise auf einem Computer des Benutzers, als allein stehendes Softwarepaket, teilweise auf dem Computer des Benutzers und teilweise auf einem entfernten Computer, oder vollständig auf dem entfernten Computer oder Server ausgeführt werden. In dem letzteren Szenarium kann der entfernte Computer mit dem Computer des Benutzers über eine beliebige Art von Netzwerk verbunden sein, einschließlich einem lokalen Netzwerk (LAN) oder einem Weitverkehrsnetz (WA), oder kann die Verbindung durch einen externen Computer (z.B. durch das Internet, welches einen Internet-Service-Provider verwendet) ausgeführt werden.
-
Aspekte der vorliegenden Offenbarung werden unten mit Bezug auf Flussdiagrammdarstellungen und/oder Blockdiagrammen von Verfahren, Vorrichtung(en), (Systemen) und Computerprogrammprodukten beschrieben. Es ist verständlich, dass jeder Block der Flussdiagrammdarstellungen und/oder Blockdiagramme und Kombinationen der Blöcke in den Flussdiagrammdarstellungen und/oder Blockdiagrammen durch Computerprogramminstruktionen ausgeführt sein kann. Diese Computerprogramminstruktionen können durch einen Prozessor eines Computers für allgemeine Zwecke, eines Computers für spezielle Zwecke oder anderer programmierbarer Datenverarbeitungsvorrichtungen bereitgestellt werden, um eine Maschine zu erzeugen, so dass die Instruktionen, welche über den Prozessor des Computers oder anderer programmierbarer Datenverarbeitungsvorrichtungen ausgeführt werden, Mittel zum Ausführen der Funktionen/Aktionen, welche in den Flussdiagrammen und/oder Blockdiagrammen eines Blockes oder der Blöcke spezifiziert sind, erzeugen.
-
Diese Computerprogramminstruktionen können auch in einem computerlesbaren Speichermedium gespeichert werden, welches einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Geräte anweisen kann, Funktionen in einer bestimmten Weise auszuführen, so dass die Instruktionen, welche in dem computerlesbaren Speichermedium gespeichert sind, einen hergestellten Artikel ergeben, der Instruktionen, welche die Funktionen/Aktionen, welche in den Flussdiagrammen und/oder Blockdiagrammen, eines Blocks oder Blöcken spezifiziert sind, ausführen, einschließt.
-
Die Computerprogramminstruktionen können auch auf einen Computer, andere programmierbare Datenverarbeitungsvorrichtungen oder andere Geräte geladen werden, um zu veranlassen, dass eine Serie von operativen Schritten auf dem Computer, anderen programmierbaren Vorrichtungen oder anderen Geräten ausgeführt wird, um einen computerausgeführten Prozess zu erzeugen, so dass die Instruktionen, welche auf dem Computer oder anderen programmierbaren Vorrichtungen ausgeführt werden, Prozesse für das Ausführen der Funktionen/Aktionen, welche in dem Flussdiagramm und/oder Blockdiagramm, Block oder Blöcken spezifiziert werden, bereitstellen.
-
Die folgende detaillierte Beschreibung wird allgemein der Zusammenfassung folgen, wie sie oben ausgeführt ist, und ferner die Definitionen der verschiedenen Aspekte und Ausführungsformen, falls notwendig, erklären und erweitern. An diesem Punkt wird die detaillierte Beschreibung als erstes eine Computerumgebung in 1 festlegen, welche geeignet ist, um Software- und/oder Hardwaretechniken, welche mit der Offenbarung assoziiert sind, auszuführen. Eine Netzwerkumgebung wird in 2 als eine Erweiterung der Basiscomputerumgebung dargestellt, um zu betonen, dass moderne Computertechniken über mehrfache diskrete Geräte ausgeführt werden können.
-
1 stellt ein Informationshandhabungssystem 100 dar, welches ein vereinfachtes Beispiel eines Computersystems ist, welches in der Lage ist, die Computeroperationen, welche hierin beschrieben werden durchzuführen. Das Informationshandhabungssystem 100 umfasst einen oder mehrere Prozessoren 110, welche mit einem Prozessorschnittstellen-Bus 112 gekoppelt sind. Der Prozessorschnittstellen-Bus 112 verbindet die Prozessoren 110 mit einer Northbridge 115, welche auch als Speichersteuerungsknoten (MCH) bekannt ist. Die Northbridge 115 verbindet den Systemspeicher 120 und stellt Mittel für den(die) Prozessor(en) 110 zum Zugriff auf den Systemspeicher bereit. Ein Grafikcontroller 125 ist auch mit der Northbridge 115 verbunden. In einer Ausführungsform verbindet ein PCI-Express-Bus 118 die Northbridge 115 mit dem Grafikcontroller 125. Der Grafikcontroller 125 ist mit einem Anzeigegerät 130 wie einem Computermonitor verbunden.
-
Die Northbridge 115 und die Southbridge 135 sind unter Verwenden des Busses 119 miteinander verbunden. In einer Ausführungsform ist der Bus ein Direct Media Interface (DMI) Bus, welcher Daten bei hoher Geschwindigkeit in beide Richtungen zwischen der Northbridge 115 und der Southbridge 135 transferiert. In einer anderen Ausführungsform verbindet ein Peripheral Component Interconnect-(PCI)Bus die Northbridge und die Southbridge. Die Southbridge 135, welche auch als der E/A Steuerknoten (IOH) bekannt ist, ist ein Chip, welcher allgemein Fähigkeiten ausführt, welche bei niedrigeren Geschwindigkeiten arbeiten als die Geschwindigkeiten, welche durch die Northbridge bereitgestellt werden. Die Southbridge 135 stellt typischerweise verschiedene Busse bereit, welche zum Verbinden verschiedener Komponenten verwendet werden. Diese Busse umfassen zum Beispiel PCI und PCI-Express-Busse, einen ISA-Bus, einen Systemmanagement-Bus (SM-Bus oder SMB) und/oder einen Low Pin Count-(LPC)Bus. Der LPC-Bus verbindet oft niedrige Bandbreitengeräte, wie ein Boot-ROM 196 und "Legacy" E/A-Geräte (unter Verwenden eines "Super I/O" Chips). Die "Legacy" E/A Geräte (198) können zum Beispiel serielle und parallele Ports, Tastaturen, Mäuse und/oder einen Floppydisk-Controller einschließen. Der LPC-Bus verbindet auch die Southbridge 135 mit einem Trusted Platform Module (TPM) 195. Andere Komponenten, welche oft in der Southbridge 135 enthalten sind, umfassen einen direkten Speicherzugriff (DMA), einen Programmable Interrupt Controller (PIC) und einen Speichergerätecontroller, welcher die Southbridge 135 mit dem nicht-flüchtigen Speichergerät 185, wie etwa einem Festplattenlaufwerk, unter Verwendung eines Busses 184 verbindet.
-
Eine ExpressCard-Buchse 155 ist ein Schlitz, welcher schnell einsteckbare Geräte mit dem Informationshandhabungssystem verbindet. Die ExpressCard-Buchse 155 unterstützt sowohl die PCI-Express- als auch die USB-Verbindbarkeit, wenn diese mit der Southbridge 135 unter Verwenden sowohl des Universal Serial Bus (USB) als auch des PCI-Express-Busses, verbunden werden. Die Southbridge 135 umfasst den USB-Controller 140, welcher eine USB-Verbindbarkeit mit Geräten ermöglicht, welche über USB verbunden werden können. Diese Geräte schließen eine Webcam 150, einen Infrarot-(IR)Empfänger 148, eine Tastatur und ein Trackpad 144 und ein Bluetooth-Gerät 146 ein, welche Personal Area Networks (PANs) bereitstellen.
-
Der USB-Controller 140 ermöglicht auch eine USB-Konnektivität zu diversen anderen per USB verbindbaren Geräten 142, wie einer Maus, einem entfernbaren nicht-flüchtigen Speichergerät 145, Modems, Netzwerkkarten, ISDN-Verbinder, Fax, Drucker, USB-Knoten und vielen anderen Arten von über USB verbundenen Geräten. Während entfernbare nicht-flüchtige Speichergeräte 145 als ein USB-verbundenes Gerät gezeigt werden, könnten entfernbare nicht-flüchtige Speichergeräte 145 unter Verwenden einer anderen Schnittstelle, wie einer Firewire-Schnittstelle und so weiter, verbunden werden.
-
Ein drahtloses lokales Netzwerk-(LAN)Gerät 175 verbindet sich mit der Southbridge 135 über den PCI oder PCI-Express-Bus 172. Das LAN-Gerät 175 führt typischerweise eine der IEEE 802.11 Standards der Funkmodulationstechniken aus, welche alle das gleiche Protokoll verwenden, um zwischen dem Informationshandhabungssystem 100 und einem anderen Computersystem und einem Gerät drahtlos zu kommunizieren. Ein optisches Speichergerät 190 verbindet die Southbridge 135 unter Verwenden eines seriellen ATA-(SATA-)Bus 188. Der serielle ATA-Adapter und die Geräte kommunizieren über eine serielle Hochgeschwindigkeitsverbindung. Der serielle ATA-Bus verbindet auch die Southbridge 135 mit anderen Formen der Speichergeräte, wie Festplattenlaufwerken. Eine Audioschaltung 160, wie eine Soundkarte, verbindet sich mit der Southbridge 135 über den Bus 158. Eine Audioschaltung 160 stellt auch Funktionalitäten wie einen Audioeingang und einen optischen digitalen Audioport 162, einen optischen digitalen Ausgang und eine Kopfhörerbuchse 164, interne Lautsprecher 166 und ein internes Mikrofon 168 bereit. Ein Ethernet-Controller 170 verbindet sich mit der Southbridge 135 unter Verwenden eines Busses, wie dem PCI- oder PCI-Express-Bus. Der Ethernet-Controller 170 verbindet das Informationshandhabungssystem 100 mit einem Computernetzwerk, wie einem lokalen Netzwerk (LAN), dem Internet und anderen öffentlichen und privaten Computernetzwerken.
-
Während 1 ein einziges Informationshandhabungssystem zeigt, kann ein Informationshandhabungssystem viele Formen einnehmen. Zum Beispiel kann ein Informationshandhabungssystem die Form eines Desktops, eines Servers, eines tragbaren Computers, eines Laptops oder andere Formfaktoren von Computern oder Datenverarbeitungssystemen annehmen. Zusätzlich kann ein Informationshandhabungssystem andere Formfaktoren wie einen Personal Digital Assistant (PDA), ein Spielegerät, eine ATM-Maschine, ein tragbares Telefongerät, ein Kommunikationsgerät oder andere Geräte, welche einen Prozessor und einen Speicher aufweisen, annehmen.
-
Das Trusted Platform Module (TPM 195), das in 1 und hierin beschrieben ist, um Sicherheitsfunktionen bereitzustellen, ist nur ein Beispiel eines Hardware-Sicherheitsmoduls (HSM). Deshalb umfasst das TPM, welches hierin beschrieben und beansprucht wird, jede Art von HSM, einschließlich aber nicht begrenzt auf Hardware-Sicherheitsgeräte, welche dem Sicherheits-Computergruppen-(TCG)Standard entsprechen und als "Trusted Platform Module (TPM) Specification Version 1.2" bezeichnet werden. Das TPM ist ein Hardware-Sicherheitshilfssystem, welches in einer beliebigen Anzahl von Informationshandhabungssystemen eingebaut sein kann, wie solchen, welche in 2 dargestellt sind.
-
2 stellt eine Vergrößerung der Umgebung des Informationshandhabungssystems, welches in 1 gezeigt wird, bereit, um darzustellen, dass die Verfahren, welche hierin beschrieben werden, auf einer breiten Vielfalt von Informationshandhabungssystemen, welche in einer Netzwerkumgebung betrieben werden, ausgeführt werden können. Arten von Informationshandhabungssystemen reichen von kleinen handgehaltenen Geräten, wie einem handgehaltenen Computer/Mobiltelefon 210, bis hin zu Großrechnersystemen, wie einem Großrechnercomputer 270. Beispiele handgehaltener Computer 210 schließen Personal Digital Assistants (PDAs), persönliche Entertainmentgeräte, wie MP3-Players, tragbare Fernsehgeräte und Kompaktdisk-Wiedergabegeräte ein. Andere Beispiele von Informationshandhabungssystemen umfassen Stift- oder Tablet-Computer 220, Laptop- oder Notebook-Computer 230, einen Arbeitsrechner 240, ein persönliches Computersystem 250 und einen Server 260. Andere Arten von Informationshandhabungssystemen, welche nicht individuell in 2 gezeigt sind, werden durch das Informationshandhabungssystem 280 dargestellt. Wie gezeigt, können verschiedene Informationshandhabungssysteme über Netzwerke unter Verwenden eines Computernetzwerks 200 zusammenarbeiten. Arten von Computernetzwerken, welche verwendet werden können, um die verschiedenen Informationshandhabungssysteme zusammenzuschließen, umfassen lokale Netzwerke (LANs), drahtlose lokale Netzwerke (WLANs), das Internet, ein Public Switched Telephone Network (PSTN), andere drahtlose Netzwerke und eine beliebige andere Netzwerktopologie, welche verwendet werden kann, um die Informationshandhabungssysteme untereinander zu verbinden. Viele der Informationshandhabungssysteme umfassen nicht-flüchtige Datenspeicher, wie feste Laufwerke und/oder nicht-flüchtige Speicher. Einige der Informationshandhabungssysteme, welche in 2 gezeigt werden, zeigen separate nicht-flüchtige Datenspeicher (der Server 260 verwendet einen nicht-flüchtigen Datenspeicher 265, der Großrechner 270 verwendet einen nicht-flüchtigen Datenspeicher 275 und das Informationshandhabungssystem 280 verwendet einen nicht-flüchtigen Datenspeicher 285). Der nicht-flüchtige Datenspeicher kann eine Komponente sein, welche extern zu den verschiedenen Informationshandhabungssystemen ist oder intern in einem der Informationshandhabungssysteme vorhanden sein kann. Zusätzlich kann auf ein entfernbares nicht-flüchtiges Speichergerät 145 durch zwei oder mehr Informationshandhabungssysteme unter Verwenden verschiedener Techniken gemeinsam zugegriffen werden, wie ein Verbinden des entfernbaren nicht-flüchtigen Speichergerätes 145 mit einem USB-Port oder einem anderen Anschluss der Informationshandhabungssysteme.
-
3–8 zeigen eine Methode, welche sowohl eine beabsichtigte Interaktionsschicht eines Benutzers (die Transparenzschicht oder die Anwendungsschicht) als auch den vom Benutzer beabsichtigten Eingabetyp (eine Geste oder eine Handschrift) identifiziert. Die Transparenzschicht ermöglicht Benutzern über beliebigen Anwendungen oder Fenstern zu schreiben und den erkannten Text zu den geeigneten Texteingabefeldern oder Dokumentenbereichen zu senden. Während die Benutzer schreiben, möchten sie jedoch auch die Möglichkeit haben, die Anwendung darunter zu steuern, beispielsweise durch Scrollen, Klicken eines Knopfes usw. Die Wichtungseigenschaften der Benutzereingabe bestimmen die beabsichtigte Interaktionsschicht sowie den beabsichtigten Eingabetyp.
-
Für die beabsichtigte Interaktionsschicht filtert die Methode Bewegungsereignisse direkt auf dem Ereignisquellentyp basierend. Wenn zum Beispiel stiftähnliche Ereignisse vom Finger, von einer Maus oder anderen unterschieden werden können, lassen sich alle Ereignisse, welche sich von Stiftereignissen unterscheiden, durch die Anwendung darunter ausführen. Die Nicht-Stift-Ereignisse können direkt die Zielanwendung erreichen oder durch die transparente erste Schicht verbraucht und nachher erneut eingegeben werden. Wenn Stift-Schwebe-Ereignisse durch die Transparenzschicht nicht verwendet werden, sollten sie auch ausgefiltert werden. Stiftereignisse werden kontinuierlich überwacht. Für einen einzelnen Stiftstrich kann, wenn der Startpunkt oder die Vielzahl der Punktkoordinaten oberhalb eines bestimmten Entscheidungspunktes oder Schwellwertes liegt, dieser Strich vollständig oder teilweise als Interaktion mit der darunterliegenden Anwendung statt als Handschrifteingabe behandelt werden. Der Entscheidungspunkt oder der Schwellwert könnte ein zweidimensionaler euklidischer Abstand von der Texteingaberegionsgrenze zu den Punktkoordinaten sein. Die historischen Ereignisse werden für eine spätere mögliche Einspeisung gespeichert. Das handschriftliche Eingabeereignis wird somit nicht in die Anwendung eingespeist. Für mehrfache kontinuierliche Stiftstriche kann die Beziehung zwischen früheren und späteren Strichen helfen zu entscheiden und eine bereits erfolgte Entscheidung zu korrigieren. Zum Beispiel erhalten bei mehreren Strichen, welche in sehr kurzer Zeitdifferenz erzeugt wurden, wenn die späteren Striche als Handschrift behandelt werden, die früheren Striche auch eine höhere Wahrscheinlichkeit Handschriften zu sein, selbst wenn sie als Anwendungsinteraktion behandelt wurden. Ferner analysiert die Methode Touch-Gesten, welche für Anwendungsinteraktionen üblich sind, wie Einzelantippen, langes Pressen usw.
-
Der Transparent IME (Transparenzschicht) ist ein Modell, welches der Benutzer für Tintenstriche wie ein Umkreisen, ein Durchstreichen usw. verwenden kann, um auf den Schriftsatz in dem Texteingabebereich zu arbeiten. Neben handschriftlichen Formen können andere direkte Touch-Gesten wie ein einziges Tippen auch als Kommando verwendet werden. Zum Beispiel kann ein Benutzer wünschen anstelle einer Kreisgeste ein "o" zu schreiben, anstelle einer Durchstreichgeste ein "–" zu schreiben oder anstelle einer einzelnen Tippgeste einen "." zu schreiben.
-
Handschriftliche Eingaben und Gesteneingaben haben, basierend auf dem Kontext, unterschiedliche Bedeutungen. Der Kontext kann ein Inhalt unter der Benutzereingabe sein. Wenn es darunter zum Beispiel Schriftsätze gibt, ist eine Benutzereingabe eher eine Geste, oder wenn es einen unteren Knopf gibt, ist es wahrscheinlicher, dass es eine Geste ist. Für eine einzelne Tippeingabe, wenn die Tipppunktgeometrie innerhalb eines bestimmten Distanzschwellwerts von der Cursorposition ist, ist es wahrscheinlicher, dass es eine Punkteingabe ist. Wenn die Benutzereingabeformgröße klein ist, ist es weniger wahrscheinlich eine Geste und wahrscheinlicher eine Handschrift. Wenn eine kleine Zeit zwischen Benutzereingaben liegt, ist es eher eine kontinuierliche Handschrifteingabe und somit weniger wahrscheinlich, dass es eine gestenartige Eingabe ist. Durch Vergleichen der Erkennungsergebnisse und dem vertrauten Ergebnis zwischen früher verwendeten Eingaben können die Benutzereingaben entweder als Gesten oder als Handschrift identifiziert werden. Der Vergleich kann auch nach dem Anwenden der Erkenntnis und nach einem Senden der Textergebnisse zu dem Eingabefeld erfolgen, wenn die neue Eingabe einen Gesamtinhalt logischer macht oder es wahrscheinlicher ist, eine Handschrifteingabe zu sein. Für Gesten wird die Gestenwahrscheinlichkeitsgewichtung basierend auf früheren Benutzereingaben angepasst. Durch kontinuierliches Überwachen der Benutzereingaben können die letzten Benutzereingaben unterschiedliche Wahrscheinlichkeitsbedeutungen gewinnen, um sie als Gesten oder als Handschrift zu behandeln. Wenn die Benutzereingaberichtung entgegen der normalen Handschrift ist, ist es eher eine Geste, wie eine Durchstreichgeste von rechts nach links.
-
3A ist ein Draufsichtdiagramm, welches fingerbasierte und stiftbasierte Eingaben für handschriftliche und getippte Eingaben sowohl an die Anwendungsschicht als auch an die Transparenzschicht zeigt. Ein Touchscreen-Gerät weist eine Touchscreen-Oberfläche auf, auf welcher ein Benutzer eine Eingabe als Handschrift oder als Gesten unter Verwenden verschiedener Eingabegeräte 350 eingeben kann, einschließlich Fingern 370 und stiftähnlichen Werkzeugen 360.
-
Die Transparenzschicht 310 wird als virtuelle "Abdeckung" über der Touchscreen-Oberfläche gezeigt. Der Benutzer kann mit der Transparenzschicht 310 unter Verwenden der Touchscreen-Eingabegeräte 350, unter Verwenden einer Vielfalt von Gesten und in einigen Fällen durch Handschrifteingaben interagieren. Unter der Transparenzschicht 310 ist eine Anwendung, wobei eine oder mehrere Anwendungen 320 enthalten sein können. Anders als die Transparenzschicht 310, sind die Anwendungen 320 für den Benutzer auf der Oberfläche des Touchscreen-Gerätes 300 sichtbar. Die Eingabefelder 325 können als Anzeigeanwendung 320 abhängig von der Art der Anwendung, welche angezeigt wird, dargestellt werden. Zusätzlich kann ein Cursor 330, welcher anzeigt, wo der eingegebene Text auf dem Bildschirm angezeigt werden wird, eine sichtbare Komponente auf der Oberfläche des Touchscreen-Gerätes 300 sein. In dem gezeigten Beispiel befindet sich der Cursor gegenwärtig in einem der Eingabefelder der angezeigten Anwendung. Softwaretasten 340 können basierend auf den Anwendungen in der Anwendungsschicht angezeigt werden oder wenn eine textartige Eingabe angefragt wird durch die Transparenzschicht. Wenn sichtbar, dann verursacht eine Benutzereingabe, welche auf eine der Tasten des Softwaretastaturbereichs gerichtet ist, einen Eintrag der entsprechenden Zeichen, ähnlich zu dem Effekt eines Drückens eines Zeichens auf einer physikalischen Tastatur.
-
3B ist ein Seitenansichtsdiagramm, welches fingerbasierte und stiftbasierte Eingaben für handschriftliche und getippte Eingaben sowohl in die Anwendungsschicht als auch in die Transparenzschicht zeigt. Diese Ansicht zeigt, dass die Transparenzschicht 380 virtuell über der Anwendungsschicht 390 enthalten ist. Unter Verwenden der Prozesse und Schritte, welche in den 4–8 gezeigt werden, unterscheidet das System zwischen Benutzereingaben, welche an die Transparenzschicht 380 gerichtet sind, und solchen Eingaben, welche an die Anwendungsschicht 390 gerichtet sind. Ferner unterscheidet das System zwischen Benutzereingaben, die gestenartige Eingaben sind, und Benutzereingaben, welche handschriftartige Eingaben sind. Gestenartige Eingaben ermöglichen es dem Benutzer das Touchscreen-Gerät 300 basierend auf einer Benutzereingabe oder einer Berührung, welche durch den Nutzer unter Verwenden eines Eingabegerätes 350 dem Gerät bereitgestellt werden, zu steuern. Arten der Gesten schließen Gesten des "Schwenkens" ein, um das virtuelle Fenster, welches auf der Touchscreen-Oberfläche erscheint, zu scrollen und einen anderen Teil des virtuellen Bildschirms zu sehen, des "Zoomens", um einen Gegenstand auf dem Touchscreen-Gerät größer oder kleiner erscheinen zu lassen, des "Drehens", um einen Gegenstand, wie ein Bild oder eine Karte, in einer kreisenden Richtung zu bewegen und um Menüs und andere Geräteinteraktionsgegenstände zu sehen.
-
Das System identifiziert die beabsichtigte Interaktionsschicht (die Transparenzschicht oder die Anwendungsschicht) basierend auf Eigenschaften der Benutzereingaben, welche von dem System empfangen werden, sowie der Art und der Eingabe (Handschrift oder Geste), welche durch den Benutzer beabsichtigt ist, basierend auf den Eigenschaften der Benutzereingaben. Benutzereingaben, welche identifiziert werden, auf die Transparenzschicht ausgerichtet zu sein, werden auf die Transparenzschicht gerichtet, während Eingaben, welche identifiziert werden, auf die Anwendungsschicht ausgerichtet zu sein, auf die Anwendungsschicht gerichtet werden oder noch spezifischer auf eine Anwendung, welche in der Anwendungsschicht erscheint. Eingaben, welche als Gesten identifiziert werden, werden als solche in der beabsichtigten Interaktionsschicht behandelt. Zum Beispiel würde eine "Schwenk-" Geste, welche an die Transparenzschicht gerichtet ist, das virtuelle Fenster, welches auf dem Touchscreen-Gerät 300 erscheint, schwenken, um somit andere Anwendungen, welche gegenwärtig "außerhalb des Schirms" sind, "auf dem Schirm" und sichtbar für den Benutzer abzubilden. Die gleiche "Schwenk-" Geste, welche an die Anwendungsschicht gerichtet ist, würde die Anwendung in der Anwendungsschicht schwenken, wie ein Scrollen einer Liste von Gegenständen, welche in der Anwendung auftreten. In ähnlicher Weise werden Benutzereingaben als Handschrift identifiziert und als solche behandelt. Wenn sie auf ein Texteingabefeld ausgerichtet ist, wird die Handschrift in einen entsprechenden Text konvertiert (z.B. ein Handschriftzeichen "a" wird zu einem Textzeichen "a" konvertiert usw.) und in das System als Textdaten eingegeben. Auf diese Weise kann der Benutzer handgeschriebene Benutzereingaben an Eingabefelder in einer Anwendung leiten und wird das System nicht nur identifizieren, dass die Eingabe auf die Anwendungsschicht gerichtet ist, sondern auch erkennen, dass die Handschrift als Eingabe in Felder beabsichtigt ist, die Handschrift in einen Text konvertieren und den Text in die Eingabefelder eingeben.
-
4 ist ein Flussdiagramm, welches Schritte zeigt, welche durch einen Schriftsatzprozess getätigt werden. 4 beginnt bei 400 und zeigt die Schritte, welche durch einen Prozess getätigt werden, welcher sowohl den beabsichtigten Eingabetyp als auch die beabsichtigte Zielschicht basierend auf Benutzereingaben, welche auf einem Touchscreen-Gerät empfangen werden, identifiziert. Beim Schritt 405 prüft der Prozess die Benutzerkonfigurationsdaten, welche durch den Benutzer eingerichtet wurden und in dem Konfigurationsdatenspeicher 410 gespeichert sind. Der Prozess bestimmt, ob die Konfigurationseinstellung durch den Benutzer eingerichtet wurde (Entscheidung 415). Wenn die Benutzerkonfigurationseinstellungen zur Verfügung stehen, dann verzweigt sich die Entscheidung 415 zu dem 'Ja-' Zweig, woraufhin beim Schritt 420 der Prozess die Benutzerkonfigurationseinstellungen, welche durch den Benutzer eingerichtet sind, einliest. Andererseits, wenn der Benutzer keine Konfigurationseinstellungen eingerichtet hat, dann verzweigt sich die Entscheidung 415 zu dem 'Nein-' Zweig, woraufhin der Prozess beim Schritt 425 eher Standardeinstellungen verwendet als benutzerdefinierte Konfigurationseinstellungen.
-
Beim Schritt 430 speichert der Prozess die Benutzereingaben, welche auf dem Touchscreen-Gerät 300 empfangen wurden, in einem Speicherbereich 435. Beim Schritt 440 initialisiert der Prozess Wichtungen für die beabsichtigte Interaktionsschicht und den beabsichtigten Eingabetyp. Die beabsichtigte Interaktionsschicht ist entweder die Transparenzschicht oder die Anwendungsschicht und der beabsichtigte Eingabetyp ist entweder eine handschriftartige Eingabe oder eine gestenartige Eingabe. Wenn die Benutzereingaben durch vorbestimmte Prozesse 450 und 460 verarbeitet werden, werden die Wichtungen basierend auf Eigenschaften, welche mit den empfangenen Benutzereingaben assoziiert sind, angepasst. Die Option mit der höheren Wichtung wird als die beabsichtigte Option des Benutzers ausgewählt. Wenn zum Beispiel nach einem Ausführen eines vordefinierten Prozesses 450, die gestenartige Eingabe eine höhere Wichtung aufweist als die handschriftartige Eingabe, dann werden die gestenartigen Eingaben als beabsichtigter Eingabetyp des Benutzers identifiziert. Auf ähnliche Weise wird, wenn nach dem Ausführen des vordefinierten Prozesse 460 die Anwendungsschicht eine höhere Wichtung aufweist als die Transparenzschicht, d die Anwendungsschicht als die beabsichtigte Interaktionsschicht des Benutzers identifiziert.
-
Als vordefinierter Prozess 450 führt der Prozess das Identifizieren einer beabsichtigten Eingabetyproutine durch (siehe 5 und entsprechende Textverarbeitungsdetails). Der beabsichtigte Eingabetyp, welcher durch den vordefinierten Prozess 450 identifiziert wird, wird in dem Speichergebiet 455 gespeichert. Der beabsichtigte Eingabetyp wird entweder als Gesteneingabetyp oder als Handschrifteingabetyp identifiziert.
-
Beim vordefinierten Prozess 460 führt der Prozess das Identifizieren der beabsichtigten Interaktionsschichtroutine durch (siehe 6 und entsprechende Textverarbeitungsdetails). Die beabsichtigte Interaktionsschicht, welche durch den vordefinierten Prozess 460 identifiziert wird, wird in dem Speichergebiet 465 gespeichert. Die beabsichtigte Interaktionsschicht wird entweder als die Transparenzschicht oder als die Anwendungsschicht identifiziert.
-
Beim vordefinierten Prozess 470 führt der Prozess den kontextbezogenen Test der beabsichtigten Zielschicht und die Eingabetyproutine durch (siehe 7 und entsprechende Textverarbeitungsdetails). Der kontextbezogene Test verwendet die Benutzereingabe in die identifizierte Interaktionsschicht als den beabsichtigten Eingabetyp (Handschrift oder Gesten). Die Ergebnisse des kontextbezogenen Tests erscheinen auf dem Touchscreen-Gerät, wo sie für den Benutzer sichtbar sind. Beim vordefinierten Prozess 475 führt der Prozess die Benutzerreaktion für angewandte Beabsichtigungsroutinen durch (siehe 8 und entsprechende Textverarbeitungsdetails). Wenn der Benutzer die Ergebnisse des kontextuellen Schrittes sieht, welcher durch den vordefinierten Prozess 470 ausgeführt ist, kann der Benutzer anzeigen, ob die beabsichtigte Interaktionsschicht nicht korrekt war, der beabsichtigte Eingabetyp nicht korrekt war oder beides nicht korrekt war. Diese Reaktion wird von dem Benutzer bei dem vordefinierten Prozess 475 empfangen. Das Gerät könnte zum Beispiel so konfiguriert sein, dass, wenn der Benutzer das Gerät innerhalb eines vorbestimmten Zeitintervalls von Seite zu Seite schüttelt, nachdem der kontextbezogene Test durchgeführt wurde, die Benutzerantwort anzeigt, dass die beabsichtigte Interaktionsschicht nicht korrekt ist, das Rauf- und Runterschütteln innerhalb des Intervalls zeigt, dass der beabsichtigte Eingabetyp nicht korrekt ist, und diagonales Schütteln des Gerätes zeigt, dass die beabsichtigte Interaktion und der beabsichtigte Eingabetyp nicht korrekt sind.
-
Der Prozess bestimmt, ob die Identifizierungen sowohl in Bezug auf die beabsichtigte Interaktionsschicht als auch den beabsichtigten Eingabetyp korrekt waren (Entscheidung 480). Wenn eine oder mehrere Identifizierungen nicht korrekt waren, dann verzweigt sich die Entscheidung 480 zu dem 'Nein-' Zweig, woraufhin der Prozess beim Schritt 485 die identifizierte Interaktionsschicht und/oder den identifizierten Eingabetyp basierend auf der Benutzereingabe (z.B. Schütteln des Gerätes rauf/runter, links/rechts, diagonal usw. innerhalb eines vorbestimmten Zeitintervalls) ändert. Wenn zum Beispiel der vordefinierte Prozess 450 den beabsichtigten Eingabetyp inkorrekt als Geste identifiziert, dann würde der beabsichtigte Eingabetyp beim Schritt 485 in einen Handschrifteingabetyp geändert werden. Wenn der vordefinierte Prozess 460 die beabsichtigte Interaktionsschicht inkorrekt als Transparenzschicht identifiziert, dann wird beim Schritt 485 auf ähnliche Weise die beabsichtigte Interaktionsschicht in die Anwendungsschicht geändert.
-
Das Verarbeiten wird dann zu dem vordefinierten Prozess 470 zurückgekoppelt, um den kontextbezogenen Test des aktuellen beabsichtigten Eingabetyps und/oder der beabsichtigten Interaktionsschicht neu auszuführen. Dieses Rückkoppeln wird fortgesetzt, bis die Identifizierungen der Absichten des Benutzers korrekt sind. Wenn beide Identifizierungen, sowohl der beabsichtigte Eingabetyp als auch die beabsichtigte Interaktionsschicht, korrekt sind, dann verzweigt sich die Entscheidung 480 zu dem 'Ja-' Zweig, woraufhin beim Schritt 490 der Prozess die Benutzereingaben zusammen mit der sich ergebenden identifizierten beabsichtigten Interaktionsschicht und dem identifizierten beabsichtigten Eingabetyp in den historischen Datenspeicher 495 speichert. Der historische Datenspeicher wird mit den Benutzereingaben verglichen, um Ähnlichkeiten in den Benutzereingaben herauszufinden, so dass früher für gültig erkannte Identifizierungen der beabsichtigten Eingabetypen und der beabsichtigten Eingabeschichten im nachfolgenden Gebrauch des Gerätes verwendet werden können.
-
5 ist ein Flussdiagramm, welches Schritte zeigt, welche durch einen Prozess getätigt werden, welcher einen beabsichtigten Eingabetyp zum Empfangen von Touchscreen-Eingaben identifiziert. Beim Schritt 500 identifiziert der Prozess den beabsichtigten Eingabetyp basierend auf Benutzereingaben auf dem Touchscreen-Gerät. Beim Schritt 505 vergleicht der Prozess die empfangene Benutzereingabe mit historischen Daten von früheren Benutzereingaben, welche verarbeitet wurden und die mit dem beabsichtigten Eingabetyp derartiger früherer Benutzereingaben assoziiert sind. Der Prozess bestimmt, ob ähnliche Sätze von Eingaben in den historischen Daten gefunden werden (Entscheidung 510). Wenn ähnliche Eingabesätze in den historischen Daten gefunden werden, dann verzweigt sich die Entscheidung 510 zu dem 'Ja-' Zweig, woraufhin beim Schritt 515 der Prozess den Eingabetyp wichtet (Handschrift oder Geste) zugunsten des früheren Eingabetyps, welcher in der Eingabehistorie, welcher mit ähnlichem Satz von Benutzereingaben assoziiert war, gefunden wurde. Wenn andererseits ein ähnlicher Satz von Eingaben nicht in den historischen Daten gefunden wurde, dann verzweigt sich die Entscheidung 510 zu dem 'Nein-' Zweig unter Umgehen des Schrittes 515.
-
Der Prozess bestimmt, ob mehrfache Benutzereingaben in einer relativ kurzen Zeitdauer empfangen wurden (Entscheidung 520). Wenn mehrfache Eingaben in einer relativ kurzen Zeitdauer empfangen wurden, dann verzweigt sich die Entscheidung 520 zu dem 'Ja-' Zweig, woraufhin beim Schritt 525 das Wichten des Handschrifteingabetyps verstärkt wird. Andererseits, wenn die mehrfachen Eingaben nicht in einer kurzen Zeitdauer empfangen werden, verzweigt sich die Entscheidung 520 zu dem 'Nein-' Zweig, woraufhin beim Schritt 525 das Wichten des Gesteneingabetyps verstärkt wird.
-
Beim Schritt 535 wählt der Prozess die erste Benutzereingabe, welche von dem Benutzer des Touchscreen-Gerätes empfangen wurde. Der Prozess bestimmt, ob die ausgewählte Benutzereingabe Koordinateneigenschaften aufweist, welche die gewählte Benutzereingabe in der Nähe von oder nahe den gegenwärtigen Koordinaten des Cursors, welcher auf dem Screen gezeigt wird, anordnet (Entscheidung 540). Wenn die gewählte Benutzereingabe nahe zu der laufenden Cursorposition ist, dann verzweigt sich die Entscheidung 540 zu dem 'Ja-' Zweig, woraufhin beim Schritt 545 das Wichten des Handschrifteingabetyps verstärkt wird. Wenn andererseits die gewählte Benutzereingabe nicht nahe der gegenwärtigen Cursorposition ist, dann verzweigt sich die Entscheidung 540 zu dem 'Nein-' Zweig, woraufhin beim Schritt 550 das Wichten des Gesteneingabetyps verstärkt wird.
-
Der Prozess bestimmt, ob eine Softtastenfläche auf dem Bildschirm zur gleichen Zeit auftritt, zu welcher die Benutzereingabe empfangen wurde (Entscheidung 555). Wenn eine Softtastenfläche auf dem Schirm zur gleichen Zeit auftritt, zu der die Benutzereingabe empfangen wurde, dann verzweigt sich die Entscheidung 555 zu dem 'Ja-' Zweig, woraufhin beim Schritt 560 das Wichten des Gesteneingabetyps verstärkt wird. Wenn andererseits eine Softtastenfläche nicht zur gleichen Zeit auf dem Schirm erscheint zu der die Benutzereingabe empfangen wurde, dann verzweigt sich die Entscheidung 555 zu dem 'Nein-' Zweig, woraufhin beim Schritt 565 das Wichten des Handschrifteingabetyps verstärkt wird.
-
Der Prozess bestimmt, ob die Größe der Benutzereingabe relativ klein im Vergleich zu der Größe des Touchscreens (Entscheidung 570) ist. Wenn die Größe der Benutzereingabe relativ klein ist, dann verzweigt sich die Entscheidung 570 zu dem 'Ja-' Zweig für die weitere Verarbeitung. Wenn andererseits die Größe der Benutzereingabe nicht relativ klein ist, dann verzweigt sich die Entscheidung 570 zu dem 'Nein-' Zweig, woraufhin beim Schritt 590 das Wichten des Gesteneingabetyps verstärkt wird. Unter Verfolgen des 'Ja-' Zweigs der Entscheidung 570 bestimmt der Prozess als nächstes, ob die Benutzereingabe ein Tippen auf den Bildschirm ist (Entscheidung 575). Wenn die Benutzereingabe ein Tippen auf den Bildschirm ist, dann verzweigt sich die Entscheidung 575 zu dem 'Ja-' Zweig, woraufhin beim Schritt 580 das Wichten des Gesteneingabetyps verstärkt wird. Wenn andererseits die Benutzereingabe kein Tippen auf dem Bildschirm ist, dann verzweigt sich die Entscheidung 575 zu dem 'Nein-' Zweig, woraufhin beim Schritt 585 das Wichten des Handschrifteingabetyps verstärkt wird.
-
Der Prozess bestimmt, ob weitere Benutzereingaben auf dem Touchscreen-Gerät empfangen werden (Entscheidung 595). Wenn es mehrere Benutzereingaben gibt, dann verzweigt sich die Entscheidung 595 zu dem 'Ja-' Zweig, welcher zu dem Schritt 535 zurückgekoppelt wird, um auszuwählen und die Benutzereingabe zu bearbeiten. Diese Rückkopplung wird fortgesetzt, bis es keine Benutzereingaben zum Verarbeiten mehr gibt, an welchem Punkt sich die Entscheidung 595 zu dem 'Nein-' Zweig verzweigt und das Verarbeiten zu der Aufrufroutine (siehe 4) bei 599 zurückkehrt. Die Routine kehrt zurück zu dem beabsichtigten Eingabetyp basierend auf welcher der Eingabetypen (Handschrift oder Geste) die größte Wichtung während der Ausführung der Routine bekommen hat.
-
6 ist ein Flussdiagramm, welches Schritte zeigt, welche durch einen Prozess getätigt werden, welcher eine beabsichtigte Interaktionsschicht zum Empfangen von Touchscreen-Eingaben identifiziert. Beim Schritt 600 identifiziert der Prozess die beabsichtigte Interaktionsschicht basierend auf Benutzereingaben, welche auf dem Touchscreen-Gerät empfangen werden. Beim Schritt 605 vergleicht der Prozess die empfangene Benutzereingabe mit historischen Daten der früheren Benutzereingaben, welche verarbeitet wurden, und die beabsichtigte Interaktionsschicht, welche mit derartigen früheren Benutzereingaben assoziiert ist. Der Prozess bestimmt, ob ein ähnlicher Eingabesatz in den historischen Daten gefunden wurde (Entscheidung 610). Wenn ein ähnlicher Eingabesatz in den historischen Daten gefunden wurde, dann verzweigt sich die Entscheidung 610 zu dem 'Ja-' Zweig, woraufhin beim Schritt 615 der Prozess die beabsichtigte Interaktionsschicht (Transparenzschicht oder Anwendungsschicht) zugunsten der früher beabsichtigen Interaktionsschicht wichtet, welche in der Eingabehistorie gefunden wurde, welche mit dem ähnlichen Satz von Benutzereingaben assoziiert war. Wenn andererseits kein ähnlicher Eingabesatz in den historischen Daten gefunden wurde, dann verzweigt sich die Entscheidung 610 zu dem 'Nein-' Zweig unter Umgehung des Schrittes 615.
-
Der Prozess bestimmt, ob vielfache Benutzereingaben in einer relativ kurzen Zeitdauer empfangen wurden (Entscheidung 620). Wenn vielfache Eingaben in einer relativ kurzen Zeitspanne empfangen wurden, dann verzweigt sich die Entscheidung 620 zu dem 'Ja-' Zweig, woraufhin beim Schritt 625 das Wichten der Anwendungsschicht verstärkt wird. Wenn andererseits die vielfachen Eingaben nicht in einer kurzen Zeitdauer empfangen wurden, dann verzweigt sich die Entscheidung 620 zu dem 'Nein-' Zweig, woraufhin beim Schritt 625 das Wichten der Transparenzschicht verstärkt wird.
-
Beim Schritt 635 wählt der Prozess die erste Benutzereingabe von dem Satz der Benutzereingaben, welche auf dem Touchscreen-Gerät empfangen wurden, aus. Bei der Entscheidung 640 wird durch den Prozess eine Bestimmung getätigt, ob der Oberflächenbereich der Eingabe die Gestalt und Größe hat, welche mit einer stiftähnlichen Ausführung (z.B. Griffel, Stift usw.) übereinstimmt, welche kleiner ist als der Oberflächenbereich einer Eingabe, welche mit einem Finger oder einer anderen nicht stiftähnlichen Ausführung getätigt wird. Wenn der Oberflächenbereich der ausgewählten Eingabe von einer stiftähnlichen Ausführung ist, dann verzweigt sich die Entscheidung 640 zu dem 'Ja-' Zweig, woraufhin beim Schritt 645 das Wichten der Transparenzschicht verstärkt wird. Wenn andererseits der Oberflächenbereich der ausgewählten Eingabe nicht von einer stiftähnlichen Ausführung ist, dann verzweigt sich die Entscheidung 640 zu dem 'Nein-' Zweig, woraufhin beim Schritt 650 das Wichten der Anwendungsschicht verstärkt wird.
-
Der Prozess bestimmt, ob die ausgewählte Eingabe Koordinaten hat, welche sich innerhalb der zugrunde liegenden Anwendungstexteingaberegion befinden (Entscheidung 655). Wenn die Koordinaten nahe bei oder innerhalb dem zugrunde liegenden Anwendungsbereich sind, dann verzweigt sich die Entscheidung 655 zum 'Ja-' Zweig, woraufhin beim Schritt 660 das Wichten der Anwendungsschicht verstärkt wird. Wenn andererseits die Koordinaten nicht nahe bei oder innerhalb des zugrunde liegenden Anwendungsbereichs sind, dann verzweigt sich die Entscheidung 655 zu dem 'Nein-' Zweig, woraufhin beim Schritt 665 das Wichten der Transparenzschicht verstärkt wird.
-
Der Prozess bestimmt, ob die ausgewählte Eingabe zuvor als übliche Anwendungsgeste durch die Routine, welche in 5 (Entscheidung 670) gezeigt wird, identifiziert wurde. Wenn die ausgewählte Eingabe zuvor als gewöhnliche Anwendungsgeste identifiziert wurde, dann verzweigt sich die Entscheidung 670 zu dem 'Ja-' Zweig, woraufhin beim Schritt 675 das Wichten der Anwendungsschicht verstärkt wird. Wurde die ausgewählte Eingabe andererseits nicht zuvor als übliche Anwendungsgeste identifiziert, dann verzweigt sich die Entscheidung 670 zu dem 'Nein-' Zweig, woraufhin beim Schritt 680 das Wichten der Transparenzschicht verstärkt wird.
-
Der Prozess bestimmt, ob mehrere Benutzereingaben des Benutzers auf dem Touchscreen-Gerät empfangen wurden (Entscheidung 690). Wenn mehrere Benutzereingaben vorliegen, dann verzweigt sich die Entscheidung 690 zu dem 'Ja-' Zweig, welcher zum Schritt 635 zurückkoppelt, um die nächste Benutzereingabe auszuwählen und zu verarbeiten. Diese Rückkopplung wird fortgesetzt, bis es keine Benutzereingaben in dem Prozess mehr gibt, an welchem Punkt die Entscheidung 690 zum 'Nein-' Zweig verzweigt und die Verarbeitung zu der Aufrufroutine (siehe 4) bei 695 zurückkehrt. Die Routine kehrt zurück zu der beabsichtigten Interaktionsschicht, basierend auf welcher der Interaktionsschichten (Transparenzschicht oder Anwendungsschicht) das größte Wichten während der Ausführung der Routine empfangen hat.
-
7 ist ein Flussdiagramm, welches Schritte zeigt, welche während eines kontextbezogenen Tests der Touchscreen-Eingaben in dem identifizierten Eingabetyp getätigt werden und auf die identifizierte Zielschicht gerichtet sind. 7 beginnt bei 700 und zeigt die Schritte, welche durch einen Prozess getätigt werden, welcher einen kontextbezogenen Test ausführt. Beim Schritt 704 ruft der Prozess eine Reaktion von dem Speicherbereich 708 ab, welche einen beliebigen früheren Versuch des Eingabetyps und der Interaktionsschicht (falls verfügbar) betrifft. Der Prozess bestimmt, ob eine Benutzerreaktion verfügbar ist (Entscheidung 712). Wenn eine Benutzerreaktion nicht verfügbar ist, dann verzweigt sich die Entscheidung 712 zu dem 'Nein-' Zweig, um die Schritte 716 bis 764 auszuführen. Beim Schritt 716 sichert der Prozess das Originalsystem und die Anwendungskontexte. Beim Schritt 724 wählt der Prozess den Eingabetyp (Handschrift oder Geste) aus, welcher die größere Wichtung während des Verarbeitens, welches in 5 gezeigt wird, empfangen hat. Beim Schritt 728 wählt der Prozess die Interaktionsschicht aus (Transparenzschicht oder Anwendungsschicht), welche die größere Wichtung während der Verarbeitung, welche in 6 gezeigt wird, empfangen hat. Der Prozess bestimmt, ob der Eingabetyp der "Gesten-" Eingabetyp ist (Entscheidung 732). Wenn der Eingabetyp der "Gesten-" Eingabetyp ist, dann verzweigt sich die Entscheidung 732 zu dem 'Ja-' Zweig, woraufhin beim Schritt 736 der Prozess die Eingaben als Gesten verwendet, um die Interaktionsschicht auszuwählen (entweder die Transparenz- oder die Anwendungsschicht). Ist andererseits der Eingabetyp keine "Geste" (sondern anstelle dessen "Handschrift"), dann verzweigt sich die Entscheidung 732 zu dem 'Nein-' Zweig, woraufhin beim Schritt 740 der Prozess die Eingaben als Handschrift für die gewählte Interaktionsschicht (entweder die Transparenz- oder Anwendungsschicht) verwendet.
-
Beim Schritt 744 prüft der Prozess die Eingaben im Hintergrund, ohne die Ergebnisse der Eingaben, welche auf dem Bildschirm zu sehen sind. Der Prozess bestimmt, basierend auf dem Kontext, ob Eingaben für ein Auswählen der Interaktionsschicht (Entscheidung 748) logisch sind. Wenn die Eingaben für die ausgewählte Interaktionsschicht basierend auf dem Kontext logisch sind, dann verzweigt sich die Entscheidung 748 zu dem 'Ja-' Zweig. Wenn die Eingaben für die ausgewählte Interaktionsschicht andererseits basierend auf dem Kontext nicht logisch sind, dann verzweigt sich die Entscheidung 748 zu dem 'Nein-' Zweig. Beim Schritt 752 löscht der Prozess die Testeingaben von dem Hintergrund. Beim Schritt 756 ändert der Prozess den Eingabetyp und/oder die Interaktionsschicht wie benötigt und testet erneut die Eingaben in dem Hintergrund durch Rückkopplung zu dem Schritt 744. Beim Schritt 760 verwendet der Prozess die getesteten Eingaben für den Vordergrund (Transparenz- oder Anwendungsschicht). Dann kehrt das Verarbeiten zu der Aufrufroutine zurück (siehe 4) bei 764.
-
Zur Entscheidung 712 zurückkehrend, wenn eine Benutzerreaktion verfügbar ist, verzweigt sich die Entscheidung 712 zu dem 'Ja-' Zweig, um die Schritte 768 bis 799 durchzuführen. Beim Schritt 768 verwendet der Prozess das Originalsystem und Anwendungskontexte für das Gerät. Der Prozess bestimmt, ob eine Benutzerreaktion in einem Unterlassen und Widerrufen der Änderungen, welche für das Gerät getätigt wurden, besteht (Entscheidung 772). Zum Beispiel könnte das Gerät konfiguriert sein, so dass, falls der Benutzer das Gerät während des vorbestimmten Zeitintervalls herumdreht, die Reaktion als ein Unterlassen und Widerrufen der Änderungen gedeutet wird. Wenn die Benutzerreaktion war, die Änderungen, welche für das Gerät getätigt wurden, zu unterlassen und zu widerrufen, dann verzweigt sich die Entscheidung 772 zu dem 'Ja-' Zweig und die Verarbeitung endet bei 776.
-
Wenn die Benutzerreaktion andererseits kein Unterlassen und Widerrufen der Änderungen, welche für das Gerät getätigt wurden, ist, dann verzweigt sich die Entscheidung 772 zu dem 'Nein-' Zweig für ein weiteres Bearbeiten. Der Prozess bestimmt, ob eine Reaktion einen inkorrekten beabsichtigten Eingabetyp anzeigt (Entscheidung 780). Zum Beispiel kann das Gerät konfiguriert sein, so dass ein rauf und runter Schütteln des Gerätes innerhalb eines Zeitintervalls anzeigt, dass der beabsichtigte Eingabetyp inkorrekt ist. Wenn die Reaktion, welche von dem Benutzer empfangen wird, einen inkorrekten beabsichtigten Eingabetyp anzeigt, dann verzweigt sich die Entscheidung 780 zu dem 'Ja-' Zweig, woraufhin beim Schritt 784 der Prozess den anderen Eingabetyp auswählt (der mit der geringeren Wichtung). Wenn andererseits die von dem Benutzer empfangene Reaktion keinen inkorrekten beabsichtigten Eingabetyp anzeigt, dann verzweigt sich die Entscheidung 780 zu dem 'Nein-' Zweig und umgeht den Schritt 784. Der Prozess bestimmt, ob eine Benutzerreaktion anzeigt, dass die identifizierte beabsichtigte Interaktionsschicht inkorrekt ist (Entscheidung 788). Zum Beispiel könnte das Gerät konfiguriert sein, so dass, wenn der Benutzer das Gerät innerhalb eines vorbestimmten Zeitintervalls von Seite zu Seite schüttelt, nachdem der kontextbezogene Test durchgeführt ist, die Benutzerreaktion zeigt, dass die beabsichtigte Interaktionsschicht inkorrekt ist. Wenn die Benutzerreaktion zeigt, dass die identifizierte beabsichtigte Interaktionsschicht inkorrekt ist, dann verzweigt sich die Entscheidung 788 zu dem 'Ja-' Zweig, woraufhin beim Schritt 792 die beabsichtigte Interaktionsschicht mit einer geringeren Wichtung ausgewählt wird (die andere Interaktionsschicht). Wenn andererseits die Benutzerreaktion nicht anzeigt, dass die identifizierte beabsichtigte Interaktionsschicht inkorrekt ist, dann verzweigt sich die Entscheidung 788 zu dem 'Nein-' Zweig unter Umgehung des Schrittes 792. Beim Schritt 796 verwendet der Prozess Benutzereingaben als ausgewählten Eingabetyp für die ausgewählte Interaktionsschicht, wie es durch den Benutzer angezeigt wird. Die Verarbeitung endet danach bei 799.
-
8 ist ein Flussdiagramm, welches Schritte zeigt, welche getätigt werden, um Benutzerreaktionen auf die Touchscreen-Eingaben, welche als ein identifizierter Eingabetyp für die identifizierte Zielschicht verwendet werden, zu handhaben. Beim Schritt 805 präsentiert der Prozess dem Benutzer eine Anzeige, welche die Ergebnisse zeigt, nachdem der identifizierte Eingabetyp (Gesten oder Handschrift) auf die identifizierte Interaktionsschicht (Transparenz- oder Anwendungsschicht) angewandt wird. Der Prozess bestimmt, ob der identifizierte beabsichtigte Eingabetyp und die identifizierte beabsichtigte Interaktionsschicht beide inkorrekt sind (Entscheidung 810). Wenn sowohl der identifizierte beabsichtigte Eingabetyp als auch die identifizierte beabsichtigte Interaktionsschicht inkorrekt sind, dann verzweigt sich die Entscheidung 810 zu dem 'Ja-' Zweig, um die Schritte 815 bis 835 auszuführen.
-
Der Prozess bestimmt, ob der Vorgang zu widerrufen ist oder die Eingaben unter Verwenden eines verschiedenen Eingabetyps und einer verschiedenen Interaktionsschicht erneut zu versuchen ist (Entscheidung 815). Falls der Benutzer wünscht, den Vorgang zu widerrufen, dann verzweigt sich die Entscheidung 815 zu dem 'Ja-' Zweig, woraufhin der Benutzer beim Schritt 820 die Widerrufsreaktion ausführt (z.B. das Gerät umdreht usw.) und 8 verarbeitet danach die Rückrufroutine (siehe 4) bei 825, welche anzeigt, dass der Benutzer den Vorgang zu widerrufen wünscht.
-
Wenn der Benutzer andererseits wünscht, die Eingaben unter Verwenden eines verschiedenen Eingabetyps und einer verschiedenen Interaktionsschicht zu wiederholen, dann verzweigt sich die Entscheidung 815 zu dem 'Nein-' Zweig, woraufhin der Benutzer beim Schritt 830 die Wiederholungsreaktion ausführt (z.B. das Gerät diagonal zu schütteln, um sowohl den Eingabetyp als auch die Interaktionsschicht als inkorrekt anzuzeigen, usw.) und 8 verarbeitet danach eine Rückkehr zu der Aufrufroutine (siehe 4) bei 835 mit der Reaktion, welche anzeigt, dass sowohl der identifizierte beabsichtigte Eingabetyp als auch die identifizierte beabsichtigte Interaktionsschicht unkorrekt waren.
-
Zur Entscheidung 810 zurückkehrend, falls sowohl der identifizierte beabsichtigte Eingabetyp als auch die identifizierte beabsichtigte Interaktionsschicht nicht inkorrekt sind, dann verzweigt sich die Entscheidung 810 zu dem 'Nein-' Zweig, um die Schritte 840 bis 870 auszuführen. Der Benutzer bestimmt, ob der identifizierte beabsichtigte Eingabetyp inkorrekt war (Entscheidung 840). Wenn der identifizierte beabsichtigte Eingabetyp inkorrekt war, dann verzweigt sich die Entscheidung 840 zu dem 'Ja-' Zweig, woraufhin der Benutzer beim Schritt 845 eine Reaktion wie ein rauf/runter Schütteln des Gerätes ausführt, um anzuzeigen, dass der identifizierte beabsichtigte Eingabetyp inkorrekt ist, und das Verarbeiten kehrt bei 850 zu der Aufrufroutine (siehe 4) mit einem Anzeichen, dass der identifizierte beabsichtigte Eingabetyp inkorrekt war, zurück.
-
Wenn andererseits der identifizierte beabsichtigte Eingabetyp korrekt ist, dann verzweigt sich die Entscheidung 840 zu dem 'Nein-' Zweig unter Umgehung des Schrittes 845. Der Benutzer bestimmt, ob die identifizierte beabsichtigte Interaktionsschicht inkorrekt ist (Entscheidung 855). Wenn die identifizierte beabsichtigte Interaktionsschicht inkorrekt ist, dann verzweigt sich die Entscheidung 855 zu dem 'Ja-' Zweig, woraufhin beim Schritt 860 der Benutzer eine Reaktion wie ein Schütteln des Gerätes von Seite zu Seite ausführt, um anzuzeigen, dass die identifizierte Interaktionsschicht inkorrekt ist, und das Verarbeiten kehrt zu der Aufrufroutine (siehe 4) bei 865 mit einer Anzeige, dass die identifizierte beabsichtigte Interaktionsschicht inkorrekt war, zurück.
-
Wenn andererseits die identifizierte beabsichtigte Interaktionsschicht korrekt ist, dann verzweigt sich die Entscheidung 855 zu dem 'Nein-' Zweig unter Umgehung des Schrittes 860 und kehrt zum Verarbeiten zur Aufrufroutine (siehe 4) bei 870 zurück, unter Anzeigen, dass sowohl die Identifizierung des beabsichtigten Eingabetyps als auch die beabsichtigte Interaktionsschicht korrekt sind. Wenn in einer Ausführungsform innerhalb eines vorbestimmten Zeitintervalls (z.B. drei Sekunden usw.) keine Reaktion von dem Benutzer empfangen wird, dann wird angenommen, dass sowohl der identifizierte beabsichtigte Eingabetyp als auch die identifizierte beabsichtigte Interaktionsschicht korrekt sind.
-
Während besondere Ausführungsformen gezeigt und beschrieben wurden, ist für den Fachmann der Technik naheliegend, dass basierend auf den hierin vorhandenen Lehren, Änderungen und Modifikationen ausgeführt werden können, ohne von dieser Offenbarung und ihren breiteren Aspekten abzuweichen. Deshalb umfassen die anhängenden Ansprüche innerhalb ihres Rahmens alle derartigen Änderungen und Modifikationen, soweit sie innerhalb des wahren Geistes und des Schutzrahmens dieser Offenbarung liegen. Weiter ist es verständlich, dass die Erfindung einzig und allein durch die anhängenden Ansprüche definiert wird. Es ist für den Fachmann der Technik verständlich, wenn eine spezifische Anzahl eines eingeführten Anspruchelements beabsichtigt ist, dass eine derartige Absicht ausdrücklich in den Ansprüchen vorgetragen wird und in Abwesenheit einer derartigen Aufzählung keine derartige Begrenzung vorhanden ist. Als nicht-begrenzendes Beispiel, als Hilfe zum Verständnis enthalten die nachfolgenden Ansprüche den Gebrauch der Einleitungsausdrücke "wenigstens ein" und "eines oder mehrere", um Anspruchselemente einzuführen. Der Gebrauch von derartigen Ausdrücken sollte jedoch nicht konstruiert sein, um zu beinhalten, dass die Einführung eines Anspruchselements durch die unbestimmten Artikel "ein" oder "eine" irgendeinen bestimmten Anspruch, welcher ein derartiges einführendes Anspruchselement enthält, gegenüber anderen, welche nur ein derartiges Element enthalten, abzugrenzen, selbst wenn der gleiche Anspruch den einführenden Ausdruck "ein oder mehrere" oder "wenigstens einen" und unbestimmte Artikel wie "ein" oder "eine" einschließt; das Gleiche gilt für den Gebrauch von bestimmten Artikeln in den Ansprüchen.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Nicht-Patentliteratur
-
- IEEE 802.11 Standards [0029]