DE112011105933T5 - Verfahren und Vorrichtungen zum dynamischen Anpassen einer virtuellen Tastatur - Google Patents

Verfahren und Vorrichtungen zum dynamischen Anpassen einer virtuellen Tastatur Download PDF

Info

Publication number
DE112011105933T5
DE112011105933T5 DE112011105933.7T DE112011105933T DE112011105933T5 DE 112011105933 T5 DE112011105933 T5 DE 112011105933T5 DE 112011105933 T DE112011105933 T DE 112011105933T DE 112011105933 T5 DE112011105933 T5 DE 112011105933T5
Authority
DE
Germany
Prior art keywords
virtual keyboard
electronic form
input
text
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112011105933.7T
Other languages
English (en)
Inventor
Aras Bilgen
James Ketrenos
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of DE112011105933T5 publication Critical patent/DE112011105933T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04886Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0485Scrolling or panning

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Input From Keyboards Or The Like (AREA)

Abstract

In einer Beispielausführungsform zeigt eine mobile Computervorrichtung mindestens einen Teil eines elektronischen Formulars an, das Eingabeobjekte zum Akzeptieren von Benutzereingaben umfasst. Ein virtuelles Tastatur-Modul parst das Formular, um Attribute der Eingabeobjekte zu erkennen, und bestimmt automatisch auf Basis der Parsing-Ergebnisse, ob das Formular eine Befehlsschaltfläche oder ein anderes Nicht-Texteingabeobjekt umfasst. In Reaktion auf das Erkennen, dass das Formular ein Nicht-Texteingabeobjekt umfasst, fügt das virtuelle Tastatur-Modul automatisch eine entsprechende Nicht-Textkomponente für virtuelle Tastaturen zur virtuellen Tastatur hinzu, und das virtuelle Tastatur-Modul zeigt die virtuelle Tastatur mit der hinzugefügten Nicht-Textkomponente für virtuelle Tastaturen im Display der mobilen Vorrichtung an. Die hinzugefügte Nicht-Textkomponente für virtuelle Tastaturen kann konfiguriert werden, um einem Benutzer das Aufrufen einer Funktion, die mit dem entsprechenden Nicht-Texteingabeobjekt im Formular verknüpft ist, von der virtuellen Tastatur aus zu ermöglichen. Andere Ausführungsformen werden beschrieben und beansprucht.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Offenbarung betrifft im Allgemeinen Datenverarbeitungssysteme. Genauer gesagt betrifft die vorliegende Offenbarung virtuelle Tastaturen für Datenverarbeitungssysteme, wie z. B. eine tragbare (Handheld) mobile Computervorrichtung.
  • ALLGEMEINER STAND DER TECHNIK
  • Wenn eine Person (der „Benutzer”) mit einer Softwareanwendung auf einem Datenverarbeitungssystem interagiert, kann die Softwareanwendung bewirken, dass das Datenverarbeitungssystem verschiedene Eingabeobjekte zur Erfassung von Informationen vom Benutzer anzeigt. Diese Eingabeobjekte können Textfelder und andere Benutzeroberflächen(UI, User Interface)-Objekte anzeigen. Beispielsweise kann eine E-Mail-Anwendung ein Popup-Fenster darstellen, das den Benutzer zur Eingabe seiner Zugangsdaten auffordert, eine Buchhaltungsanwendung kann eine Benutzeroberfläche zur Erfassung von Betriebsausgaben anzeigen, oder eine Internet-Browser-Anwendung kann eine Webseite für die Registrierung bei einer Website für soziale Interaktion oder ein Fenster zur Teilnahme am Online-Chat anzeigen.
  • Für die Zwecke der vorliegenden Offenbarung beziehen sich die Substantive ”Display” und ”Monitor” auf die Hardwarekomponente, die das Datenverarbeitungssystem für die Darstellung visueller Informationen für den Benutzer verwendet. Das Substantiv „Bildschirm” bezieht sich auf alle Inhalte, die zu einem bestimmten Zeitpunkt auf einem Monitor dargestellt werden. Das Substantiv „Fenster” bezieht sich auf einen Teil des Displays, der von einer Anwendung zur gemeinsamen Darstellung eines Satzes in Beziehung stehender Inhaltselemente verwendet wird. Das Substantiv „Seite” bezieht sich auf einen Satz in Beziehung stehender Inhaltselemente, die gemeinsam in einem Fenster dargestellt werden sollen, obwohl möglicherweise nicht alle Elemente gleichzeitig in das Fenster passen; und möglicherweise ist Scrollen bzw. Blättern, das Verschieben der Ansicht bzw. Vergrößern der Ansicht erforderlich, um einige Teile der Seite in das Fenster zu bringen. Das Substantiv „elektronisches Formular” bezieht sich auf eine Seite, die ein oder mehrere Eingabeobjekte für die Erfassung von Informationen vom Benutzer enthält. Daher kann beispielsweise ein Datenverarbeitungssystem einen Bildschirm darstellen, der mehrere Fenster enthält. Eines dieser Fenster kann eine Webseite einer Web-basierten E-Mail-Anwendung darstellen. Diese Seite kann Eingabeobjekte für die Registrierung bei der E-Mail-Anwendung umfassen. Dementsprechend kann diese Seite als elektronisches Formular bezeichnet werden. Ein Teil des elektronischen Formulars kann im Fenster sichtbar sein. Der Benutzer kann im Fenster nach unten scrollen bzw. blättern, um mehr von dem elektronischen Formular zu sehen.
  • Das Ausfüllen von elektronischen Formularen auf einem Desktop- oder Laptop-Computer mit einem Full-Size-Monitor, einer separaten Full-Size-Tastatur und einer Maus oder einem anderen Zeigegerät kann relativ einfach sein. Der Full-Size-Monitor kann es dem Benutzer ermöglichen, die meisten Textfelder und andere UI-Objekt des elektronischen Formulars anzuzeigen. Die Full-Size-Tastatur kann eine „Tabulator”(„Tab”)-Taste enthalten, die dem Benutzer eine einfache Navigation zwischen nebeneinander liegenden Textfeldern des elektronischen Formulars ermöglicht. Darüber hinaus kann die Maus dem Benutzer eine Interaktion mit bestimmten Eingabeobjekten auf dem elektronischen Formular (z. B. Schaltflächen für Funktionen wie „Bestätigen”, „Speichern” oder „Senden”) ermöglichen, solange das elektronische Formular klein genug bzw. der Monitorbildschirm groß genug ist, um diese Eingabeobjekte gemeinsam mit dem Rest des Formulars anzuzeigen.
  • Jedoch wurden in den letzten Jahren ein paar Datenverarbeitungssysteme entwickelt, um ohne separate Eingabevorrichtungen, wie z. B. Tastatur und Maus, betreibbar zu sein. Beispielsweise kann eine tragbare (Handheld) mobile Computervorrichtung (eine „Handheld-Vorrichtung”) eine Touchscreen-Technologie zur Bereitstellung von sowohl visuellen Ausgaben als auch Benutzereingaben auf dem Bildschirm verwenden. Insbesondere kann die Handheld-Vorrichtung auf ihrem Display eine Zusammenstellung von Schaltflächen bzw. anderen Objekten („virtuelle Tastaturkomponenten”) darstellen, die gemeinsam wie eine Tastatur aussehen. Und wenn der Benutzer die virtuellen Tastaturkomponenten, die wie Tasten aussehen, berührt, kann die Handheld-Vorrichtung so reagieren, als ob der Benutzer entsprechende Tasten auf einer tatsächlichen Tastatur gedrückt hätte. Für die Zwecke der vorliegenden Offenbarung bezieht sich der Begriff „virtuelle Tastatur” auf eine Zusammenstellung auswählbarer virtueller Tastaturkomponenten (z. B. alphanumerische Schaltflächen), die von einem Datenverarbeitungssystem in einem vorbestimmten Teil des Bildschirms angezeigt werden. Dieser Teil des Bildschirms kann als virtuelles Tastaturbild oder -fenster bezeichnet werden. Im Gegensatz dazu bezeichnet der Begriff „konventionelle Tastatur” eine physische Tastatur, die sich vom Display unterscheidet. Gleichermaßen bezieht sich der Begriff „Taste” auf einen Teil einer konventionellen Tastatur, der gedrückt wird, um eine Benutzereingabe zu leisten, wobei sich der Begriff „virtuelle Taste” auf eine auswählbare virtuelle Tastaturkomponente bezieht, die als Teil einer virtuellen Tastatur dargestellt ist. Wie oben angegeben, können virtuelle Tasten auch als Schaltflächen bezeichnet werden.
  • Typischerweise bietet ein Betriebssystem (OS) einer Handheld-Vorrichtung eine standardmäßige virtuelle Tastatur, und Anwendungen, die auf der Vorrichtung ausgeführt werden, können diese standardmäßige virtuelle Tastatur standardmäßig verwenden. Da eine derartige virtuelle Tastatur von mehreren Anwendungen verwendet werden kann, kann sie als virtuelle Allzweck-Tastatur bezeichnet werden. Darüber hinaus können Dritte virtuelle Tastaturen mit anderen Funktionen zur Installation und Verwendung auf Handheld-Vorrichtungen erstellen. Beispielsweise ermöglicht es die virtuelle Tastatur SwypeTM von Swype, Inc., einem Benutzer, eine Reihe von virtuellen Tasten auszuwählen, ohne dass dieser seinen Finger zwischen den Tasten heben muss, und eine Handheld-Vorrichtung kann es ihrem Benutzer ermöglichen, die SwypeTM Tastatur anstatt einer standardmäßigen virtuellen Tastatur zu installieren und verwenden. Da eine derartige virtuelle Tastatur auch von mehreren Anwendungen verwendet werden kann, kann sie auch als virtuelle Allzweck-Tastatur bezeichnet werden. Darüber hinaus hat ein Entwickler einer Softwareanwendung die Möglichkeit, speziell für diese Anwendung eine neue virtuelle Tastatur erstellen. Der Entwickler kann möglicherweise sogar andere virtuelle Tastaturen mit anderen virtuellen Tasten für jeden verschiedenen Bildschirm oder jedes elektronische Formular in dieser Anwendung erstellen. Diese Arten von virtuellen Tastaturen können als anwendungsspezifische virtuelle Tastaturen oder formularspezifische virtuelle Tastaturen bezeichnet werden. Allerdings gibt es viele Gründe dafür, dass Entwickler anwendungsspezifische virtuelle Tastaturen und formularspezifische virtuelle Tastaturen vermeiden; dazu zählen Gründe im Zusammenhang mit der entsprechend anfallenden Zeit und den Kosten für die Erstellung und Verwaltung derartiger virtueller Tastaturen. Folglich verwenden Anwendungen für Handheld-Vorrichtungen typischerweise virtuelle Allzweck-Tastaturen, die vom OS bereitgestellt werden.
  • Virtuelle Tastaturen ermöglichen den Entwicklern von Handheld-Vorrichtungen die Produktion von Vorrichtungen in kleineren Größen und einer geringeren Anzahl mechanischer Teile im Vergleich zu Vorrichtungen mit einem Monitor und einer separaten konventionellen Tastatur. Jedoch kann das Ausfüllen von elektronischen Formularen auf einer Handheld-Vorrichtung mit einer virtuellen Tastatur eine Herausforderung darstellen.
  • Beispielsweise bevorzugen manche Benutzer die Haptik einer physischen Tastatur mit Tasten, die gedrückt werden können. Darüber hinaus kann die Größe des Bildschirms viele Herausforderungen darstellen, da die Handheld-Vorrichtung möglicherweise einen kleinen Bildschirm verwendet, der nur sehr wenig Platz oder Raum für die Anzeige von Informationen für den Benutzer bietet.
  • Wenn beispielsweise ein elektronisches Formular für eine Handheld-Vorrichtung viel Inhalt umfasst, muss der Benutzer aufgrund der geringen Größe des Bildschirms u. U. die Ansicht für einen Teil des elektronischen Formulars vergrößern, um den Text oder andere UI-Objekte in dem Teil groß genug darzustellen, um diese lesen oder verwenden zu können. Allerdings wird durch Vergrößern der Ansicht in der Regel der Anteil des elektronischen Formulars, der auf dem Bildschirm sichtbar ist, reduziert, wobei die Teile des Formulars, die sich außerhalb des Bildschirmrands befinden, nicht mehr angesehen werden können. Darüber hinaus werden diese Herausforderungen noch verschärft, wenn ein großer Teil des Bildschirms durch die virtuelle Tastatur belegt wird. Darüber hinaus bietet die virtuelle Tastatur u. U. keine virtuellen Tasten, die wie die Tabulatortaste einer konventionellen Tastatur zur Unterstützung der Navigation im elektronischen Formular arbeiten.
  • Aus diesem Grund muss der Benutzer u. U. zusätzliche Vorgänge zum Vergrößern der Ansicht sowie Vorgänge zum Verschieben der Ansicht und zum Auswählen vornehmen, um die Eingabeobjekt in diesen Teilen des elektronischen Formulars, die aus dem Bildschirm hinaus vergrößert wurden, anzuzeigen und auszuwählen.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die Funktionen und Vorteile der vorliegenden Erfindung gehen aus den beiliegenden Ansprüchen, der folgenden detaillierten Beschreibung von einer oder mehreren Beispielausführungen sowie den entsprechenden Figuren hervor. Dabei gilt Folgendes:
  • 1 ist ein Blockdiagramm eines Datenverarbeitungssystems mit einem virtuellen Tastaturmodul gemäß mindestens einer Beispielausführung;
  • 2A, 2B und 2C zeigen schematische Diagramme, die verschiedene Ausgabekonfigurationen gemäß mindestens einer Beispielausführung darstellen;
  • 3 zeigt ein Flussdiagramm eines Prozesses zur dynamischen Anpassung einer virtuellen Tastatur gemäß mindestens einer Beispielausführung; und
  • 4A bis 4D zeigen Blockdiagramme, die Komponenten zur Bereitstellung virtueller Tastaturen gemäß verschiedener alternativer Ausführungsformen veranschaulichen.
  • DETAILLIERTE BESCHREIBUNG VON EINER ODER MEHREREN AUSFÜHRUNGSFORMEN
  • Eine virtuelle Allzweck-Tastatur kann standardmäßig grundsätzlich wie eine Standard-QWERTY-Tastatur eingerichtet sein. Darüber hinaus kann der Benutzer durch Anschlagen einer Optionsschaltfläche auf der virtuellen Tastatur die vorhandenen virtuellen Tasten oder Schaltflächen zu einer Änderung veranlassen. Beispielsweise kann der Benutzer durch Anschlagen einer „SYM”-Schaltfläche die virtuelle Tastatur zu einer Änderung veranlassen, um Zahlensymbole und allgemeine Symbole anstatt von alphabetischen Zeichen anzuzeigen. Eine virtuelle Allzweck-Tastatur mit virtuellen Schaltflächen, die sich nicht ändern, sofern keine Änderung durch den Benutzer angefordert wird (z. B. durch Berühren einer „SYM”-Schaltfläche oder einer „Umschalt”-Schaltfläche), kann als statische virtuelle Tastatur bezeichnet werden.
  • Wenn eine Person eine Handheld-Vorrichtung mit einer statischen virtuellen Tastatur für die Interaktion mit einem elektronischen Formular verwendet, muss die Person u. U. viele unterschiedliche Vorgänge ausführen, und zumindest einige der Vorgänge können möglicherweise ziemlich schwierig sein. Um zu beginnen, muss der Benutzer u. U. die Ansicht vergrößern, um die Größe des Textes und anderer UI-Objekte im elektronischen Formular auf eine lesbare Größe zu vergrößern. Der Benutzer muss dann u. U. ein erstes Feld für die Eingabe auswählen (z. B. ein Feld für den Benutzernamen). In Reaktion darauf, dass der Benutzer ein alphanumerisches Eingabefeld auswählt, kann das Betriebssystem automatisch veranlassen, dass eine virtuelle Tastatur in einem vorbestimmten Teil des Bildschirms angezeigt wird (oder „aufklappt”), während zudem ein blinkender Cursor am Anfang des ausgewählten Eingabefelds angezeigt wird. Wenn ein Eingabefeld ausgewählt wurde, kann das Feld als aktiv oder im Fokus befindlich bezeichnet werden. Genauso kann die virtuelle Tastatur, wenn sie angezeigt wird, als aktiv betrachtet werden, und wenn sie nicht angezeigt wird, kann sie als inaktiv betrachtet werden. Wenn die virtuelle Tastatur aktiv ist, kann das Fenster für die virtuelle Tastatur die untere Hälfte des Darstellungsraums bedecken und dadurch den verfügbaren Platz für die Anzeige des elektronischen Formulars deutlich verringern. Folglich wird die virtuelle Tastatur wahrscheinlich Textfelder und andere UI-Objekte im elektronischen Formular (z. B. Befehlsschaltflächen für Funktionen, wie „Bestätigen”, „Speichern” oder „Senden”) verdecken.
  • In jedem Fall kann der Benutzer nach dem Aufklappen der virtuellen Tastatur die virtuelle Tastatur für die Eingabe alphanumerischer Daten für das aktive Eingabefeld verwenden. Nach der Eingabe der gewünschten Daten für das erste Eingabefeld muss der Benutzer u. U. die Ansicht für das elektronische Formular auf dem Bildschirm vergrößern bzw. verschieben, um das nächste Eingabefeld in dem Teil des Bildschirms anzuzeigen, der nicht durch die virtuelle Tastatur belegt ist. Der Benutzer muss dann die Ansicht vergrößern, um den Text im elektronischen Formular groß genug zu machen, damit er leserlich ist, und geprüft werden kann, dass das nächste gewünschte Eingabefeld gefunden wurde. Der Benutzer kann dann das Eingabefeld auswählen und die virtuelle Tastatur zur Eingabe weiterer Daten verwenden. Der Prozess zum Verschieben der Ansicht, Vergrößern der Ansicht, Auswählen und Eingeben kann fortgeführt werden, bis der Benutzer alle für das elektronische Formular erforderlichen Daten eingegeben hat. Der Benutzer kann dann weitere Vorgänge zum Verschieben und Vergrößern der Ansicht ausführen, um ein UI-Objekt für die gewünschte Aktion (z. B. „Bestätigen”, „Speichern” oder „Senden”) zu finden und auszuwählen. Darüber hinaus kann es im Verlauf dieses Prozesses, wenn Eingabeobjekte klein und/oder zu nah beieinander sind, schwierig sein, ein gewünschtes Eingabeobjekt auszuwählen.
  • Gemäß der vorliegenden Offenbarung parst das virtuelle Tastaturmodul in mindestens einer Ausführungsform das jeweils verwendete elektronische Formular und ändert dynamisch eine virtuelle Tastatur basierend auf den ermittelten Attributen des Formulars. Damit stellt das virtuelle Tastatur-Modul eine dynamisch angepasste virtuelle Allzweck-Tastatur zur Verfügung.
  • Wenn das virtuelle Tastatur-Modul beispielsweise feststellt, dass ein elektronisches Formular mehr als ein Eingabeobjekt aufweist, kann das virtuelle Tastatur-Modul automatisch eine oder mehrere Navigationsschaltflächen zur virtuellen Tastatur (z. B. eine Schaltfläche „Nächste” und „Vorherige”) hinzufügen, wobei es diese Navigationsschaltflächen dem Benutzer ermöglichen, den Fokus vom aktuellen Eingabeobjekt auf das nächste Eingabeobjekt oder das vorherige Eingabeobjekt zu setzen.
  • Darüber hinaus kann das virtuelle Tastatur-Modul automatisch Befehlsschaltflächen im Formular erkennen und in Reaktion darauf automatisch entsprechende Befehlsschaltflächen zur virtuellen Tastatur hinzufügen. Wenn das elektronische Formular beispielsweise ein Popup-Fenster für Zugangsdaten mit Textfeldern für eine Benutzerkennung und ein Passwort sowie mit Schaltflächen „Bestätigen” und „Abbrechen” ist, kann das virtuelle Tastatur-Modul automatisch eine Schaltfläche „Bestätigen” zur virtuellen Tastatur hinzufügen. Wenn der Benutzer die Schaltfläche „Bestätigen” in der virtuellen Tastatur anschlägt, kann das virtuelle Tastatur-Modul diese Eingabe in eine Eingabe umwandeln, um anzugeben, dass der Benutzer die Schaltfläche „Bestätigen” im Formular ausgewählt hat, und daraufhin kann die zugrundeliegende Anwendung die Eingabe entsprechend verarbeiten. Darüber hinaus kann das virtuelle Tastatur-Modul automatisch andere Eingabeobjekte im Formular erkennen und in Reaktion darauf automatisch entsprechende virtuelle Tastaturkomponenten zur virtuellen Tastatur hinzufügen. Wenn das elektronische Formular beispielsweise ein Eingabeobjekt für die Auswahl einer Farbe umfasst, kann das virtuelle Tastatur-Modul automatisch eine Farbauswahl zur virtuellen Tastatur hinzufügen, und wenn das elektronische Formular ein Textfeld zum Empfangen von Datumsdaten enthält, kann das virtuelle Tastatur-Modul eine Datumsauswahl zur virtuellen Tastatur hinzufügen.
  • 1 ist ein Blockdiagramm eines Datenverarbeitungssystems 20 mit einem virtuellen Tastaturmodul 60 gemäß einer Beispielausführung. In der veranschaulichten Ausführungsform ist das Datenverarbeitungssystem 20 eine tragbare (Handheld) mobile Computervorrichtung 20 mit mindestens einem Prozessor 30 sowie Datenspeicher 34 und einem Display 40, das auf den Prozessor 30 reagiert. In der dargestellten Ausführungsform ist das virtuelle Tastatur-Modul 60 als Software implementiert, die in einem Datenspeicher 34 gespeichert ist und vom Prozessor 30 ausgeführt wird, um die im Folgenden beschriebene Funktionalität zu bieten. Ein OS 50 und eine oder mehrere Anwendungen 52 sind ebenfalls im Datenspeicher 34 gespeichert, und wenn diese Komponenten auf dem Prozessor 30 ausgeführt werden, können diese das virtuelle Tastatur-Modul 60 aufrufen.
  • In der Ausführungsform von 1 umfasst das virtuelle Tastatur-Modul 60 eine Parsing-Engine 62, eine Layout-Engine 64 und einen Eingabemanager 66. Wie im Folgenden ausführlicher beschrieben, können die Parsing-Engine 62, Layout-Engine 64 und der Eingabemanager 66 zusammenarbeiten, um die dynamische Anpassung der virtuellen Tastatur basierend auf Attributen des elektronischen Formulars, mit dem der Benutzer interagiert, zu gewährleisten. In 1 folgen die Komponenten einer bestimmten Konstruktionsarchitektur. In alternativen Ausführungsformen können andere Architekturen zur Bereitstellung dynamisch angepasster virtueller Allzweck-Tastaturen verwendet werden. Beispielsweise anstatt ein zentrales virtuelles Tastatur-Modul zu verwenden, das die Parsing-Engine, Layout-Engine und den Eingabemanager als Unterkomponenten enthält, kann die Funktionalität mithilfe eines virtuellen Tastatursystems implementiert werden, das ein oder mehrere gleichgestellte Module verwendet, die zusammenarbeiten, um eine dynamisch angepasste virtuelle Allzweck-Tastatur bereitzustellen. Darüber hinaus kann ein Teil der Funktionalität durch andere Module bereitgestellt werden. Beispielsweise können einige oder alle Funktionen des Eingabemanagers als Teil eines Textuntersystems, als Teil des OS oder als Teil eines anderen Moduls implementiert werden. Gleichermaßen können einige oder alle Funktionen der Parsing-Engine und anderer Komponenten als Teil eines anderen Moduls implementiert werden. Viele zusätzliche Variationen können in unterschiedlichen Ausführungsformen verwendet werden, um die im vorliegenden Text beschriebene Funktionalität bereitzustellen.
  • 4A bis 4D zeigen Blockdiagramme, die Komponenten zur Bereitstellung virtueller Tastaturen gemäß verschiedener alternativer Ausführungsformarchitekturen 410425 veranschaulichen. Beispielsweise werden der virtuelle Tastaturmanager, die Parsing-Engine, die Layout-Engine und der Eingabemanager gemäß der Architektur 410 als relativ unabhängige gleichrangige Komponenten auf derselben hierarchischen Ebene wie das OS implementiert. Die Architektur 411 ist ähnlich, jedoch ist die Layout-Engine als Teil des virtuellen Tastatur-Moduls implementiert. Die Architektur 412 ähnelt der Architektur 411, jedoch ist die Parsing-Engine als Teil des Eingabemanagers implementiert. Die Architektur 413 ähnelt der Architektur 411, jedoch ist das virtuelle Tastatur-Modul als Teil der Layout-Engine implementiert. In dieser Hierarchie kann die Layout-Engine auch aus mehreren verschiedenen virtuellen Tastatur-Modulen auswählen. Die Architektur 414 ist wie die Architektur 413, jedoch ist die Parsing-Engine als Teil des Eingabemanagers implementiert. Auch in dieser Hierarchie kann die Layout-Engine aus mehreren verschiedenen virtuellen Tastatur-Modulen auswählen. Die Architektur 415 ist wie die Architektur 411, jedoch ist der Eingabemanager auch als Teil des virtuellen Tastatur-Moduls implementiert. Für die Architekturen 410415 sind die Komponenten nicht direkt Teil des OS.
  • In der Architektur 416 sind die Komponenten als relativ unabhängige gleichrangige Komponenten im OS implementiert. Die Architektur 417 ist wie die Architektur 416, jedoch ist die Layout-Engine als Teil des virtuellen Tastatur-Moduls implementiert. Die Architektur 418 ist wie die Architektur 417, jedoch ist die Parsing-Engine als Teil des Eingabemanagers implementiert. Die Architektur 419 ist wie Architektur 416, jedoch ist das virtuelle Tastatur-Modul als Teil der Layout-Engine implementiert. Die Architektur 420 ist wie die Architektur 419, jedoch ist die Parsing-Engine als Teil des Eingabemanagers implementiert. Für die Architekturen 419 und 420 kann die Layout-Engine aus mehreren virtuellen Tastaturen auswählen.
  • Die Architektur 421 ist wie die 1 dargestellte Architektur, jedoch ist das virtuelle Tastatur-Modul als Teil des OS implementiert. Die Architektur 422 ist wie die Architektur 421, jedoch ist die Parsing-Engine relativ unabhängig vom virtuellen Tastatur-Modul implementiert.
  • In den Architekturen 423425, ist eine oder mehrere Komponenten zur Bereitstellung von virtuellen Tastaturen als Teil einer Anwendung implementiert. Gemäß der Architektur 423 ist beispielsweise die Parsing-Engine als Teil der Anwendung implementiert, wobei die anderen Komponenten gemäß X eingebettet sind, wobei X mit einer beliebigen Architektur aus dem Satz umfassend die Architekturen 410422, wobei die Parsing-Engine aus diesen Architekturen durch die Parsing-Engine in der Anwendung ersetzt wird) übereinstimmt. Gleichermaßen bezeichnet Y für die Architektur 424 eine beliebige Architektur aus dem Satz umfassend die Architekturen 410422, wobei das virtuelle Tastatur-Modul, die Layout-Engine und die Parsing-Engine aus diesen Architekturen durch das virtuelle Tastatur-Modul, die Layout-Engine und die Parsing-Engine aus Architektur 424 ersetzt wird. Gleichermaßen bezeichnet Z für die Architektur 425 eine beliebige Architektur aus dem Satz umfassend die Architekturen 410422, wobei das virtuelle Tastatur-Modul, die Layout-Engine und die Parsing-Engine aus diesen Architekturen durch das virtuelle Tastatur-Modul, die Layout-Engine und die Parsing-Engine aus Architektur 425 ersetzt wird.
  • Mehrere verschiedenen Programmiersprachen oder Kombinationen von Programmiersprachen und dergleichen können für die Implementierung der erforderlichen Komponenten in mehreren verschiedenen Umgebungen verwendet werden. Beispielsweise kann eine Kombination aus C und C++ verwendet werden, sowie spezifische UI-Hooks für die jeweilige UI-Technologie (z. B. JavaScript für Hypertext Markup Language (HTML), Qt Meta Language oder Qt Modeling Language (QML) und C++ für QML usw.). Implementierungsdetails können für Implementierungen, die für verschiedene Plattformen oder Vorrichtungen ausgelegt sind, unterschiedlich sein, wie z. B. Vorrichtungen, die das Android-Betriebssystem verwenden, Vorrichtungen, die das iPhone-Betriebssystem verwenden, Vorrichtungen, die das Windows CE-Betriebssystem verwenden usw. 2A, 2B und 2C zeigen schematische Diagramme, die verschiedene Ausgabekonfigurationen auf dem Display 40 der mobilen Vorrichtung 20 darstellen. Beispielsweise stellt 2A eine Sequenz von grafischen Benutzeroberflächen-Bildschirmen (GUI, Graphical User Interface) dar, die von der Anwendung 52 in Zusammenarbeit mit dem Betriebssystem (OS) 50 und dem virtuellen Tastatur-Modul 60 auf dem Display 40 angezeigt werden. Die Anwendung 52 kann eine Web-Browser-Anwendung oder eine andere Anwendungsart sein, die Benutzereingaben zulässt. Zur Veranschaulichung von einer oder mehreren Funktionen von einer oder mehreren Ausführungsformen der vorliegenden Erfindung zeigen die veranschaulichten Bildschirme verschiedene Optionen und Vorgänge, die dem Benutzer die Anmeldung an einem E-Mail-Account ermöglichen. Natürlich können dieselben Funktionen, ähnliche Funktionen und/oder zugehörige Funktionen von verschiedenen Anwendungsarten für viele andere Zwecke verwendet werden.
  • Der Bildschirm 100 in 2A stellt ein Fenster dar, das für die Anzeige verschiedener Elemente für den Benutzer den gesamten Raum auf dem Display 40 verwendet. Diese Elemente umfassen einige Ausführungen und Anweisungen in Textform, gefolgt von zwei Textfeldern 112 und 114 sowie einer Befehlsschaltfläche 118. Für die Zwecke der vorliegenden Offenbarung bezeichnet der Begriff „Textfeld” ein Eingabefeld, das alphabetische Eingaben, numerische Eingaben oder sowohl alphabetische als auch numerische (alphanumerische) Eingaben akzeptiert. In den 2A bis 2C dient das Textfeld 112 zum Erhalten einer Benutzerkennung vom Benutzer und das Textfeld 114 zum Erhalten eines Passworts vom Benutzer. Die Befehlsschaltfläche 118 dient zum Auslösen einer Registrierungsfunktion oder eines Ereignisses, nachdem der Benutzer eine Benutzerkennung und ein Passwort eingegeben hat. Für die Zwecke der vorliegenden Offenbarung werden Objekte, die eine alphabetische oder numerische Eingabe (z. B. Textfelder 112 und 114) akzeptieren, als Texteingabefelder oder Texteingabeobjekte bezeichnet. Im Gegensatz dazu können Eingabeobjekte, die keine alphabetische oder numerische Eingabe akzeptieren, als Nicht-Texteingabeobjekte bezeichnet werden. Gleichermaßen können virtuelle Tastaturkomponenten, bei denen es sich nicht um Textschaltflächen handelt (wie z. B. alphabetische Schaltflächen und numerische Schaltflächen) als Nicht-Textkomponenten für virtuelle Tastaturen bezeichnet werden.
  • Wie im gestrichelten Kreis 122 im Bildschirm 120 gezeigt, kann der Benutzer zum Eingeben einer Benutzerkennung auf das Textfeld 112 tippen.
  • In Reaktion darauf kann das virtuelle Tastatur-Modul 60 wie in Bildschirm 140 gezeigt ein Tastaturfenster 160 über der unteren Hälfte des Displays 40 öffnen, wobei ein verkürztes elektronisches Formularfenster 150 oben im Display 40 hinterlassen wird. (Im Gegensatz dazu wird das elektronische Formularfenster 150 nicht im Bildschirm 120 angezeigt, da das Formularfenster 150 in diesem Fall flächengleich mit Display 40 ist (d. h. die gesamte Fläche davon einnimmt)). Für die Zwecke der vorliegenden Offenbarung kann das Tastaturfenster 160 auch als virtuelle Tastatur 160 bezeichnet werden. Wie in Bildschirm 140 dargestellt, wenn die virtuelle Tastatur 160 offen oder aktiv ist, sind einige wichtige Teile des elektronischen Formulars, die von der Anwendung 52 für die Benutzereingabe verwendet werden, im elektronischen Formularfenster 150 nicht sichtbar.
  • Allerdings führt das virtuelle Tastatur-Modul 60, bevor das virtuelle Tastatur-Modul 60 die virtuelle Tastatur 160 anzeigt, eine Vielzahl an Vorgängen aus, um die virtuelle Tastatur 160 basierend auf den Attributen des verwendeten elektronischen Formular dynamisch anzupassen.
  • 3 zeigt ein Flussdiagramm eines Prozesses zur dynamischen Anpassung einer virtuellen Tastatur gemäß mindestens einer Beispielausführung. Der veranschaulichte Prozess kann beginnen, wenn der Benutzer auf ein Textfeld eines elektronischen Formulars tippt, wie z. B. Textfeld 112. Wie in Block 300 dargestellt, übergibt die mobile Vorrichtung 20 in Reaktion auf das Erkennen eines Tippens auf ein Textfeld die Steuerung an das virtuelle Tastatur-Modul 60. Wie in Block 310 dargestellt, kann das virtuelle Tastatur-Modul 60 dann bestimmen, ob sich der Inhalt des elektronischen Formulars geändert hat. Wenn das virtuelle Tastatur-Modul 60 beispielsweise zum ersten Mal für das aktuelle elektronische Formular aufgerufen wird, kommt das virtuelle Tastatur-Modul 60 zu dem Schluss, dass der Inhalt geändert wurde. Darüber hinaus kann das virtuelle Tastatur-Modul 160 zu dem Schluss kommen, dass der Inhalt geändert wurde, wenn (a) eine Komponente zur Bereitstellung von Informationen für das Formular aktualisierte Daten bereitstellt; (b) der Verlust der Netzwerkkonnektivität für ein Formular erkannt wird, das von einer oder mehreren Online-Quellen bezogen wird, oder für ein Formular, das eine Verbindung zum Akzeptieren von Benutzereingaben oder zum Fortfahren mit Benutzereingaben benötigt; oder (c) andere Änderungen erkannt werden.
  • Wenn der Inhalt geändert wurde, kann die Parsing-Engine 62 das elektronische Formular – wie in Block 312 dargestellt – parsen. Im Besonderen identifiziert oder erkennt die Parsing-Engine 62 verschiedene Eingabeobjekte oder Widgets im Formular und erfasst verschiedene zu diesen Objekten zugehörige Attribute. Beispielsweise kann die Parsing-Engine 62 für das in Bildschirm 100 in 2A dargestellte elektronische Formular erfassen, dass das Formular das Textfeld 112 enthält, dass das Textfeld 112 mit „Benutzerkennung” beschriftet ist und dass das Textfeld 112 alphanumerische Daten bis zu einer bestimmten Länge akzeptiert. Die Parsing-Engine 62 kann ähnliche Informationen für das Textfeld 114 erfassen. Die Parsing-Engine 62 kann darüber hinaus erfassen, dass das elektronische Formular die Befehlsschaltfläche 118 umfasst, und dass die Befehlsschaltfläche 118 mit „Registrieren!” beschriftet ist, und dass die Befehlsschaltfläche 118 so konfiguriert ist, dass sie, wenn sie ausgewählt wird, ein bestimmtes Ereignis oder eine Funktion auslöst. Bei anderen Fällen können elektronische Formulare viele andere Arten von Eingabeobjekten enthalten, und die Parsing-Engine 62 kann das relevante Attribut für diese Objekte erfassen. Die Eingabeobjekte, für die die Parsing-Engine 62 Attribute extrahiert, umfassen ohne Einschränkung folgende Objekttypen: Dropdown-Listen, Kombinationsfelder, Datumsfelder, Uhrzeitfelder, numerische Felder, Adressen, Farben, Karten, Kontakte, Uniform Resource Locators (URLs) oder andere Dateipfade, Audio-/Videoobjekte, Unterschriften oder handschriftliche Eingaben (z. B. Eingabe von Kanji-Schriftzeichen).
  • Die Parsing-Engine 62 kann Attribute für Eingabeobjekte auch basierend auf Tags erfassen, die mit diesen Objekten verknüpft sind. Beispielsweise kann ein elektronisches Formular Klassen-Tags für die Identifikation von Eingabeobjekten umfassen, die für die Eingabe von einer bestimmten Datenart vorgesehen sind. Diese Klassen-Tags entsprechen den Konventionen wie z. B. eines bestimmten Mikroformats. Beispielsweise können geographische Koordinaten durch folgenden Tag-Satz und Klassen in einem HTML-Dokument dargestellt werden:
    Figure DE112011105933T5_0002
  • Ein in HTML geschriebenes elektronisches Formular kann dieselben Klassen für das Codieren eines Satzes von Feldern verwenden, die den Benutzer zur Eingabe eines genauen Standorts auffordern:
    Figure DE112011105933T5_0003
  • Wenn das Formular geparst wird, kann die Parsing-Engine 62 erfassen, dass das Eingabefeld „lat” für eine Breitengradkoordinate und das Eingabefeld „long” für eine Längengradkoordinate dient. Vergleichbare Techniken können zum Parsen elektronischer Formulare mit Eingabefeldern für die Angabe eines Standorts als Adresse und das Parsen von Formularen mit anderen Arten von Eingabefeldern verwendet werden.
  • Während oder nach dem Parsen des elektronischen Formulars, kann die Parsing-Engine 62 einige oder alle der extrahierten Informationsbestandteile in einer oder mehreren Listen anordnen, die für die Erzeugung dynamischer Schaltflächen für die virtuelle Tastatur verwendet werden sollen. Beispielsweise kann die Parsing-Engine 62 beim Parsen des elektronischen Formulars aus dem Bildschirm 120 folgende strukturierte Liste von UI-Elementbeschreibungen erzeugen:
    Figure DE112011105933T5_0004
  • Die Parsing-Engine 62 kann auch die strukturierte Liste von UI-Elementbeschreibungen mit Zustandsinformationen befüllen, wie z. B. ob ein Kontrollkästchen gefüllt wurde, welches Element in einer Dropdown-Liste ausgewählt wurde usw. Darüber hinaus kann die Parsing-Engine die Liste mit kontextbezogenen Information basierend auf der vorherigen Verwendung befüllen. Beispielsweise kann die Parsing-Engine 62 eine Liste oder einen Baum mit Zustandsdaten erstellen, die Information zu vorherigen Einträgen umfassen, die in ein Textfeld eingegeben wurden.
  • Wenn das elektronische Formular eine strukturierte UI ist, kann die Parsing-Engine 62 den Objektspeicher des UI-Frameworks, das das endgültige Layout auf dem Bildschirm beschreibt, untersuchen, um die relevanten Eingabeobjekte und Attribute aus dem Formular zu extrahieren. Strukturierte UIs umfassen ohne Einschränkung Schnittstellen, die auf HTML basieren, Schnittstellen, die auf QML basieren, Schnittstellen, die auf dem GNU Image Manipulation Program(GIMP)-Toolkit (GTK) basieren, Schnittstellen, die auf den Enlightenment Foundation Libraries (EFL) basieren, Schnittstellen, die auf der Software-Bibliothek Clutter basieren, und Schnittstellen, die auf der Extensible Application Markup Language (XAML) basieren. Wenn das elektronische Formular keine strukturierte UI ist, kann die Parsing-Engine 62 andere Aspekte des Formulars untersuchen, um die relevanten Eingabeobjekte und Attribute zu extrahieren.
  • Nach dem Parsen des elektronischen Formulars, oder nach der Entscheidung, dass der Inhalt nicht geändert wurde, übergibt der Prozess an Block 316, wobei das virtuelle Tastatur-Modul 60 den mit dem Formular verknüpften aktuellen Anwendungskontext und Systemkontext bewertet. Beispielsweise kann das virtuelle Tastatur-Modul 60 für Anwendungskontext bewerten, welches Eingabeobjekt im Fokus ist. Für Systemkontext kann das virtuelle Tastatur-Modul 60 bestimmen, welche Anwendungsart das elektronische Formular verwendet, oder was die allgemeine Absicht der Person ist, die diese Anwendung verwendet. Beispielsweise kann das virtuelle Tastatur-Modul 60 entscheiden, dass der Benutzer beabsichtigt, ein Foto zu machen, einen Kontakteintrag zu erstellen oder ein anderes Endergebnis zu erzielen.
  • Daher erkennt das virtuelle Tastatur-Modul zumindest in einer Ausführung automatisch die Steuerungssemantik oder Bedeutungen der Eingabeobjekte eines elektronischen Formulars und passt das Eingabelayout für eine virtuelle Tastatur basierend auf der erkannten Steuerungssemantik dynamisch an. Eine Steuerung hat eine bestimmte Bedeutung, wenn sie in einem bestimmten Kontext verwendet wird. Das virtuelle Tastatur-Modul kann diese Bedeutung erkennen und in weitere Funktionen innerhalb der virtuellen Tastatur umwandeln. Beispielsweise kann ein E-Mail-Client ein Nur-Text-Feld verwenden, um eine „An:”-Adresse vom Benutzer zu erhalten. Der Entwickler kann über diese grundlegende Funktionalität hinausgehen und das Textfeld als ein „E-Mail-Eingabe”-Feld deklarieren. Die hinzugefügte Deklaration stellt weitere Semantik oder Bedeutung bereit, die es daraufhin dem Textfeld ermöglicht, beispielsweise eine Eingabevalidierung durchzuführen, um sicherzustellen, dass der Benutzer eine korrekte E-Mail-Adresse eingibt. Ein virtuelles Tastatur-Modul gemäß der vorliegenden Offenbarung kann diese und andere Arten von Steuerungssemantik für die Bereitstellung besserer virtueller Tastaturen verwenden. Darüber hinaus kann das virtuelle Tastatur-Modul basierend auf dem Layout für das elektronische Formular neue Steuerungssemantik oder Bedeutungen ableiten. Beispielsweise kann ein E-Mail-Client ein Formular mit Feldern für „An:”, „Betreff” und „Text” sowie einer Schaltfläche „Senden” darstellen. Die Kopie der Schaltfläche „Senden” in der Tastatur kann sich, während diese als eine Standardaktion für das Formular gestaltet ist, selbst deaktivieren, wenn das Feld „An:” keine gültige E-Mail-Adresse enthält.
  • Darüber hinaus können alle Interaktionen durch den Benutzer mit dem System oder mit der virtuellen Tastatur sowie allgemeine Kontextänderungen im System dazu führen, dass das virtuelle Tastatur-Modul 60 das elektronische Formular erneut scannt und parst und die virtuelle Tastatur dynamisch ändert. Als ein Beispiel für eine Systemkontextänderung, wenn eine Hintergrundinstallation fertiggestellt wird, die einen neuen Eingabemodus (z. B. eine Standortauswahl für Karten) bereitstellt, und wenn der Benutzer mit einem elektronischen Formular interagiert, das ein Eingabeobjekt aufweist, das einem Adresseintrag entspricht, kann das virtuelle Tastatur-Modul 60 die Standortauswahl für Karten dynamisch zur virtuellen Tastatur hinzufügen.
  • Wie in Block 318 dargestellt, verwendet die Layout-Engine 64, nachdem das virtuelle Tastatur-Modul 60 das elektronische Formular parst und den Kontext auswertet, die Parsing-Ergebnisse und die extrahierten Kontextdaten, um herauszufinden, welche dynamischen virtuellen Tastaturkomponenten in der virtuellen Tastatur berücksichtigt werden sollen. Mit anderen Worten bestimmt die Layout-Engine 64 das Layout und die Darstellung der virtuellen Tastatur basierend auf der strukturierten Liste von UI-Elementen und den extrahierten Kontextdaten.
  • Wenn der Benutzer beispielsweise – unter erneuter Bezugnahme auf Bildschirm 120 in 2A – auf das Textfeld 112 tippt, kann das virtuelle Tastatur-Modul 60 unter Verwendung der Parsing-Engine 62 reagieren, um wie oben beschrieben das elektronische Formular zu parsen und den Kontext zu analysieren, um dann unter Verwendung der Layout-Engine 64 basierend auf den Parsing- und Analyseergebnissen dynamisch zu bestimmen, welche virtuelle Tastaturkomponenten in der virtuellen Tastatur berücksichtigt werden sollen. Beispielsweise kann die Layout-Engine 64 mit Bezug auf Bildschirm 120 bestimmen, dass die virtuelle Tastatur folgende virtuelle Tastaturkomponenten aufweisen soll:
    • a) Navigationsschaltflächen (z. B. „Nächste” und „Vorherige”) zum Verschieben des Fokus vom aktuellen Eingabeobjekt auf das vorherige oder nächste Eingabeobjekt;
    • b) die Beschriftung für das nächste Eingabeobjekt, die in der Navigationsschaltfläche „Nächste” (entweder mit oder ohne sonstigen Text, wie z. B. „Nächste:”) angezeigt wird;
    • c) mehr oder weniger konventionelle alphanumerische virtuelle Tasten;
    • d) eine Befehlsschaltfläche zum Auslösen des Ereignisses oder der Aktion, die mit der Befehlsschaltfläche „Registrieren!” auf dem elektronischen Formular verknüpft ist; und
    • e) die Beschriftung für die Schaltfläche „Registrieren!”, die in der entsprechenden Befehlsschaltfläche in der virtuellen Tastatur angezeigt wird.
  • Die Layout-Engine 64 kann entscheiden, dass die Navigationsschaltflächen in Reaktion darauf berücksichtigt werden sollen, dass bestimmt wurde, dass das elektronische Formular im Allgemeinen mehr als ein Eingabeobjekt und im Speziellen mehr als ein Textfeld umfasst.
  • Wie in Block 320 dargestellt, kann der Eingabemanager 66 daraufhin eine dynamisch angepasste virtuelle Tastatur zur Folge haben, die diese Funktionen umfasst, um auf dem Display 40 angezeigt zu werden. Beispielsweise kann der Eingabemanager 66 – wie in Bildschirm 140 der 2A gezeigt – eine virtuelle Tastatur 160 darstellen, die eine Navigationsschaltfläche 162 für „Vorh.” oder „Vorherige”, eine Navigationsschaltfläche 164 für „Nächste” und verschiedene mehr oder weniger konventionelle alphanumerische Schaltflächen 166 umfasst. Wie dargestellt, kann der Eingabemanager 66 auch eine Befehlsschaltfläche 168 für „Registrieren!” in der virtuellen Tastatur 160 berücksichtigen. Darüber hinaus kann der Eingabemanager 66 die Befehlsschaltfläche 168 derart konfigurieren, dass sie die Funktion oder das Ereignis, die bzw. das mit der Befehlsschaltfläche 118 verknüpft ist, dazu veranlasst, dass sie bzw. es in Reaktion auf die Benutzerauswahl der Befehlsschaltfläche 168 aufgerufen wird.
  • In anderen Ausführungsformen oder beim Einsatz mit anderen elektronischen Formularen kann der Eingabemanager andere Arten von dynamischen virtuellen Tastaturkomponenten zur virtuellen Tastatur hinzufügen. Derartige virtuelle Tastaturkomponenten können ohne Einschränkung folgende Objekttypen umfassen: Dropdown-Listen, Kombinationsfelder, Datumsfelder, Uhrzeitfelder, Drehfelder (numerische Felder, die mit Pfeil nach oben und Pfeil nach unten verknüpft sind), Adressauswahl, Farbauswahl, Adressauswahl für Karten, Kontaktauswahl, Datei-Browser, Audio-/Videoauswahl mit Vorschau, Unterschriftenpads und handschriftliche Eingaben (z. B. zur Eingabe von Kanji-Schriftzeichen).
  • Unter erneuter Bezugnahme auf Bildschirm 140 kann der Eingabemanager 66 auch den Fokus auf das Textfeld 112 setzen. Für die Zwecke der vorliegenden Offenbarung beinhaltet die Navigationssteuerung das Steuern, welches Eingabeobjekt im Fokus ist. Im Gegensatz dazu beinhaltet die Cursor-Steuerung das Steuern der Position des Cursors oder Carets in einem Eingabefeld.
  • Unter erneuter Bezugnahme auf 3 kann der Eingabemanager 66 dann eine Benutzereingabe erhalten und diese Benutzereingabe wie bei den Blöcken 322 und 324 angegeben verarbeiten. Der Prozess kehrt dann zu Block 310 zurück, wobei das virtuelle Tastatur-Modul 60 bestimmt, ob der Inhalt des elektronischen Formular geändert wurde, und weitere Vorgänge wie oben beschrieben ausführt. Wie bei den Blöcken 318 und 320 dargestellt, kann das virtuelle Tastatur-Modul 60 daraufhin mit dem dynamischen Anpassen oder Ändern der virtuellen Tastatur 160 fortfahren.
  • Beispielsweise kann der Eingabemanager 66 beim Verarbeiten der Benutzereingabe das Textfeld 112 mit einer Eingabe (z. B. „JSmith”) basierend auf den vom Benutzer angetippten alphanumerischen Schaltflächen auffüllen. Wenn der Benutzer dann auf die Schaltfläche „Nächste” tippt (wie in Bildschirm 170 der 2B mit dem gestrichelten Kreis 172 dargestellt), kann der Eingabemanager 66 das elektronische Formular automatisch nach oben scrollen oder blättern, bis das Textfeld 114 oberhalb der virtuellen Tastatur 160 sichtbar wird, und den Fokus in das Textfeld positionieren. Darüber hinaus kann die Layout-Engine 64 die Schaltflächen „Nächste” und „Vorherige” entsprechend anpassen. Beispielsweise kann die Layout-Engine 64 den Text in der Navigationsschaltfläche 164 „Registrieren!” aktualisieren, um anzugeben, dass der Benutzer durch Antippen der Navigationsschaltfläche 164 den Fokus auf die Befehlsschaltfläche 118 wechseln kann. In einer anderen Ausführungsform umfasst die Layout-Engine 64 Beschriftungen von entsprechenden Eingabeobjekten in den Schaltflächen „Vorherige” und „Nächste”.
  • Wie in Bildschirm 180 dargestellt kann der Eingabemanager 66, während der Fokus auf das Textfeld 114 gesetzt ist, das Textfeld 114 basierend auf den vom Benutzer angetippten alphanumerischen Schaltflächen mit Eingaben auffüllen.
  • Darüber hinaus kann der Benutzer – wie im gestrichelten Kreis 192 in Bildschirm 190 der 2C dargestellt – die dynamisch erzeugte Befehlsschaltfläche 168 „Registrieren!” innerhalb der virtuellen Tastatur 160 antippen, um die Registrierungsfunktion auszulösen, obwohl die ursprüngliche Befehlsschaltfläche 118 „Registrieren!” des elektronischen Formulars nicht auf dem Bildschirm 40 angezeigt werden kann. In Reaktion auf das Erkennen, dass der Benutzer die Befehlsschaltfläche 168 angetippt hat, kann der Eingabemanager 66 automatisch die Funktion oder das Ereignis aufrufen, die bzw. das ursprünglich mit der Befehlsschaltfläche 118 verknüpft ist.
  • Darüber hinaus kann das virtuelle Tastatur-Modul 60 weitere Funktionen zur Verbesserung der Benutzererfahrung bei der Interaktion mit elektronischen Formularen auf der mobilen Vorrichtung 20 bereitstellen. Beispielsweise kann das virtuelle Tastatur-Modul 60 eine oder mehrere virtuelle Tastaturkomponenten mit der Fähigkeit zum Erkennen von zwei oder mehreren Eingabemodusarten (z. B. kurzes Antippen und Drücken und Halten, oder kurzes Antippen und langes Antippen) konfigurieren, und das virtuelle Tastatur-Modul 60 kann, je nachdem welcher Eingabemodus verwendet wurde, zwei oder mehrere Funktionen bereitstellen. Beispielsweise kann das virtuelle Tastatur-Modul 60 die Navigationsschaltflächen in der virtuelle Tastatur 160 mit zusätzlicher Funktionalität ausrüsten, die aufgerufen werden kann, wenn der Benutzer eine Navigationsschaltfläche drückt und gedrückt hält, anstatt sie nur anzutippen. Der gestrichelte Kreis 202 in Bildschirm 200 stellt den Benutzer dar, wie der die Navigationsschaltfläche 162 drückt und gedrückt hält. Wie in Bildschirm 200 dargestellt, umfasst diese zusätzlich oder sekundäre Funktionalität in einer Ausführungsform das Bereitstellen eines Popup-Menüs 210, das alle Eingabeobjekte im Formular auflistet, sodass der Benutzer ganz einfach den Fokus direkt auf ein gewünschtes Objekt verschieben kann, indem er lediglich die Beschriftung für das Feld im Popup-Menü antippt. In anderen Ausführungsformen kann das virtuelle Tastatur-Modul andere sekundäre Funktionen vorsehen.
  • Wie bereits beschrieben, kann eine Parsing-Methode ein elektronisches Formular parsen, um das Vorhandensein von Steuerungssemantik zu bestimmen, die mit den Eingabeobjekten im Formular verknüpft ist. Die Methode kann auch das dynamische Anpassen einer virtuellen Tastatur in Reaktion auf die Typen und Attribute dieser Eingabeobjekte beinhalten.
  • Gemäß einer Beispielausführung parst ein virtuelles Tastatur-Modul ein elektronisches Formular, das von einer Software-Anwendung erzeugt und dargestellt wird. Die Software-Anwendung kann ein Web-Browser, eine E-Mail-Anwendung, ein Textverarbeitungsprogramm oder nahezu jede Art von Anwendung sein.
  • Nach dem Parsen des elektronischen Formulars und Analysieren des Kontexts, stellt das virtuelle Tastatur-Modul eine virtuelle Tastatur dar, die dynamisch an das Formular angepasst wurde. Beispielsweise kann das virtuelle Tastatur-Modul eine spezialisierte virtuelle Tastaturkomponente zur virtuellen Tastatur hinzufügen, die gemeinsam mit mehr oder weniger konventionellen alphanumerischen Schaltflächen dargestellt wird. Alternativ dazu kann das virtuelle Tastatur-Modul eine virtuelle Tastatur anzeigen, die die spezialisierten virtuellen Tastaturkomponenten ohne alphanumerische Schaltflächen enthält. Wenn beispielsweise der Fokus auf ein Eingabeobjekt auf dem elektronischen Formular verschoben wird, das mit der Farbauswahl verknüpft ist, kann das virtuelle Tastatur-Modul die virtuelle Tastatur mit einer Farbauswahl befüllen. Alternativ dazu kann das virtuelle Tastatur-Modul auch einige andere virtuelle Tastaturkomponenten (z. B. Navigationsschaltflächen und Befehlsschaltflächen) in der virtuellen Tastatur mit der Farbauswahl berücksichtigen.
  • Die dynamische Integration der virtuellen Tastaturkomponenten kann einem Benutzer eine effizientere Navigation zwischen Textfeldern ermöglichen, da der Benutzer die Ansicht nicht verschieben muss, um ein anderes Textfeld zu aktivieren. Die dynamische virtuelle Tastatur kann dem Benutzer auch einfachere Mechanismen für die Dateneingabe bieten. Darüber hinaus kann die dynamische Berücksichtigung von Befehlsschaltflächen wie „Bestätigen” oder „Speichern” (oder anderer virtuelle Tastaturkomponenten) einem Benutzer die Durchführung von Aktionen ermöglichen, die andernfalls das Verschieben des elektronischen Formulars erfordert hätten.
  • In der obigen Beschreibung wurden einige Funktionen als Eingabeobjekte bezeichnet. Es sollte jedoch klar sein, dass der Begriff „Eingabeobjekt” nicht auf Funktionen beschränkt ist, die durch objektorientierte Programmierung implementiert werden, sondern auch Funktionen zum Empfangen von Benutzereingaben abdeckt, die mithilfe von anderen Arten von Programmiermethoden implementiert werden, einschließlich prozedurale Programmiermethoden, strukturelle Auszeichnungssprachen bzw. Structural Markup Languages (z. B. HTML, XAML usw.) und andere Methoden.
  • Im Hinblick auf die im vorliegenden Text beschriebenen und veranschaulichten Prinzipien und Beispielausführungen ist ersichtlich, dass die veranschaulichten Ausführungsformen hinsichtlich ihrer Anordnung und ihren Einzelheiten geändert werden können, ohne von derartigen Prinzipien abzuweichen. Darüber hinaus lag der Fokus in der vorhergehenden Diskussion zwar auf bestimmten Ausführungsformen, jedoch kommen auch andere Konfigurationen in Betracht. Daher beziehen sich auch Satzteile, wie z. B. „in einer Ausführungsform”, „in einer anderen Ausführungsform” oder Ähnliches, die in diesem Text enthalten sind, im Allgemeinen auf mögliche Ausführungsformen und sollen die Erfindung nicht auf bestimmte Konfigurationen von Ausführungsformen beschränken. Wie hier verwendet, können sich die Begriffe auf dieselbe oder verschiedene Ausführungsformen beziehen, die in andere Ausführungsformen kombiniert werden können.
  • Darüber hinaus müssen Komponenten, die als miteinander in Kommunikation befindlich oder als aufeinander reagierend beschrieben werden, sich nicht kontinuierlich miteinander in Kommunikation befinden, sofern nicht ausdrücklich anders angegeben. Es sollte zudem klar sein, dass die hier beschriebenen Hardware- und Softwarekomponenten Funktionselemente repräsentieren, die angemessen in sich geschlossen sind, sodass jedes Element unabhängig von den anderen entworfen, konstruiert oder aktualisiert werden kann. In alternativen Ausführungsformen können viele der Komponenten als Hardware, Software oder Kombinationen aus Hardware und Software zur Bereitstellung der hier beschriebenen und veranschaulichten Funktionalität implementiert werden. Beispielsweise umfassen alternative Ausführungsformen durch Maschinen abrufbare Mediencodierungsanweisungen oder Steuerlogik für die Ausführung der Vorgänge der Erfindung. Solche Ausführungsformen können auch als Programmprodukte bezeichnet werden. Derartige durch Maschinen abrufbare Medien können ohne Einschränkung greifbare Speichermedien umfassen, wie z. B. Magnetplattenspeicher, optische Platten, RAM, Nur-Lese-Speicher (Read only memory, ROM), Flash-Speicher usw. In mindestens einer Ausführungsform können die Anweisungen für alle Komponenten in einem nicht flüchtigen durch Maschinen abrufbaren Medium gespeichert werden. In mindestens einer anderen Ausführungsform können zwei oder mehrere nicht flüchtige durch Maschinen abrufbare Medien zum Speichern der Anweisungen für die Komponenten verwendet werden. Beispielsweise können Anweisungen für eine Komponente in einem Medium und Anweisungen für eine andere Komponente in einem anderen Medium gespeichert werden.
  • Alternativ dazu kann ein Teil der Anweisungen für eine Komponente in einem Medium und der Rest der Anweisungen für diese Komponente (sowie Anweisungen für andere Komponenten) in einem oder mehreren anderen Medien gespeichert werden. Anweisungen können auch in einer verteilten Umgebung verwendet werden und für den Zugriff durch eine Einzel- oder Mehrfachprozessormaschine lokal und/oder extern gespeichert werden. In einigen Ausführungsformen können Teile oder die gesamte Steuerungslogik für die Implementierung der beschriebenen Vorgänge in Hardware-Logik implementiert werden (z. B. als Teil eines integrierten Schaltkreis(IC)-Chips, eines programmierbaren Gate-Array (PGA), eines anwendungsspezifischen integrierten Schaltkreises (ASIC) usw.).
  • Gleichermaßen können, auch wenn einer oder mehrere Beispielprozesse in Hinblick auf bestimmte Vorgänge beschrieben wurden, die in einer bestimmten Reihenfolge ausgeführt werden, zahlreiche Änderungen auf diese Prozesse angewendet werden, um zahlreiche alternative Ausführungsformen der vorliegenden Erfindung abzuleiten. Beispielsweise können alternative Ausführungsformen Prozesse umfassen, die weniger als alle der hier offenbarten Vorgänge verwenden, Prozesse, die zusätzliche Vorgänge verwenden und Prozesse, in denen die einzelnen hier offenbarten Vorgänge kombiniert, aufgeteilt, neu angeordnet oder anderweitig verändert wurden.
  • Angesichts der umfassenden Vielfalt an nützlichen Umsetzungen, die von den hier beschriebenen Beispielausführungen leicht abgeleitet werden können, ist diese detaillierte Beschreibung lediglich als veranschaulichend anzusehen und soll nicht als den Umfang der Erfindung einschränkend verstanden werden. Durch die Erfindung werden daher alle Implementierungen beansprucht, die im Schutzumfang der folgenden Ansprüche liegen und alle Äquivalente zu solchen Implementierungen.

Claims (15)

  1. Verfahren zum Bereitstellen einer dynamisch angepassten virtuellen Tastatur, wobei das Verfahren Folgendes umfasst: auf einem Display einer mobilen Computervorrichtung, das Anzeigen von mindestens einem Teil eines elektronischen Formulars, das Eingabeobjekte zum Akzeptieren von Benutzereingaben umfasst; automatisches Parsen des elektronischen Formulars zum Erkennen von Attributen von mindestens einem der Eingabeobjekte; automatisches Bestimmen auf Basis der Parsing-Ergebnisse, ob das elektronische Formular ein Nicht-Texteingabeobjekt umfasst; in Reaktion auf das Erkennen, dass das elektronische Formular ein Nicht-Texteingabeobjekt umfasst, das automatische Hinzufügen einer entsprechenden Nicht-Textkomponente für virtuelle Tastaturen zu einer virtuellen Tastatur; und Anzeigen der virtuellen Tastatur mit der hinzugefügten Nicht-Textkomponente für virtuelle Tastaturen auf dem Display der mobilen Computervorrichtung; wobei die hinzugefügte Nicht-Textkomponente für virtuelle Tastaturen konfiguriert ist, um einem Benutzer das Aufrufen einer Funktion, die mit dem entsprechenden Nicht-Texteingabeobjekt im elektronischen Formular verknüpft ist, von der virtuellen Tastatur aus zu ermöglichen.
  2. Verfahren nach Anspruch 1, wobei: das Nicht-Texteingabeobjekt im elektronischen Formular eine Befehlsschaltfläche umfasst; und die hinzugefügte Nicht-Textkomponente für virtuelle Tastaturen in der virtuellen Tastatur eine entsprechende Befehlsschaltfläche umfasst, die konfiguriert ist, um dem Benutzer das Aufrufen der Funktion, die mit der Befehlsschaltfläche im elektronischen Formular verknüpft ist, von der virtuellen Tastatur aus zu ermöglichen.
  3. Verfahren nach Anspruch 1, wobei das Nicht-Texteingabeobjekt im elektronischen Formular ein Objekt aus der Gruppe bestehend aus einer Befehlsschaltfläche und einem Listenfeld umfasst.
  4. Verfahren nach Anspruch 1, wobei: der Vorgang des Anzeigens von mindestens einem Teil des elektronischen Formulars das Anzeigen eines ersten Teils des elektronischen Formulars umfasst, das das Nicht-Texteingabeobjekt nicht auf einem ersten Teil des Displays umfasst; und der Vorgang des Anzeigens der virtuellen Tastatur mit der hinzugefügten Nicht-Textkomponente für virtuelle Tastaturen das Anzeigen der virtuellen Tastatur auf einem zweiten Teil des Displays umfasst, während der erste Teil des elektronischen Formulars, der das Nicht-Texteingabeobjekt nicht umfasst, auf dem ersten Teil des Displays angezeigt wird.
  5. Verfahren nach Anspruch 4, ferner umfassend: das Ermöglichen für den Benutzer, mit dem Nicht-Texteingabeobjekt im elektronischen Formular indirekt über die virtuelle Tastatur zu interagieren, obwohl sich das Nicht-Texteingabeobjekt in einem zweiten nicht dargestellten Teil des elektronischen Formulars befindet.
  6. Verfahren nach Anspruch 1, wobei das elektronische Formular einen Eingabebildschirm umfasst, der von einer Software-Anwendung erzeugt wird.
  7. Verfahren nach Anspruch 6, wobei die Software-Anwendung einen Web-Browser umfasst.
  8. Verfahren nach Anspruch 1, wobei: der Vorgang des Parsens des elektronischen Formulars das Erkennen von zwei oder mehreren Eingabeobjekten im elektronischen Formular umfasst; und das Verfahren weiterhin das automatische Hinzufügen von einer oder mehreren Navigationssteuerungsschaltflächen zur virtuellen Tastatur in Reaktion auf das Erkennen von zwei oder mehreren Eingabeobjekten im elektronischen Formular umfasst.
  9. Verfahren nach Anspruch 8, ferner umfassend: Erkennen, dass der Benutzer eine der hinzugefügten Navigationssteuerungsschaltflächen in der virtuellen Tastatur ausgewählt hat; in Reaktion darauf, das automatische Verschieben des Fokus auf ein anderes Eingabeobjekt; das automatische Bestimmen, ob das andere Eingabeobjekt im Display dargestellt ist; und in Reaktion auf das Bestimmen, dass das andere Eingabeobjekt nicht im Display dargestellt ist, das automatisch Scrollen bzw. Blättern des elektronischen Formulars im Display, um zu bewirken, dass das andere Eingabeobjekt im Display dargestellt wird.
  10. Verfahren nach Anspruch 9, wobei: die zwei oder mehreren Eingabeobjekte ein erstes Texteingabefeld und ein zweites Texteingabefeld umfassen; und der Vorgang des automatischen Verschiebens des Fokus auf ein anderes Eingabeobjekt das automatische Verschieben des Fokus vom ersten Texteingabefeld auf das zweite Texteingabefeld umfasst.
  11. Verfahren nach Anspruch 1, wobei das Verfahren ferner Folgendes umfasst. Hinzufügen einer virtuellen Tastaturkomponente zur virtuellen Tastatur, wobei die virtuelle Tastaturkomponente so konfiguriert ist, dass in Reaktion auf Benutzerinteraktion mit der virtuellen Tastaturkomponente eine Liste von Eingabeobjekten aus dem elektronischen Formular in der virtuellen Tastatur angezeigt wird.
  12. Verfahren nach Anspruch 11, ferner umfassend: Erkennen, dass der Benutzer eines der Eingabeobjekte aus der in der virtuellen Tastatur angezeigten Liste ausgewählt hat; und in Reaktion darauf, das automatische Verschieben des Fokus auf das ausgewählte Eingabeobjekt.
  13. Verfahren nach Anspruch 11, ferner umfassend: Erkennen, dass der Benutzer eines der Eingabeobjekte aus der in der virtuellen Tastatur angezeigten Liste ausgewählt hat; in Reaktion darauf, das automatische Verschieben des Fokus auf das ausgewählte Eingabeobjekt; das automatische Bestimmen, ob das ausgewählte Eingabeobjekt im Display dargestellt ist; und in Reaktion auf das Bestimmen, dass das ausgewählte Eingabeobjekt nicht im Display dargestellt ist, das automatisch Scrollen bzw. Blättern des elektronischen Formulars im Display, um zu bewirken, dass das ausgewählte Eingabeobjekt im Display dargestellt wird.
  14. Mindestens ein nicht flüchtiges durch Maschinen abrufbares Medium umfassend: Anweisungen, die, wenn sie durch eine mobile Vorrichtung ausgeführt werden, der mobilen Vorrichtung das Ausführen des in einem der Ansprüche 1 bis 13 ausgeführten Verfahrens ermöglichen.
  15. Mobile Computervorrichtung umfassend: einen Prozessor; mindestens eine lokale Speichervorrichtung, die auf den Prozessor reagiert; und Anweisungen in der lokalen Speichervorrichtung, die, wenn sie durch die mobile Vorrichtung ausgeführt werden, der mobilen Computervorrichtung das Ausführen des in einem der Ansprüche 1 bis 13 ausgeführten Verfahrens ermöglichen.
DE112011105933.7T 2011-12-08 2011-12-08 Verfahren und Vorrichtungen zum dynamischen Anpassen einer virtuellen Tastatur Pending DE112011105933T5 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2011/064019 WO2013085528A1 (en) 2011-12-08 2011-12-08 Methods and apparatus for dynamically adapting a virtual keyboard

Publications (1)

Publication Number Publication Date
DE112011105933T5 true DE112011105933T5 (de) 2014-11-20

Family

ID=48574736

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112011105933.7T Pending DE112011105933T5 (de) 2011-12-08 2011-12-08 Verfahren und Vorrichtungen zum dynamischen Anpassen einer virtuellen Tastatur

Country Status (5)

Country Link
US (1) US9507519B2 (de)
CN (1) CN103959206B (de)
DE (1) DE112011105933T5 (de)
GB (1) GB2510761B (de)
WO (1) WO2013085528A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9507519B2 (en) 2011-12-08 2016-11-29 Intel Corporation Methods and apparatus for dynamically adapting a virtual keyboard

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2487577A3 (de) 2011-02-11 2017-10-11 BlackBerry Limited Präsentierung von Knöpfen zur Regelung einer Anwendung
US8788269B2 (en) 2011-12-15 2014-07-22 Microsoft Corporation Satisfying specified intent(s) based on multimodal request(s)
US10209954B2 (en) * 2012-02-14 2019-02-19 Microsoft Technology Licensing, Llc Equal access to speech and touch input
CN103366137A (zh) * 2012-04-06 2013-10-23 腾讯科技(深圳)有限公司 一种输入信息的方法及装置
KR101958747B1 (ko) * 2012-05-02 2019-03-15 삼성전자주식회사 휴대단말기의 텍스트 입력 방법 및 장치
JP5998690B2 (ja) * 2012-07-10 2016-09-28 富士ゼロックス株式会社 情報処理装置及びプログラム
US20140035823A1 (en) * 2012-08-01 2014-02-06 Apple Inc. Dynamic Context-Based Language Determination
WO2014100949A1 (en) * 2012-12-24 2014-07-03 Nokia Corporation Apparatus for user interface and associated methods
CN104035942B (zh) * 2013-03-08 2018-09-07 腾讯科技(深圳)有限公司 屏幕显示模式切换时的输入框调整方法及装置
US9807085B2 (en) * 2013-03-15 2017-10-31 Veracode, Inc. Systems and methods for automated detection of login sequence for web form-based authentication
JP5786887B2 (ja) * 2013-04-22 2015-09-30 コニカミノルタ株式会社 情報処理装置、情報処理装置の制御方法、情報処理装置の制御プログラム、および操作端末の制御プログラム
CN104346053A (zh) * 2013-07-30 2015-02-11 阿里巴巴集团控股有限公司 一种表单处理方法和终端
US9419935B2 (en) * 2013-08-02 2016-08-16 Whatsapp Inc. Voice communications with real-time status notifications
US9734135B2 (en) 2013-09-09 2017-08-15 Paypal, Inc. Auto-scroll on in-context modules
US20150084871A1 (en) * 2013-09-26 2015-03-26 Mark D. Yarvis Customized display and function for keys on a keyboard
US20150153949A1 (en) * 2013-12-03 2015-06-04 Google Inc. Task selections associated with text inputs
EP2990925A1 (de) * 2014-08-25 2016-03-02 Thomson Licensing Vorrichtung und Verfahren zum Anzeigen einer virtuellen Tastatur
CN106687909A (zh) * 2014-09-16 2017-05-17 日本电气株式会社 信息处理设备、信息处理方法和信息处理程序
US10459608B2 (en) 2014-12-01 2019-10-29 Ebay Inc. Mobile optimized shopping comparison
KR102367184B1 (ko) * 2014-12-11 2022-02-25 삼성메디슨 주식회사 스크린 키보드를 이용한 정보 입력 방법 및 이를 위한 장치
CN105808543B (zh) 2014-12-29 2022-07-19 创新先进技术有限公司 一种信息展示方法及装置
CN113094728A (zh) 2015-01-21 2021-07-09 微软技术许可有限责任公司 在刚性软件开发环境中允许数据分类的方法
CN110908586B (zh) 2015-02-16 2024-07-09 华为技术有限公司 一种键盘的显示方法、装置及终端设备
US20160364140A1 (en) * 2015-06-15 2016-12-15 Gary Shkedy Prompted touchscreen for teaching user input and data entry
JP2017010428A (ja) * 2015-06-25 2017-01-12 京セラドキュメントソリューションズ株式会社 電子機器およびアプリケーションプログラム
US10379737B2 (en) * 2015-10-19 2019-08-13 Apple Inc. Devices, methods, and graphical user interfaces for keyboard interface functionalities
US20170364260A1 (en) 2016-02-11 2017-12-21 Hyperkey, Inc. Enhanced keyboard including multiple application execution
US10976923B2 (en) 2016-02-11 2021-04-13 Hyperkey, Inc. Enhanced virtual keyboard
US10768810B2 (en) 2016-02-11 2020-09-08 Hyperkey, Inc. Enhanced keyboard including multiple application execution
US10803237B2 (en) * 2016-09-28 2020-10-13 Netsuite, Inc. Systems and methods for data entry into a region of a display
CN108459781B (zh) * 2016-12-13 2021-03-12 阿里巴巴(中国)有限公司 输入框的展现控制方法、装置及用户终端
JP6594359B2 (ja) * 2017-01-31 2019-10-23 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム
CN109426721B (zh) * 2017-08-29 2022-05-24 腾讯科技(深圳)有限公司 基于虚拟键盘的安全提示方法和装置
US11194463B2 (en) * 2017-11-08 2021-12-07 Google Llc Methods, systems, and media for presenting offset content
US10453560B2 (en) * 2018-01-30 2019-10-22 Perkinelmer Informatics, Inc. Context-aware virtual keyboard for chemical structure drawing applications
JP6901418B2 (ja) * 2018-02-21 2021-07-14 ヤフー株式会社 入力プログラム、入力方法および端末装置
US11354036B2 (en) 2018-07-27 2022-06-07 Samsung Electronics Co., Ltd Method and electronic device for configuring touch screen keyboard
CA3119214A1 (en) * 2018-11-09 2020-05-14 Citrix Systems, Inc. Automated keyboard mapping for virtual desktops
EP4084453B1 (de) * 2019-12-26 2024-02-07 FUJIFILM Corporation Informationsübertragungsvorrichtung und programm zur steuerung einer informationskommunikationsvorrichtung
CN111897440B (zh) * 2020-06-18 2024-08-13 许昌许继软件技术有限公司 一种用于嵌入式Linux系统的中文拼音输入法
TWI746022B (zh) * 2020-06-19 2021-11-11 英業達股份有限公司 控制讀寫屬性以避免彈出虛擬鍵盤之系統及方法
US20220382969A1 (en) * 2021-04-30 2022-12-01 Bank Of America Corporation Cross channel digital data archiving and utilization system
US11704484B2 (en) 2021-04-30 2023-07-18 Bank Of America Corporation Cross channel digital data parsing and generation system
KR20230006240A (ko) * 2021-07-02 2023-01-10 삼성전자주식회사 입력 필드를 기반으로 사용자 인터페이스를 구성하는 방법 및 전자 장치
CN113282227A (zh) * 2021-07-22 2021-08-20 北京易真学思教育科技有限公司 虚拟键盘的控制方法、装置、虚拟键盘、电子设备和介质
CN114547285B (zh) * 2022-03-03 2023-03-24 创新奇智(浙江)科技有限公司 表格数据含义推断方法、装置、计算机设备和存储介质
US20240126412A1 (en) * 2022-10-18 2024-04-18 Bank Of America Corporation Cross channel digital data structures integration and controls

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020173721A1 (en) * 1999-08-20 2002-11-21 Novasonics, Inc. User interface for handheld imaging devices
US7240067B2 (en) * 2000-02-08 2007-07-03 Sybase, Inc. System and methodology for extraction and aggregation of data from dynamic content
US20020075317A1 (en) * 2000-05-26 2002-06-20 Dardick Technologies System and method for an on-demand script-activated virtual keyboard
US20030074647A1 (en) * 2001-10-12 2003-04-17 Andrew Felix G.T.I. Automatic software input panel selection based on application program state
US7610356B2 (en) 2001-12-21 2009-10-27 Nokia Corporation Accessing functionalities in hypermedia
JP4179553B2 (ja) * 2004-03-15 2008-11-12 インターナショナル・ビジネス・マシーンズ・コーポレーション 表示制御情報生成方法、表示制御情報を生成するコンピュータ、およびプログラム
US20060253478A1 (en) * 2005-03-16 2006-11-09 Graham Michael L Client centric document preparation interface
KR100576370B1 (ko) 2005-09-13 2006-05-03 (주)드림투리얼리티 휴대용 디스플레이 디바이스에서의 컨텐츠 자동 최적화장치
US8068605B2 (en) * 2006-03-07 2011-11-29 Sony Ericsson Mobile Communications Ab Programmable keypad
CN100464295C (zh) 2006-05-17 2009-02-25 联想(北京)有限公司 一种基于虚拟机的安全输入方法
US20080082909A1 (en) * 2006-10-03 2008-04-03 Adobe Systems Incorporated Form magnifier
KR20090091269A (ko) 2008-02-24 2009-08-27 심상정 터치 키패드를 이용한 문자입력 방법
US9015616B2 (en) 2008-10-22 2015-04-21 Google Inc. Search initiation
KR20100070759A (ko) 2008-12-18 2010-06-28 한국전자통신연구원 사용자 인터페이스 장치 및 그 방법
US20100265183A1 (en) * 2009-04-20 2010-10-21 Microsoft Corporation State changes for an adaptive device
US8321810B2 (en) * 2009-04-30 2012-11-27 Microsoft Corporation Configuring an adaptive input device with selected graphical images
US8812972B2 (en) * 2009-09-30 2014-08-19 At&T Intellectual Property I, L.P. Dynamic generation of soft keyboards for mobile devices
US20110260976A1 (en) * 2010-04-21 2011-10-27 Microsoft Corporation Tactile overlay for virtual keyboard
US8248373B2 (en) * 2010-06-18 2012-08-21 Microsoft Corporation Contextual control of dynamic input device
CN102033609A (zh) 2010-12-10 2011-04-27 深圳市云舒网络技术有限公司 键盘鼠标一体化虚拟装置及其实现方法
US9507519B2 (en) 2011-12-08 2016-11-29 Intel Corporation Methods and apparatus for dynamically adapting a virtual keyboard
US20130162411A1 (en) * 2011-12-22 2013-06-27 Qualcomm Incorporated Method and apparatus to adapt a remote control user interface

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9507519B2 (en) 2011-12-08 2016-11-29 Intel Corporation Methods and apparatus for dynamically adapting a virtual keyboard

Also Published As

Publication number Publication date
GB201408839D0 (en) 2014-07-02
CN103959206A (zh) 2014-07-30
GB2510761A (en) 2014-08-13
GB2510761B (en) 2020-05-13
WO2013085528A1 (en) 2013-06-13
US9507519B2 (en) 2016-11-29
CN103959206B (zh) 2016-10-19
US20130283195A1 (en) 2013-10-24

Similar Documents

Publication Publication Date Title
DE112011105933T5 (de) Verfahren und Vorrichtungen zum dynamischen Anpassen einer virtuellen Tastatur
DE102018007060A1 (de) Hervorheben von Schlüsselabschnitten eines Texts innerhalb eines Dokuments
DE69737170T2 (de) Auswahl von Befehlen in einem Rechnersystem
DE202017105843U1 (de) Kontextabhängige Einfügeziel-Vorhersage
DE69228645T2 (de) Verfahren zur Verwirklichung eines "Vorschaufensters" in einem objektorientierten Programmierungssystem
US20110219321A1 (en) Web-based control using integrated control interface having dynamic hit zones
DE202011110891U1 (de) Scrollen in umfangreichen gehosteten Datenbestand
DE69030862T2 (de) Automatisches Ikonerzeugungssystem
DE112011102891T5 (de) Automatisches Anpassen einer Eingabekonfiguration
DE102016125508A1 (de) Auffindbarkeitssystem für Sprachaktionen
DE102013222290A1 (de) System und Verfahren zur gemeinsamen Nutzung von Ermittlungsergebnisdaten
DE112016005286T5 (de) Simulierte Hyperlinks auf einer Mobilvorrichtung
DE10135445A1 (de) Integriertes Verfahren für das Schaffen einer aktualisierbaren Netzabfrage
DE112011102650T5 (de) Eingabe in gesperrtes Computergerät
DE202011110867U1 (de) Rich-Text- und browserbasiertes Textverarbeitungsprogramm
DE202013100128U1 (de) Anzeigevorrichtung und Funktion derselben zum Eingeben von Zeichen
DE202011110334U1 (de) System zum Orthogonales Ziehen auf Scrollbalken
DE212009000073U1 (de) Navigieren zwischen Aktivitäten in einem Computergerät
DE102012202558A1 (de) Erzeugung einer Abfrage aus dargestellten Textdokumenten unter Anwendung virtueller Magnete
DE202007019483U1 (de) Einrichtung zum Auswählen eines zu definierenden Wortes in einem mobilen Kommunikationsendgerät, das ein elektronisches Wörterbuch aufweist
DE202011110886U1 (de) Synthetische Navigationselemente für elektronische Dokumente
DE102012221513A1 (de) Verfahren und System zum Bereitstellen zusätzlicher Daten einem grafischen Schnittstellenelement
DE202011110879U1 (de) Rich-Content in einem Textverarbeitungssystem auf Browserbasis
CN108304234B (zh) 一种页面展示方法及装置
DE112016002384T5 (de) Hilfsschicht mit automatisierter Extraktion

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: MAUCHER JENKINS, DE

Representative=s name: MAUCHER BOERJES JENKINS, DE

Representative=s name: MAUCHER JENKINS PATENTANWAELTE & RECHTSANWAELT, DE