DE69026417T2 - Hochentwickelte Anwenderschnittstelle - Google Patents

Hochentwickelte Anwenderschnittstelle

Info

Publication number
DE69026417T2
DE69026417T2 DE69026417T DE69026417T DE69026417T2 DE 69026417 T2 DE69026417 T2 DE 69026417T2 DE 69026417 T DE69026417 T DE 69026417T DE 69026417 T DE69026417 T DE 69026417T DE 69026417 T2 DE69026417 T2 DE 69026417T2
Authority
DE
Germany
Prior art keywords
user
input
application program
input information
user interface
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69026417T
Other languages
English (en)
Other versions
DE69026417D1 (de
Inventor
Yu Larry An
Gordon Wayne Arbeitman
Evon Constantine Greanias
Alan Richard Tannenbaum
Guy Francis Verrier
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE69026417D1 publication Critical patent/DE69026417D1/de
Application granted granted Critical
Publication of DE69026417T2 publication Critical patent/DE69026417T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/105Program control for peripheral devices where the programme performs an input/output emulation function
    • 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/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • 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/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
    • G06F9/45512Command shells
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/038Indexing scheme relating to G06F3/038
    • G06F2203/0381Multimodal input, i.e. interface arrangements enabling the user to issue commands by simultaneous use of input devices of different nature, e.g. voice plus gesture on digitizer

Landscapes

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

Description

  • Die Erfindung betrifft Verbesserungen bei der Eingabe von Daten in Digitalrechner. Insbesondere betrifft Sie eine hochentwickelte Anwenderschnittstelle, die es einem Anwender gestattet, ein oder mehrere Eingabegeräte zum Einlesen von Daten in einen Computer auszuwählen, auf dem gerade ein ursprünglich für ein anderes Eingabegerät geschriebenes Programm läuft ist.
  • In der Vergangenheit wurden Computer lediglich von Wissenschaftlern, Mathematikern und anderen anspruchsvollen, erfahrenen Computeranwendern eingesetzt. Mit dem Fortschreiten der Computertechnologie und insbesondere mit dem Erscheinen des Personalcomputers hat die Datenverarbeitung eine jede gesellschaftliche Ebene und Anwender jedweden Wissensstandes erreicht. Nur für eine geringe Anzahl von Computeranwendern geht der Trend dahin, Computerfachleute oder doch in der Technik der Datenverarbeitung bewandert zu sein. Der Zugang zu Computern wird gerade in Zukunft in dem Maße, wie das Leistungsvermögen und der Nutzeffekt der Computerhard- und Software zunehmen, weiter anwachsen.
  • Ungeachtet der weiteren Verbreitung von Computern in unserer Gesellschaft hegen viele Bedenken, diese auch anzuwenden. Die traditionelle Textdarstellung und die alphanumerische Tastatur als Eingabegerät sind nicht so rasch zu erlernen, Sie erfordern ein Einprägen des korrekten Formats Dutzender, wenn nicht Hunderter von Steuerbefehlen. Wenn es sich beim Anwender nicht um einen halbwegs guten Maschineschreiber handelt, kann die Dateneingabe lästig und zeitraubend sein. Die Stunden des Probierens, die erforderlich sein können, um sich mit einem einzelnen Softwareabschnitt vertraut zu machen, erweisen sich für den ungeübten Anwender als äußerst frustrierend, der wahrscheinlich be- strebt ist, der ganzen damit verbundenen Mühe aus dem Wege zu gehen.
  • Es hat sich daher als notwendig erwiesen, solche Eingabegeräte und Computerprogramme zu entwigkeln, die auf dem Fachgebiet als "anwenderfreundlich" bekannt geworden sind. Solche anwenderfreundlichen Geräte und eine solche Software sind in der Weise ausgebildet, daß Sie es einem ungeübten Anwender ermöglichen, gestellte Aufgaben auch ohne ein umfangreiches Üben zu erledigen. Eines der populäreren Eingabegeräte ist das Maus-Zeigegerät. Die Maus erzeugt Signale, die der Richtung und der Strecke entsprechen, die Sie vom Anwender über eine ebene Fläche bewegt wurde. Der Computer reagiert auf diese Information, indem er die Position des Cursors auf dem Computerbildschirm entsprechend ändert, um es dem Anwender zu gestatten, den Cursor auf ein beliebiges angezeigtes Objekt zu richten. Ist der Cursor erst einmal richtig positioniert, so kann der Anwender durch Niederdrükken einer oder mehrerer Tasten vorn an der Maus eine Anzahl von Funktionen zur Ausführung bringen.
  • Arbeitsphysiologische Studien haben gezeigt, daß ein Gerät, welches es dem Anwender gestattet, Daten unmittelbar auf dem Computerbildschirm einzugeben, in Fachkreisen allgemein als Berührungseingabegerät bekannt, die größte Unmittelbarkeit und Exaktheit zwischen Mensch und Maschine gewährleistet. Eines der ersten Eingabegeräte zur Verwendung an der Bildschirmoberfläche war der Lichtgriffel. Der Lichtgriffel ist ein optischer Detektor in einem transportablen Stift, der gegen die Fläche einer Katodenstrahlröhre gerichtet wird. Die Position des Lichtgriffels wird über die Erfassung der jeweiligen Koordinaten des Lichtpunkts festgestellt, der das Antastraster des Bildschirms verkörpert. Eine zweite Art von Berührungseingabegerät besteht aus einer auf mechanische Deformation ansprechenden Membran, die auf dem Bildschirm angeordnet wird. Die Membran ist ein transparenter Überzug, der aus zwei transparenten Leiterebenen be- steht, die auf einer flexiblen Fläche angeordnet sind. Wird eine Auswahl getroffen, so verschiebt der Anwender eine der Leiterebenen mechanisch, indem er die andere mit einem Finger oder einem Griffel berührt und dadurch die Leiter in elektrischen Kontakt miteinander bringt. Eine geeignete Elektronik und Software übertragen die durch das Berühren der betreffenden Position auf der Bildschirmoberfläche mit dem Finger oder dem Griffel erzeugten elektrischen Signale. Ein anderes Berührungs-Eingabegerät besteht in einem über dem Bildschirm angeordneten kapazitiven, transparenten Überzug, der von einem elektromagnetischen Signal angesteuerte transparente Leiter in sich einschließt. Das Eingabegerät kann die Stelle einer Berührung mit dem Finger über die Anderung in der Kapazität des Überzugs ermitteln, oder es wird wahlweise ein Griffel verwendet, um die elektromagnetischen Signale von dem Überzug zum Computer zurückzuführen, um so die Position des Griffels zu bestimmen. Noch ein anderes Berührungseingabegerät verwendet einen Rahmen, der sich um den Bildschirm herum erstreckt, und der eine Anzahl Lichtquellen für Infrarotoder sichtbares Licht sowie Rezeptoren aufweist, die parallel zueinander in horizontaler und vertikaler Richtung angeordnet sind. Wenn der Finger des Anwenders die Lichtstrahlen unterbricht, registrieren die horizontalen und vertikalen Rezeptoren das Ausbleiben der Signale und lokalisieren hierdurch die Position der vom Anwender beabsichtigten Bedienungshandlung.
  • Viele andere anwenderfreundliche Eingabegeräte, die auf Aktionen des Anwenders ansprechen, wie z.B. Spracherkennungseinheiten oder digitale Grafiktabletts, sind entwickelt worden.
  • Ergänzend zu anwenderfreundlichen Oeräten haben sich Entwicklungsingenieure bemüht, anwenderfreundlichere Software zu entwickeln. Eine der hierbei angewandten Techniken besteht darin, dem Anwender ein Menü für die Auswahl der speziellen Programme oder Funktionen bereitzustellen, die ausgeführt werden können. Auf diese Weise braucht der Anwender sich nicht lange Listen von Befehlen in seinem Gedächtnis einzuprägen. Das Menü kann als ausfüllende oder partielle Bildschirmanzeige mit an den Menüeinträgen angrenzenden Leerfeldern vorliegen, zu denen der Cursor mittels Tastatur oder einem anderen cursorbewegenden Gerät geführt wird, um eine bestimmte Bedienungshandlung auszuwählen. Wahlweise kann der Anwender durch eine mit der Menüauswahl verbundene Eingabe eines alphanumerischen Zeichens auf der Befehlszeile eine Aktion auswählen.
  • Ein anderer, neuerer Trend besteht in der Bereitstellung einer Art Integration von Computeranwendungsprogrammen. Ohne Integration ist der Anwender gezwungen, getrennte Anwendungsprogramme für Textverarbeitung, Datenbank-Handhabung, Grafik und elektronische Post-Funktionen usw. einzusetzen. Oft ist es ziemlich schwierig, die Ausgabedaten der verschiedenen Programme in eine einzige gewünschte Datenausgabe zusammenzufassen. Eine Lösung bestand darin, eine einzige integrierte Software-Einheit zu schreiben, die eine Vielzahl von Anwendungen in sich einschließt und als Multifunktionsprogramm bezeichnet wird. Solche Multifunktionsprogramme umfassen typischerweise Textverarbeitungs-, Tabellen- sowie gewerbliche Grafikanwendungsprogramme.
  • Ein anderer Lösungsansatz besteht darin, eine integrierte Betriebsumgebung bereitzustellen, wie dies z.B. durch Microsoft WINDOWS oder den IBM-Presentation Manager realisiert ist. Bei dieser Verfahrensweise teilen sich die einzelnen Anwendungsprogramme in die gegebenen Informationen und erscheinen auf dem Bildschirm oftmals gleichzeitig, ein jedes in seinem eigenen Fenster. Durch Auswahl des überzeugendsten Einzel-Anwendungsprogramms kann, im Gegensatz zu Multifunktionsprogrammen, wo der Anwender auf das beschränkt ist, wozu die Anwendungen im Prograirunpaket eben programmiert worden sind, eine sehr viel leistungsfähigere Umgebung für die speziellen Erfordernisse des Anwenders zugeschnitten werden.
  • Die europäische Patentanmeldung EP-A-0 304 891 offenbart ein Verfahren zur Eingabe von Informationen aus einer externen Quelle wie z.B. einem unabhängig ablaufenden Prozeß eines I/O-Geräts in ein Programm oder einen virtuellen Vorgang. Mit Hilfe von "Ereignissen" werden Informationen auf ein Programm übertragen, die selektiv aus einer Ereignis-Warteschlange ausgelesen werden. Eine Anwendereingabe, wie z.B. eine solche aus einer Tastatur oder einem Mausgerät, werden in spezieller Weise behandelt, um sicherzustellen, daß die Eingaben in einer Multiprozessorumgebung dem richtigen Programm zugeführt werden. Es ist ein Tastaturtreiber eingeschlossen, der in der Lage ist, individuelle Übersetzungstabellen für ein jedes laufende Programm zu nutzen. Anwendereingaben aus einem anwenderaktivierten Gerät werden mittels eines Eingabe-"Trichters" kombiniert, der gewährleistet, daß die Anwendereingabe der richtigen Bestimmung zugeleitet wird.
  • Während viele anwenderfreundliche Eingabegeräte und viele anwenderfreundliche Computerprogramme entwickelt wurden, hat man diese Bemühungen jedoch nicht sehr erfolgversprechend integriert. Beispielsweise gibt es eine große Anzahl von Programmen, die zur Entgegennahme von Tastatur- oder Mauseingaben geschrieben wurden, die aber Informationen von einem Berührungseingabegerät oder einer Spracherkennungseinheit nicht als solche erkennen. Diese Situation stellt ein ernsthaftes Hindernis für die Einführung und ausgedehnte Anwendung neuer anwenderfreundlicher Eingabegeräte dar. Jedesmal, wenn ein neues Eingabegerät entwikkelt wird, muß ein Programmierer entweder umfangreiche Überarbeitungen an einem großen Bestand bereits existierender Software vornehmen oder er muß ein neues Multifunktionsprogramm oder einen ganzen Satz von Anwendungsprogrammen schreiben. Eine jede der Alternativen trägt aber wesentlich zu Kosten und Zeitaufwand eines Entwicklungsvorhabens bei und kann jenseits der Möglichkeiten der das Eingabegerät entwickelnden Organisation liegen oder den Aufwand im Verhältnis zum erwarteten Nutzen zu stark ansteigen lassen. Hinzu kommt, daß Urheber- und andere Eigentumsrechte den Entwickler des Eingabegeräts an einer Anpassung bestehender Software hindern können. Überdies kann sich neu entwickelte Software als nicht so leistungsfähig oder von den Anwendern gut angenommen erweisen, wie dies bei etablierten, bereits für einen speziellen Zweck verfaßten Anwendungsprogrammen gewöhnlich der Fall ist.
  • Eine abschließende Erwägung besteht darin, daß der einzelne Anwender vermutlich am besten in der Lage ist, das, was er benötigt, einzuschätzen, jedoch ist kaum anzunehmen, daß er in der Lage oder interessiert ist, umfangreiche Überarbeitungen von Anwenderprogrammen durchzuführen. Von Vorteil wäre es, den Anwender in die Lage zu versetzen, die speziellen Eingabegeräte und Anwenderprogramme auszuwählen, die seinen Zwecken am besten dienlich sein würden, und es ihm sogar bei einem relativ geringen Grad an Sachkenntnis zu ermöglichen, die Komponenten in einer anwenderfreundlichen Schnittstelle zwischen sich und dem Computer zusammenzustellen. Die von einem Programmierer entwikkelte allgemeine Lösung kann nicht das Optimum für die Bedürfnisse eines speziellen Anwenders sein. Es wäre ebenso von Vorteil, wenn dem Anwender die Sicherheit gegeben werden könnte, daß künftige Fortschritte bei Eingabegeräten und Anwendungsprogrammen durch die Schnittstelle mit einem Minimum an Überarbeitung angepaßt werden können.
  • Es ist daher eine Aufgabe der Erfindung, es dem Anwender zu ermöglichen, zwischen einer Vielzahl von Eingabegeräten zur Eingabe von Daten in ein Computersystem auswählen zu können.
  • Es ist eine weitere Aufgabe der Erfindung, - Informationen in ein Computersystem über verschiedene Eingabegeräte einlesen zu können, die sich von demjenigen Eingabegerät unterscheiden, für welches das aktive Anwendungsprogramm ursprünglich geschrieben wurde, ohne hierbei den Code des Anwendungsprogramms überarbeiten zu müssen.
  • Eine weitere Aufgabe der Erfindung besteht darin, es einem relativ unerfahrenen Anwender zu ermöglichen, unter verfügbaren Anwendungsprogrammen und Eingabegeräten auswählen und eine Anwenderschnittstelle erstellen zu können, welche speziell entsprechend seinen Bedürfnissen gestaltet ist.
  • Eine weitere Aufgabe der Erfindung ist es noch, zukünftige Fortschritte bei anwenderfreundlichen Eingabegeräten und Anwendungsprogrammen in einer Anwenderschnittstelle anpassen zu können.
  • Schließlich ist es noch eine weitere Aufgabe der Erfindung, es verschiedenen, an ein und demselben Computer arbeitenden Anwendern zu ermöglichen, unterschiedliche Anwenderschnittstellen zur Anpassung individueller Präferenzen bei der Eingabe von Daten aufzubauen.
  • Die Lösung dieser und anderer Aufgaben wird durch eine hochentwickelte Anwenderschnittstelle erreicht, wie Sie in den beigefügten Ansprüchen gekennzeichnet ist, und die mit einer integrierten Betriebsumgebung arbeitet, auf der eine Vielzahl von Anwendungsprogrammen laufen kann, und die die von der betreffenden Umgebung bereitgestellten Informationen und Bündelungsfunktionen nutzt. Die hochentwickelte Anwenderschnittstelle besteht aus drei Hauptmodulen, nämlich einem Alternativ- Eingabesubsystem-Modul, einem Schnittstellenprofil-Modul sowie einem Umgebungs-Verbindungsmodul. Das Alternativ- Eingabesubsystem-Modul stellt die Kommunikation zwischen den angeschlossenen anwenderfreundlichen Eingabegeräten und dem Rest der hochehtwickelten Anwenderschnittstelle wie auch den Anwendungsprogrammen über die integrierte Betriebsumgebung bereit. Das Alternativ-Eingabesubsystem-Modul empfängt die von den Eingabegeräten erzeugten Eingangssignale und überführt diese in Eingangsinformationen, die in der hochentwickelten Anwender- schnittstelle verwertet werden können.
  • Das Schnittstellenprofil-Modul umfaßt einen Satz von Anwendungsprofilen, eines für ein jedes Anwendungsprogramm, für das der Anwender ein Eingabegerät in einer Weise benutzen möchte, die sich von der Art und Weise, in der das Anwendungsprogramm ursprünglich geschrieben wurde, unterscheidet. Mit dem Anwendungsprogramm zusammen kann ein völlig neues Eingabegerät verwendet werden, oder der Anwender kann wahlweise die Eingangssignale des vorhandenen Eingabegeräts gegenüber jenen, auf die das Anwendungsprogramm ursprünglich ansprach, abändern. Ein jedes Anwendungsprofil enthält ein Verzeichnis von Eingabeinformationen, welche in Verbindung mit den entsprechenden Befehlen aufgelistet sind, die von dem Anwendungsprogramm genutzt werden können. Das Schnittstellenprofil-Modul kann desgleichen einen Satz von Anwenderprofilen für einen jeden Anwender enthalten, der das betreffende Computersystem nutzt. Das Anwenderprofil enthält ein Verzeichnis von Eingabeinformationen sowie deren entsprechende Befehle, die mehreren Anwendungsprogrammen gemeinsam sein können.
  • Das Umgebungs-Verbindungsmodul steht im Datenaustausch mit der integrierten Betriebsumgebung und enthält Algorithmen zur Ausführung der für die hochentwickelte Anwenderschnittstelle maßgeblichen Abläufe. Beispielsweise nimmt es die von dem Alternativ-Eingabesubsystem erzeugten Eingabeinformationen entgegen, fragt die integrierte Betriebsumgebung danach ab, welches Anwendungsprogramm gerade aktiv ist, paßt die Eingangsinformationen den entsprechenden Befehlen in dem passenden Anwendungsprofil innerhalb des Schnittstellenprofil-Moduls an und löst eine auf dem Befehlssatz beruhende Aktion, wie z.B. das Absenden von Informationen an das aktive Anwendungsprogramm über die Betriebsumgebung, aus. Die hochentwickelte Anwenderschnittstelle kann des weiteren eine Reihe von Dienstprogrammen, wie z.B. eine Pop-up-Tastatur oder ein Bildlupen-Dienstprogramm, in sich einschließen.
  • Figur 1 stellt ein Blockdiagramm dar, das die Wechselwirkung der Computer-Systemsoftware und -hardware als Reaktion auf Aktionen verdeutlicht, die sich einer integrierten Betriebsumgebung, wie z.B. des "Presentation Manager", bedienen.
  • Figur 2 stellt das strukturmäßige Blockschaltbild eines Computersystems gemäß der vorliegenden Erfindung dar, das den Speicher veranschaulicht, in den eine Reihe von Anwendungs- und fletriebssystemprogrammen eingelesen worden sind.
  • Figur 3 stellt ein Blockschaltbild dar, welches die Wechselwirkung von Computer-Systemsoftware und -hardware in Reaktion auf Anwender-Bedienungsmaßnahmen veranschaulicht, die in Übereinstimmung mit einem ersten Ausführungsbeispiel der vorliegenden Erfindung ausgebildet ist.
  • Figur 4 stellt ein Flußdiagramm für die Arbeitsweise des ersten Ausführungsbeispiels der vorliegenden Erfindung in Reaktion auf ein Spracheingabesignal dar.
  • Figur 5 stellt das Diagramm eines Anwendungsprofils dar.
  • Figur 6 stellt ein Blockschaltbild dar, das die Wechselwirkung von Computer-Systemsoftware und -hardware in Reaktion auf Anwendungs-Bedienungsmaßnahmen zeigt, die in Übereinstimmung mit einem zweiten Ausführungsbeispiel der vorliegenden Erfindung gestaltet sind.
  • Figur 7 stellt ein Flußdiagramm der Arbeitsweise des zweiten Ausführungsbeispiels der vorliegenden Erfindung in Reaktion auf ein Spracheingabe-Signal dar.
  • Figur 8 stellt ein Flußdiagramm der Arbeitsweise eines Computermoduls dar, das zwischen einer Berührungseingabe, welche ein Mauszeigegerät emulieren soll, und einer Berührungseingabe, die eigentlich eine Gestenbewegung oder ein Schriftzeichen sein soll, unterscheidet.
  • Figur 1 zeigt die Wechselwirkung zwischen dem Anwender und dem Computersystem bei Verwendung der Anwendungsprogramme A, B, C und D 50-53 in einer typischen integrierten Betriebsumgebung, wie z.B. dem "Presentation Manager" 56.
  • Der Anwender gibt Daten über Gerät A (Tastatur) 32, Gerät B (Maus) 34 oder den Berührungssensor 36 ein. In dem Maße, wie der Anwender Daten eingibt, erzeugt das ausgewählte Gerät einen Interrupt, um den geeigneten Treiber zu aktivieren. Im Falle von Tastatur 32 wird Treiber A 60 aktiviert; im Falle der Maus 34 wird Treiber B 62 eingeschaltet, und eine Eingabe am Berührungssensor 36 aktiviert den Berührungstreiber 63. Der geeignete Treiber signalisiert die integrierte Betriebsumgebung 56. Die integrierte Betriebsuingebung verfolgt, welches Anwendungsprogramm aktiv ist, und sendet sämtliche Eingabedaten an dieses Anwendungsprogramm. Wahlweise kann der Anwender die Anwendungsprogramme wechseln, und die integrierte Betriebsumgebung 56 wird die Information sodann dem neuen aktiven Anwendungsprogramm zuleiten. In einer vorzugsweisen Ausführung sind das Anwendungsprogramm A 50 ein Tabellen-/Arbeitsblattbearbeitungsprogramm, das Anwendungsprogramm B 51 ein Textverarbeitungssystem, das Anwendungsprogramm C 52 ein Zeichenprogramm, und das Anwendungsprogramm D 53 bietet die Möglichkeit der elektronischen Nachrichtenübermittlung. Die "Spur" zum aktiven Programm zu halten, stellt eine "fokussierende Funktion", insofern dar, als die integrierte Betriebsumgebung 56 den "Fokus" des Anwenders in einem gegebenen Zeitpunkt bestimmt. Zwecks Veranschaulichung nehme man an, daß der Anwender Daten über die Tastatur 32 eingibt und das Tabellenprogramm 50 das aktive Anwendungsprogramm ist. Das Tabellenprogramm 50 entscheidet dann, welche Operation ausgeführt werden soll. Im allgemeinen wird diese Operation in eine von drei Kategorien einzuordnen sein: Das Tabellenprogramm wird die Bildschirmanzeige 28 ändern, das Tabellenprogramm 50 wird mit anderen E/A-Geräten, wie z.B. einem Drucker, kommunizieren, oder das Tabellenprogramm 50 wird mit anderen Anwendungen kommunizieren. Alle diese Informationen werden von der integrierten Betriebsumgebung 56 verarbeitet.
  • Während die integrierten Betriebsumgebungen nach dem Stand der Technik einen leichteren Zugriff auf Mehrfachanwendungsprogramme ermöglichen und der Anwender daher in der Lage ist, sich die jeweils für seine Zwecke am besten geeigneten Anwendungsprogramme auszuwählen, kann der Anwender mit dem Anwendungsprogramm nur mit Hilfe der Eingabegeräte kommunizieren, für welche dieses Anwendungsprogramm geschrieben worden ist. Beispielsweise handelt es sich bei dem Tabellenprogramm 50 um ein Programm, das für eine Kombination aus Tastatur 32 und Maus 34 geschrieben wurde. Obwohl ein Berührungstreiber 63 entwickelt werden kann, um durch Umwandlung der vom Berührungssensor 63 erzeugten Eingabesignale in Mausbewegungen und Mausklicks mit der integrierten Betriebsumgebung 56 einheitlich kommunizieren zu können, sind die Möglichkeiten des Berührungseingabegeräts 36 aufgrund des Zeichenvorrats des Mausgeräts beschränkt. Neue Kategorien von Berührungsbefehlen, wie z.B. die Handschriftenerkennung oder Gestenbewegungen, können durch diese Methode nicht so leicht angepaßt werden, insbesondere nicht durch ein Anwendungsprogramm wie z.B. das Tabellenprogramm 50, das nicht in der Lage ist zu verstehen, was die einzelnen Arten von Berührungsbefehlen zu bedeuten haben. Andere neue Eingabegeräte sind in dieser Hinsicht noch drastischer eingeschränkt. Obwohl demnach der Systementwickler oder Anwender gern neue anwenderfreundliche Eingabegeräte in einen individuellen Arbeitsplatzrechner einbeziehen möchte, wird er u.U. feststellen, daß die Nutzung vorhandener Software unmöglich oder doch stark eingeschränkt ist.
  • Die vorzugsweise Ausführungsfbrm der Erfindung umfaßt eine Gruppe von Computerprogrammen zur Steuerung der Wechselwirkung zwi schen einem Anwender und einem Computersystem, wie es in Fig. 2 dargestellt ist. Die Erfindung ist vorrangig zur Verwendung mit einem Personalcomputer, wie z.B. dem IBM PS/2Wz, gedacht; die Grundsätze dieser Erfindung können jedoch auch auf andere individuelle Arbeitsplatzrechner oder auf noch sehr viel größere Datenverarbeitungssysteme ausgedehnt werden. Das aufbaumäßige Blockschaltbäld von Fig. 2 umfaßt eine Zentraleinheit (CPU) 20, welche über ein Bussystem 22 mit einem Nur-Lese-Speicher (ROM) 24 und einem Direktzugriffsspeicher (RAM) 26 verbunden ist. In dem Computersystem in Fig. 2 sind ferner eine Bildschirmanzeige 28, durch die der Computer dem Anwender Informationen übermittelt, sowie eine Vielzahl von Eingabegeräten einschließlich einer Tastatur 30 und den Geräten A 32 und B 34 enthalten, bei denen es sich zwecks Veranschaulichung in der nachfolgenden Beschreibung um eine zweite alphanumerische Tastatur 32 sowie eine Maus 34 handelt, die aber auch eine spezialisierte Tastatur, wie z.B. eine Zifferntastatur, ein fernbedientes Zeigegerät oder auch eine Anzahl verschiedener anderer Eingabegeräte sein können. Das Computersystem umfaßt weiterhin einen Berührungssensor 36 oder ein Berührungseingabegerät, das an der Oberfläche des Bildschirms 26 zu benutzen ist, einen Sprachsensor 38 sowie einen Bildsensor 40. Die E/A-Einheit 42 kann mit Datenübertragungsnetzen oder anderen E/A-Einrichtungen verbunden sein. Der Direktzugriffsspeicher (RAM) 26 beinhaltet das Anwendungsprogramm A 50, das Anwendungsprogramm B 51, das Anwendungsprogramm C 42 sowie das Anwendungsprogramm D 53. Beispiele für typische Anwendungsprogramme umfassen Textverarbeitungssysteme, Tabellenprogramme, Grafikprogramme, elektronische Post sowie Datenbankprogramme. Der RAM 26 speichert ferner ein Betriebssystem 54, wie z.B. das DOSWz oder das OS/2Wz, sowie ein integriertes Betriebsumgebungsprogramm 56, wie z.B. WINDOWSWZ oder den Presentation ManagerWz, welcher ein gleichzeitiges Ablaufen verschiedener Anwendungsprogramme gestattet. Weitere Software umfaßt den Treiber A 60 sowie den Treiber B 62, welche die von der zweiten Tastatur 32 bzw. der Maus 34 erzeugten elektrischen Signale für die Betriebsumgebung 56 aufbereitet. Der Berührungstreiber 63, die Gestenerkennungseinheit 64 sowie die Zeichenerkennungseinheit 65 verarbeiten die Eingabesignale von dem Berührungssensor. Eingabesignale vom Sprachsensor 38 und dem Bildsensor 40 werden von der Spracherkennungseinheit 66 bzw. von der Bilderkennungseinheit 68 abgearbeitet. Obzwar in Fig. 2 als einheitliche Software dargestellt, können Treiber A 60, Treiber B 62, Berührungstreiber 63, Gestenerkennungseinheit 64, Spracherkennungseinheit 66 und Bilderkennungseinheit 68 auch eine Kombination aus Hardware und Software verkörpern. Schließlich befindet sich im RAM 26 auch die Gruppe der Softwaremodule, welche die hochentwickelte Anwenderschnittstelle 100 komplettieren.
  • Erstes Ausführungsbeispiel
  • Fig. 3 zeigt ein in Übereinstimmung mit der vorliegenden Erfindung gestaltetes Computersystem. Statt über einen Standardgerätetreiber mit der integrierten Betriebsumgebung 56 verbunden zu sein, ist mindestens eines aus der Vielzahl der Eingabegeräte über eine Erkennungseinheit mit der hochentwickelten Anwenderschnittstelle 100 verbunden. In Fig. 3 sind der Sprachsensor 38 und der Bildsensor 40 über ihre entsprechenden Erkennungseinheiten, die Spracherkennungseinheit 65 und die Bilderkennungseinheit 68, mit der hochentwickelten Anwenderschnittstelle (AUI) 100 verbunden. Eine Tastatur 32 sowie eine Maus 34 bleiben über ihre entsprechenden Treiber, Treiber A 60 und Treiber B 62, mit der integriertend Betriebsumgebung 56 verbunden, zumal viele Anwendungsprogramme eine Tastatur- und Mauseingabe als solche erkennen. Schließlich ist in Fig. 3 der Berührungssensor 36 sowohl mit der integrierten Betriebsumgebung 56 nämlich über den Standardberührungstreiber 63 als auch mit der hochentwickelten Anwenderschnittstelle 100 über die Gestenerkennungseinheit 64 und die Zeichenerkennungseinheit 65 verbunden. Der Berührungstreiber 63, die Gestenerkennungseinheit 64 und die Zeichenerkennungseinheit 65 übersetzen die Signale von dem Berührungssensor 36 und erzeugen Gesten- bzw. Zeichen-"Token". Die Aufeinanderfolgen der Positionen eines Fingers oder Griffels auf der Oberfläche des Berührungssensors 36 können mittels der Zeichenerkennungseinheit 65 als handschriftliche alphanumerische Schriftzeichen oder durch die Gestenerkennungseinheit 64 als eine Gestenbewegung, wie z.B. einen Kreis aus einem rechtsgängigen Pfeil, erkannt werden. Die Spracherkennungseinheit 66 digitalisiert den vom Sprachsensor 38 erhaltenen Klang und bildet Muster aus, die zur Erzeugung von Sprach-"Token" mit zuvor definierten Klangmustern auf Übereinstimmung geprüft werden. Die Bilderkennungseinheit 68 verarbeitet Informationen vom Bildsensor 40 und liefert an ihrem Ausgang Bild-"Token". Ein "Token" ist ein Eingabesignal, das eine Reihe elektrischer Signale verkörpert, die von einem Eingabegerät erfaßt wurden. So können beispielsweise die Punktreihen, die zusammenkommen, wenn ein Anwender einen Kreis auf dem Berührungssensor zeichnet, als "Kreis-Token" definiert werden. Die Kopplung des Berührungssensors 36 an die integrierte Betriebsumgebung 56 ermöglicht es dem Anwender, sich Anwendungsprogramme, die speziell für den Berührungssensor 36 geschrieben wurden, oder andere vorliegende Anwendungsprogramme, für die nur einfache Mauseingabesignale benötigt werden, zunutze zu machen. Zumal der Berührungssensor 36 über die Gestenerkennungseinheit 64 und die Zeichenerkennungseinheit 65 ebenfalls mit der AUI verbunden ist, können, aufgrund des Übersetzungsvermögens der hochentwickelten Anwenderschnittstelle 100, auch Anwendungsprogramme, die eine Berührungseingabe nicht erkennen, noch Gestenoder Zeichen-"Token" akzeptieren.
  • In anderen Ausführungsbeispielen ist vorgesehen, die Tastatur 32 und die Maus 34 sowohl mit der AUI 100 als auch mit der integrierten Betriebsumgebung 56 zu verbinden, wie dies auch bei dem Berührungssensor 36 der Fall ist. In noch anderen Ausführungsbeispielen sind sämtliche Eingabegeräte direkt und allein an die AUI 100 angeschlossen. Unter Verwendung eines Tastatur-AUI-Verbindungsglieds könnte ein Anwender die normalen, mit der Tastatur erzeugten Befehle für ein Anwendungsprogramm durch solche ersetzen, die er für das Eingeben oder Abspeichern praktischer findet. Da die AUI 100 als ein Anwendungsprogramm geschrieben wurde, ist Sie auch in der Lage, die Kommunikations- und Bündelungsmöglichkeiten der integrierten Betriebsumgebung zu nutzen.
  • Eine andere bevorzugte Ausführungsform der vorliegenden Erfindung verwendet einen einzelnen Zeigegerät-Treiber (nicht dargestellt), um die Funktionen von Treiber B 62 und Berührungstreiber 63 zu kombinieren, indem Sie eine Eingabe sowohl von der Maus 34 und dem Berührungssensor 36 äls auch von einem beliebigen anderen Zeigegerät akzeptiert. Dieses Ausführungsbeispiel ist besonders an das Arbeiten mit dem in U.S.-Patent Nr. 4 868 332, angemeldet am 26. Juni 1986, Inhaber E. Greanias et al. mit dem Titel "Combined Finger Touch and Stylus Detection System for Use on the Viewing Surface of a Visual Display Device" beschriebenen Eingabegerät oder mit dem Griffel mit Fernabfrage, wie er in der gemeinschaftlich übertragenen Patentanmeldung, Aktenzeichen (Serien-Nr.) 264,409, angemeldet am 28. Okt. 1988 durch E. Greanias et al., mit der Bezeichnung "Remotely Sensed Personal Stylus" beschrieben ist, welche hiermit über die Verweisung einbezogen sind. Der Treiber für das Zeigegerät entscheidet zwischen Mauseingabe von Maus 34 und der Finger- und Griffeleingabe von Berührungseingabegerät 36 und sendet geeignete Eingabeinformationen an die integrierte Betriebsumgebung 56.
  • Zurückgehend auf Fig. 3 ist die AUI 100 ferner in verschiedene Computer-Codemodule eingeteilt. Das Umgebungs-Verbindungsmodul 101 enthält Algorithmen zur Ausführung der Befehlsteile der AUI 100 und stellt Kommunikationsmöglichkeiten mit der integrierten Betriebsumgebung 56 bereit. Das alternative Eingabe-Subsystem (AIS) 103 stellt eine Schnittstellenbeschreibung bereit, die dem Entwickler neuer, anwenderfreundlicher Eingabegeräte, wie es beispielsweise ein Sprachsensor 38 ist, eine nahtiose gegenseitige Verbindung mit der hochentwickelten Anwenderschnittstelle 100 gestattet. Das AIS übersetzt die von den Eingabegeräten und deren entsprechenden Erkennungseinheiten gesendeten Eingabesignale zu Eingangsinformationen, die von dem Rest der hochentwikkelten Anwenderschnittstelle 100 genutzt werden können. Ein Teil einer jeden Eingangsinformation, wie z.B. ein GS/-Präfix zur Kennzeichnung einer Gestenbewegung, dient dazu, das Eingabegerät, von dem das Eingangssignal empfangen wird, zu identifizieren. In diesem Ausführungsbeispiel versieht das AIS 103 eine jede Eingangsinformation mit einer Zeitmarke, so daß das richtige Anwendungsprogramm auch die passenden Befehle erhält.
  • Das Schnittstellenprofil-Modul 104 besteht aus den von den Anwendungsprofilen 105 sowie den Anwenderprofilen 107 gebildeten Sets, welche Dateien darstellen, die Eingabeinformationen auflisten, welche von dem AIS 103 aus jenen Eingangssignalen, die von den Eingabegeräten 36, 38, 40 empfangen, zu Tastatur-, Mausoder anderen, von vorliegenden Anwendungsprogrammen, beispielsweise Mausklicks, Tastenanschlagsinformationen, MACROs, Dienstprogrammen usw., nutzbaren Befehlen zusammengestellt sind, erzeugt wurden. Das Dienstprogramm der hochentwickelten Anwenderschnittstelle (AUI-Dienstprogramm) 109 stellt eine Serie von Dienstprogrammen dar, wie beispielsweise eine Pop-up-Tastatur oder ein Bildlupen-Dienstprogramm, welche mit der AUI genutzt werden können. Wie gezeigt, kann das AUI-Dienstprogramm 109 als ein getrenntes Anwendungsprogramm oder auch als eine Reihe von Anwendungsprogrammen geschrieben sein, so daß es die Informationsübertragungsmöglichkeiten der integrierten Betriebsumgebung 56 nutzen kann, um mit anderen Anwendungsprogrammen zu kommunizieren.
  • Einige wenige Beispiele für Dienstprogramme, welche in den Dienstprogrammen 109 der hochentwickelten Anwenderschnittstelle vertreten sein können, umfassen eine "POP-up"-Tastatur, eine "Pop-up"-Zifferntastatur, ein Bi ldlupen-Dienstprogramm sowie einen Kontrollstreifen für elektronische Post. Bei der "Pop-up" Tastatur und der "Pop-up"-Zifferntastatur handelt es sich um Funktionen, die vorzugsweise für das Zusammenwirken mit einem Berührungseingabegerät an der Bildschirmoberfläche ausgebildet sind. Durch Ausgabe eines passenden Befehls, beispielsweise durch Ausführung einer kreisförmigen Gestenbewegung oder Berühren eines Tastatur-Icons, erscheinen Tastatur oder Tastenblock automatisch ("pop-up") auf dem Bildschirm. Durch Berühren der auf dem Bildschirm angezeigten Tasten kann ein Anwender rasch ganze Spalten alphanumerischer Informationen direkt auf dem Bildschirm eingeben, indem er auf diese Weise die Notwendigtkeit beseitigt, seine Aufmerksamkeit der manuellen Tastatur zuwenden zu müssen. Der für die Tastatur oder den Tastenblock benötigte Platz ist sehr bescheiden und beeinträchtigt die Arbeitsfläche der Tabellenbearbeitung, der Textverarbeitung usw., die ja das aktive Anwendungsprogramm darstellen, nicht gänzlich. Das Bildlupen-Dienstprogramm vergrößert ein Rechteck bestimmter Größe um einen Punkt herum, an dem eine geeignete Gestenbewegung gemacht wurde. Das Dienstprogramm gestattet eine sehr genaue Positionierung eines Cursors in dem erweiterten Bild. Nach dem Abheben des Griffels werden die normale Größe der Anzeige wieder hergestellt und die ausgewählten Cursorkoordinaten an das aktive Anwendungsprogramm gesendet.
  • Das Flußdiagramm in Fig. 4 veranschaulicht den Arbeitsablauf im Computersystem von Fig. 3 in Reaktion auf ein Sprach-Eingangs signal. Das aktive Anwendungsprogramm ist das Tabellenprogramm 50, und auf dem Bildschirm 28 wird dem Anwender gleichzeitig mit einem Menübalken von dem Anwender zur Verfügung stehender Funktionen ein Matrixfeld ausgewählter Daten präsentiert. Anstatt eine Reihe von Tasten auf der Tastatur anzuschlagen, entscheidet sich der Anwender bei der Eingabe von Daten in das Computersystern für die Verwendung eines anderen Eingabegeräts, nämlich des Sprachsensors 38. In Reaktion auf die Artikulierung des Worts "Graph" durch den Anwender, erzeugt der Sprachsensor 38 bei 111 elektrische Signale und sendet diese an die geeignete Übersetzungsvorrichtung, die Spracherkennungseinheit 66. In Reaktion auf diese elektrischen Signale wird die Spracherkennungseinheit bei 113 aktiviert und sendet ein geeignetes Eingabesignal, nämlich ein Sprach-Eingabe-"Token", an das Alternativ-Eingabesubsystem 103. Bei 115 übermittelt das AIS 103 eine Eingabeinformation an das Umgebungsverbindungsglied 101, welche eine Information über den Zeitpunkt enthält, an dem das Eingangssignal erhalten wurde, und welches Eingabegerät das Signal gesendet hat. In Reaktion auf die Eingabeinformation fragt das Umgebungs-Verbindungsglied 101 bei 117 die integrierte Betriebsumgebung 56 danach ab, welches Anwendungsprogramm gerade aktiv ist. Nach Bestimmung des aktiven Anwendungsprogramms, des Tabellenprogramms 50 bei 119, nimmt das Umgebungs-Verbindungsglied 101 Bezug auf das Anwendungsprofil 105 des Tabellenprogramms 50 hinsichtlich des Befehls, welcher der Eingangsinformation "Graph" entspricht, und der von dem Tabellenprogramm 50 erkannt wird, d.h. die Menüauswahl --graph--. Das Umgebungs-Verbindungsglied 101 prüft dann bei 121 das Anwenderprofil 107, um festzustellen, ob dort ein Befehl mit einer höheren Priorität anliegt, der den Befehl vom Anwendungsprofil 105 unwirksam machen würde. Das Umgebungs-Verbindungsglied 101 bei 125 sendet sodann den Befehl mit der höheren Priorität, in diesem Beispiel den Menüauswahl- Befehl vom Anwendungsprofil 105, an die integrierte Betriebsumgebung 56, die den Befehl an das Tabellenprogramm 50 des aktiven Anwendungsprogramms weiterleitet Das Tabellenprogramm 50 bei 127 führt in Reaktion auf diesen Befehl die geeignete Aktion aus, in diesem Fall die grafische Darstellung der gerade ausgewählten Daten und den Wechsel der dem Anwender auf dem Bildschirm 28 dementsprechend präsentierten Information.
  • Schnittstellenprofile
  • Um sich von dem Leistungsvermögen und der Flexibilität der hochentwickelten Anwenderschnittstelle 100 ein Bild machen zu können, müssen die Anwendungsprofile 105 und die Anwenderprofile 107 des Schnittstellenprofils 104 ausführlicher erläutert werden. Beide Profilarten verbinden Verzeichnisse von Eingabeinformationen mit einem Verzeichnis der entsprechenden Befehle, die von dem passenden Anwendungsprogramm, dem Umgebungs-verbindungsmodul 101 oder von der integrierten Betriebsumgebung selbst erkannt werden. Der Befehl kann aus dem Namen des Programms, einer Anweisung, welche von der integrierten Betriebsumgebung erkannt wird, oder einem MACRO bestehen. Ein MACRO ist eine Datei, die einen beliebig langen String von "Ereignissen" und/oder Dienst- Programmen enthält. Ein "Ereignis" im Sinne dieser Beschreibung ist eine Eingabeinformation, die aus einer Aktion des Anwenders, beispielsweise einem einzelnen Tastenanschlag, der Betätigung einer Maustaste, dem Loslassen einer Maustaste, einem Mausdoppelkucken, einer einzelnen Menüauswahl, einer einzelnen Gestenbewegung oder einem anderen "Token" oder der Wahl einer einzel-, nen Beschleunigertaste, resultiert. Ein Beispiel für ein Dienstprogramm ist die Pop-up-Tastatur. Ein MACRO kann auch andere zuvor definierte MACROs als Befehle verarbeiten. Beschleunigertasten sind oftmals ein Wesensmerkmal der integrierten Betriebsumgebung 56. Sie legen die Tastenanschlagsfolge fest, die eine bestimmte Menüauswahl emuliert. Beispielsweise kann eine Anwendung vorgeben, daß der DELETE-Taste die gleiche Funktion zukommt wie einer Wahl von "CUT" aus dem EDIT-Menü und daß SHIFT/INSERT das gleiche ist, wie die Wahl von PASTE aus dem EDIT-Menü. Diese beiden Beispiele sind in der Tat allgemein angewandte Beschleuniger.
  • Jedes Anwendungsprogramm kann sein eigenes Anwendungsschnittstellenprofil 105 haben, das Verzeichnisse der Eingabeinformationen sowie deren entsprechende Befehle für ein jedes Eingabegerät enthält, das mit dem Alternativ-Eingabesubsystem 103 verbunden ist. Beispielsweise kann ein Anwendungsprofil die in Fig. 5 gezeigten Eingabeinformationen und -befehle enthalten. Das Muster-Anwendungsprofil zeigt Eingabeinformationen, die zusammen mit Kommentaren, welche dem Anwender angezeigt werden sollen, und die die Bedienungsmaßnahme beschreiben, die erforderlich ist, um die Eingabeinformation zu erzeugen, und zusammen mit Kommentaren, die die Reaktion des Computersystems auf den Empfang solcher Eingabeinformationen beschreiben, wenn die gegebene Anwendung aktiv ist, gegen den entsprechenden Befehl aufgelistet sind.
  • Die gleiche Eingabeinformation von der AIS 103 ruft an unterschiedlichen Anwendungsprofilen 105 generell ein unterschiedliches MACRO auf. Beispielsweise kann ein bestimmtes Anwendungsprofil 15 vorgeben, daß ein mit "Cut/Paste" bezeichnetes MACRO in Reaktion auf eine rechtsgerichtete Pfeil-Gestenbewegung ausgeführt werden soll, während ein hiervon verschiedenes Anwendungsprofil 105 die nach rechts gerichtete Pfeil-Gestenbewegung einer Tastenfolge "Form 201 (ENTER)" zuordnet. Wenn die Gestenerkennungseinheit 64 eine von dem Berührungssensor 36 ausgehende, nach rechts gerichtete Pfeil-Gestenbewegung erkennt, ruft sie das Umgebungs-Verbindungsglied 101 auf, welches das Anwendungsprogramm bestimmt, zu dem das augenblicklich aktive Fenster gehört. Das Umgebungs-Verbindungsglied 101 liest das entsprechende Anwendungsprofil 105, kombiniert diese Information mit dem zutreffenden Anwenderprofil 107, indem es hierbei den Befehl mit der höheren Priorität wählt, und gibt sodann den Befehl an das aktive Anwendungsprogramm, die integrierte Betriebsumgebung 56 oder an andere geeignete AUI-Module aus.
  • Das Anwenderprofil 107 enthält Befehle, die allen oder doch mehreren der Anwenduhgsprogramme 50-53 gemeinsam sind. Für jeden Systemanwender kann auch ein gesondertes Anwenderprofil 107 geschrieben werden. Die hochentwickelte Anwenderschnittstelle kann den aktiven Anwender während der Anmeldeprozeduren feststellen. Eintragungen im Anwenderprofil 107 können dazu dienen, sich über jene in den Anwendungsprofilen hinwegzusetzen. Eine solche Situation kann aktuell werden, wenn ein bestimmter Anwender es vorzieht, Daten in einer Weise einzugeben, die sich von der durch das - für eine Gruppe von Systemnutzern geschriebene - Anwendungsprofil 105 bereitgestellten Art unterscheidet. Das Anwenderprofil 105 kann auch dazu dienen, eine umfassende standardmäßige Aktion zu bewirken, d.h., wenn in dem passenden Anwendungsprofil 105 eine spezielle Eingabeinformation durch das PM-Verbindungsglied 101 nicht gefunden wurde. Wo ein Anwenderprofil 107 für eine umfassende Standardaktion genutzt wird, kann dem Anwendungsprofil 105, das über ein MACRO für eine gegebene Eingabeinformation verfügt, eine gegenüber der Standard aktion höhere Priorität gegeben werden.
  • Während die vorzugsweisen Ausführungsformen der vorliegenden Erfindung einen Unterschied zwischen den Anwendungsprofilen 105 und den Anwenderprofilen 107 machen, ist es in anderen Ausführungsbeispielen auch möglich, für jeden Anwender gesonderte Anwendungsprofile 105 zu schreiben. Wo das Schnittstellenprofilmodul 104 in dieser Weise organisiert wurde, würde sich die Umgebungs-Verbindungseinheit 101 auf ein Standard-Anwendungsschnittstellenprofil 105 beziehen, sofern ein Anwendungsprofil 105 für einen speziellen Anwender nicht existiert. Das Standardanwendungsprofil 105 würde zusammen mit dem Anwendungsprogramm, dem Eingabegerät oder auch durch den Programmierer, der das Computersystem konfiguriert, bereitgestellt. Wie gegenwärtig ins Auge gefaßt, wird für ein gegebenes Anwendungsprogramm generell ein Anwendungsprofil 105 mit der Anwendung selbst bereitgestellt. Wahlweise können sämtliche Anwendungsprofile 105 ebenso wie ein allgemeines Anwenderprofil 107 vom Systemprogrammierer bereitgestellt werden. Für einen weniger erfahrenen Anwender, der nicht den Wunsch hegt, die Leistungsfähigkeit der hochentwickelten Anwenderschnittstelle 100 auszuloten, werden die Standardprofile gewöhnlich ausreichend sein. Viele Anwender werden jedoch die hochentwickelte Anwenderschnittstelle 100 ihren speziellen Wünschen und Anforderungen entsprechend zuschneiden wollen. Deshalb wird es dann erforderlich, eine vorhandene Anwendung oder ein vorhandenes Anwenderprofil zu modifizieren oder diese zu schreiben.
  • Das Bedienungsfeld der hochentwickelten Anwenderschnittstelle, eines der Dienstprogramme 109 der hochentwickelten Anwenderschnittstelle, erlaubt es dem Anwender, viele der AUT-Funktionen bedarfsgerecht zu modifizieren, um in einer äußerst leistungsfähigen und anwenderfreundlichen Weise ein anwenderspezifisches Profil zu schaffen. Obwohl die hochentwickelte Anwenderschnittstelle 100 eine recht fortgeschrittene Maschinensprache beinhaltet, ist es durch die Verwendung des Bedienungsfeldes nicht erforderlich, daß der Anwender deren Arbeitsweise versteht. Unter den von dem AUI-Bedienungsfeld dargebotenen Funktionen ist auch die Fähigkeit, Profile zu modifizieren oder zu erzeugen. Dies wird durch den Aufruf des Moduls zur Erstellung/Modifizierung eines Schnittstellenprofils des AUI-Bedienungsfeldes erreicht, indem man aus dem Bedienungsfeld-Menü "PROFILE" auswählt. Das Bedienungsfeld fragt beim Anwender zunächst den Namen des Profils ab, das modifiziert werden soll. An diesem Punkt wird dem Anwender ein Menü des geeigneten Profils angezeigt, das eine Auflistung von Beschreibungen von Anwenderaktionen wie z.B. einer Kreis-Gestenbewegung, "cut" Sprachkommando usw. in Gegenüberstellung einer Beschreibung der Maßnahme umfaßt, die vom Computer, d.h. dem MACRO, in Reaktion auf die Anwenderaktion ausgeführt wird. Ist mit dem eingegebenen Namen ein Anwendungsoder Anwenderprofil nicht verknüpft, so erzeugt das Dienstprogramm ein neues Profil und zeigt ein leeres Menü an. Der Anwender bewegt den Cursor durch das Menü, um die Informationen in dem Profil zu ergänzen oder zu modifizieren, und ruft sodann die Befehlsaufzeichnungsfunktion oder die MACRO-Aufzeichnungsfunktion auf. Um beispielsweise zur Position 1 in Fig. 5 zurückzukehren, kann eine einzelne Zeile des Menüs für das Tabellenkalkulations-Anwendungsprofil wie folgt gelesen werden:
  • ANWENDEBAKTION
  • KREIS-GESTENBEWEGUNG
  • STEUERBEFEHL
  • Aufruf der Pop-up-Tastatur
  • am Berührungssensor
  • Wenn der Anwender die Eingabeinformation von einer Kreis-Gestenbewegung in eine rechtsläufige Pfeilbewegung ändern möchte, bewegt er den Cursor in das Anwender-Aktionsfeld und wählt "USER ACTION" aus dem Menü. Der Anwender wird veranlaßt, die Bedienungsmaßnahme auszuführen, durch die er die Pop-up-Tastatur aufrufen möchte, und wird sodann weiter veranlaßt, eine Textbeschreibung der Bedienungsmaßnahme hinzuzufügen, die im Menü angezeigt werden soll. Möchte der Anwender in ähnlicher Weise das durch eine Kreis-Gestenbewegung aufgerufene MACRO ändern, so bewegt er den Cursor in das MACRO-Feld und gibt den Namen des MACROs ein, das ausgeführt werden soll.
  • Der Anwender erzeugt ein neues Profil in ähnlicher Weise wie bei der Modifizierung eines vorliegenden Profils. Zunächst ist der Cursor in ein leeres Anwenderaktionsfeld zu bewegen, "USER ACTION" in dem Menü auszuwählen, wenn dies abgeschlossen ist, der Cursor in das entsprechende Macrofeld zu bewegen, ein MACRO-Name oder ein anderer Befehl einzugeben, und so fort, bis das Profil vollständig ist. Somit ergibt-sich für einen relativ ungeübten Anwender eine relativ unkomplizierte Prozedur, um die Profile der hochentwickelten Anwenderschnittstelle für jene Anwendungsprogramme zu erstellen, die er sich ausgewählt hat, damit sie ihm die Eingabe von Daten in ein Computersystem auf eine vorteilhafte Art und Weise ermöglichen.
  • Ein MACRO kann unabhängig von der Aufstellung eines Anwenderoder Anwendungsprofils erstellt werden. Im "Presentation Manager 56 gibt es beispielsweise drei zusammenwirkende Dienstprogramme, die es dem Anwender gestatten, ein MACRO zu erstellen, ein MACRO zu modifizieren und auch ein MACRO ablaufen zu lassen.
  • Das MACRO-Erstellungs-Dienstprogramm (MCU) ist ein Programm des "Presentation Manager", das als Übungs-, bedienergeführtes oder vollständig unsichtbares Dienstprogramm installiert werden kann. Es kann von dem standardmäßigen Programmlader oder über eine bestimmte Gestenbewegung oder ein anderweitiges Eingabesignal aufgerufen werden. Seine Aufgabe besteht darin, die Befehlsabfolge des Anwenders für einen künftigen Wiederablauf aufzuzeichenen. Der Anwender startet nur das MCU, führt die gewünschte Abfolge von Operationen aus und stoppt dann das MCU. Das MCU fordert dann den Anwender zur Mitteilung der erforderlichen Information wie z.B. des Namens des MACROs auf. Ist das MACRO einmal benannt, kann der Anwender die Verwendung dieses MACROs steuern, indem er in beliebigen seiner Anwendungsprofile oder in seinem Anwenderprofil auf dieses MACRO Bezug nimmt.
  • Das MACRO-Modifizierungs-Dienstprogramm (MMU) ist ein Programm des "Presentation Managers", welches dem Anwender über ein zuvor erstelltes Macro einen einzelnen Schritt ermöglicht. Das MMU bringt eine englischsprachige Beschreibung eines jeden Schritts in dem Macro zur Anzeige, bevor dieses zum Ablauf gelangt. An einem beliebigen Punkt des Wiederablaufs kann der Anwender einen oder mehrere Befehle in dem Macro abändern. Die Modifikation kann (für den erfahrenen Macro-Schreiber) durch Überarbeiten des Inhalts des in englischer Sprache gehaltenen Fensters oder durch Einschalten der Aufzeichnungsfunktion, um früher gespeicherte Befehle zu überschreiben, erfolgen. Das MMU gestattet dem Anwender, MACROs rasch zu testen, Fehler in MACROs zu beseitigen und MACROs zu modifizieren. Es versetzt den Anwqnder auch in die Lage, MACROs durch Modifizierung bereits vorliegender MACROs zu erstellen, die bereits das meiste von dem leisten können, was der Anwender benötigt.
  • Das Macro-Ausführungs-Dienstprogramm (MEU) ist ein Programm des "Presentation Manager", welches eine Macro-Wiedergabe mit voller Geschwindigtkeit gewährleistet. Das MEU kann durch die Umgebungsverbindungseinheit 101 aufgerufen werden, sobald der Anwender die entsprechende Gestenbewegung ausführt. Wird beispielsweise eine linksgängige Gestenbewegung erkannt, so vergewissert sich die Umgebungsverbindungseinheit 101 in dem laufenden Anwenderprofil, ob diese Gestenbewegung "generell" gesperrt ist. Ist dies nicht der Fall, so ermittelt die Umgebungsverbindungseinheit 101 den Namen der aktiven Anwendung und liest das entsprechende Anwendungsprofil, um zu ermitteln, welches MACRO (falls eines vorhanden ist) an die linksgängige Pfeil-Gestenbewegung für diese Anwendung gebunden ist. Die Umgebungsverbindungseinheit 101 ruft dann, sofern erforderlich, das MEU auf.
  • Mit Bezug auf ein Berührungseingabegerät, das an die Stelle eines Mauszeigegerats getreten ist, wird ein Beispiel für ein Standard-Anwenderprofil beschrieben. Da viele Programme eine Mauseingabe erkennen, könnte eine große Anzahl von Anwendungsprogrammen unter Verwendung dieses Standardprofils betrieben werden.
  • In diesem Beispiel kann die hochentwickelte Anwenderschnittstelle in einen Modus aus einer Vielzahl von Funktionszuständen versetzt werden, die bestimmen, welche mausäquivalenten Befehle in dem Anwenderprofil im Ergebnis von Griffel- oder Fingeraktionen gefunden werden. Wenn sich das AUI im Modus eins befindet, entstehen durch einen Berührungskontakt keine Maustasten-Informationen, vielmehr erzeugt dieser Mausbewegungs-Steuerbefehle, während ein Finger oder ein Griffel in dem Berührungsfeld bewegt werden. Nach dem Abheben des Griffels wird eine Tastenbetätigungs- Tastenfreigabe-Befehlssequenz an das Anwendungsprogramm gesendet. Modus eins gestattet eine exakte Positionierung des Cursors, ehe ein Arbeitsschritt durch die aktive Anwendung ausgeführt wird. Befindet sich die hochentwickelte Anwenderschnittstelle in Modus zwei, werden durch einen Berührungskontakt keinerlei Maustasten-Steuerbefehle erzeugt; durch Bewegen des Griffels werden Mausbewegungsinformationen erzeugt, und nach einem Abheben wird ein Maus-Doppelklick erzeugt. Wenn sich das AUI in Modus drei befindet, werden auf einen Berührungskontakt hin ein Maustastenbetätigungsbefehl und nach dem Abheben des Griffels ein Maustastenfreigabebefehl erzeugt. Der Modus drei erweist sich für das Ziehen von Bildschirmobjekten (Icons etc.), für eine Dimensionierung von Fenstern sowie eine Markierung von Flächen in einer Windows-Benutzeroberfläche als nützlich (z.B. Markieren von Text, der bewegt werden soll) . Diese Arbeitsweisen können manuell durch wiederholtes Berühren des Berührungsfeldes an einem Icon, das anzeigt, in welchem Modus sich das AUI befindet, oder automatisch durch das Anwendungsprofil ausgewählt werden.
  • Zweites Ausführungsbeispiel
  • Fig. 6 zeigt ein anderes Ausführungsbeispiel der hochentwickelten Anwendungsschnittstelle, in dem der "Presentation Manager" 156 als integrierte Betriebsumgebung verwendet wird, und OS/2 154 ist das auf dem Computersystem laufende Betriebssystem. Wegen der Besonderheiten des OS/2 154 und des "Presentation Managers" 156, ist hier ein etwas abweichender Aufbau der hochentwickelten Anwenderschnittstelle 200 erforderlich. OS/2 verfügt über ein einzelnes Warteschlangen-Modul, das sämtliche Eingaben mit einer Zeitmarke versieht, und das fordert, daß alle Eingaben in diesem-Modul in der Reihenfolge in eine Warteschlange aufgenommen werden, in der sie dem Computersystem übermittelt wurden. Daher müssen sämtliche der wechselnden Eingabegeräte über das OS/2 154 geführt werden, ehe sie von dem Umgebungs-Verbindungsmodul PM-Link 201 verarbeitet werden können. Darüber hinaus gestattet die vorliegende Implementierung des Merkmals der einzelnen Warteschlange lediglich eine Tastatur- und Mauseingabe, verarbeitet aber nicht die Eingaben aus einem Berührungseingabegerät oder anderen wahlweisen Eingabegeräten.
  • Diese Einschränkungen führen zu der in Fig. 6 gezeigten Gestaltung einer hochentwickelten Anwenderschnittstelle. Sämtliche Eingabegeräte wie Tastatur 130, Oerät C 132, Gerät D 134, Gerät E 136 und Gerät F 138 laufen über OS/2 154, um der einzelnen Warteschlange des OS/2 154 hinzugefügt zu werden. Die Tastatur 130 läuft unmittelbar über einen Standard-Gerätetreiber zum OS/2 154. Gerät C 132, Gerät D 134, Gerät E 135 und Gerät F 138 laufen entsprechend über den gerätespezifischen Code 141, 142, 143 bzw. 144 zu dem Alternativ-Eingabesubsystem 203, ehe sie an die einzelne Warteschlange des OS/2 weitergereicht werden. Da die einzelne Warteschlange nur eine Tastatur- oder Mauseingabe verarbeitet, überführt das Alternativ-Eingabesubsystem 203 die Eingabesignale von Gerät C 132, Gerät 134, Gerät 136 und Gerät 138 in Maus- oder Tastatur-Eingabeinformatione.n Da darüber hinaus das OS/2 154 Berührungs-, Sprach- oder Bild-"Token" nicht als Eingabeinformationen verarbeitet, werden alle diese Eingaben als eine Reihe von Mausbewegungspunkte oder andere "Ereignisse" hindurchgereicht. Das OS/2 leitet die Eingabeinformationen dann an den "Presentation Manager" 156 weiter, der hinsichtlich des aktiven Anwendungsprogramms auf dem laufenden ist.
  • In Fig. 6 wirkt die PM-Kopplungseinheit 201, das Umgebungsverbindungsmodul der hochentwickelten Anwenderschnittstelle 200, als ein Filter zwischen dem "Presentation Manager" 156 und den Anwendungsprogrammen, nämlich der Anwendung E 150, der Anwendung F 151, der Anwendung G 152 sowie der Anwendung H 153. Nach dem Erhalt einer Eingabeinformation vom "Presentation Manager" 156 zusammen mit einer Information darüber, welches das aktive Anwendungsprogramm ist, veranlaßt die PM-Kopplungseinheit 201 eine Rückfrage bei dem Alternativ-Eingabesubsystem 203, um zu ermitteln, ob es sich bei der erhaltenen "Tastatur"- oder "Maus"-Information tatsächlich um eine Tastatur- oder Mausinformation oder eher um eine Berührungs-, Sprach-, Bild- oder noch eine andere Information handelt. Die PM-Kopplungseinheit 201 reicht sodann die richtige Information an das passende Anwendungsprogramm weiter. Die übrigen Module der hochentwickelten Anwenderschnittstelle 200 werden solange nicht aufgerufen, bis das aktive Anwendungsprogramm anzeigt, daß die richtige Eingabeinformation nicht verstanden wird. Wenn die aktive Anwendung anzeigt, daß die richtige Eingabeinformation nicht verstanden wird, veranlaßt die PM-Kopplungseinheit 201 eine Rückfrage bei dem Schnittstellenprofilmodul 204, um den zutreffenden Steuerbefehl zu ermitteln. Wenn die wahre Eingabeinformation erkennen läßt, daß es sich um ein Gesten-, Zeichen-, Sprach- oder Bild-"Token" handelt, sendet die PM-Kopplungseinheit die Eingabeinformation an die geeignete Erkennungseinheit, um das Token zu kennzeichnen, und sucht sodann die Schnittstellenprofile 204, um den richtigen Steuerbefehl zu ermitteln.
  • Das Flußdiagramm in Fig. 7 beschreibt die Arbeitsweise des Computersystems in Fig. 6 in seiner Reaktion auf ein Spracheingabesignal. Das aktive Anwendungsprogramm ist das Tabellenprogramm 150, und auf dem Bildschirm 28 wird dem Anwender gleichzeitig mit einem Term möglicher, dem Anwender zur Verfügung stehender Funktionen eine Matrix ausgewählter Daten angezeigt. Anstatt die Tastatur 130 zu verwenden, entscheidet sich der Anwender für eine Eingabe von Daten unter Verwendung einer anderen Eingabevorrichtung, nämlich eines Sprachsensors 136. In Reaktion auf eine Artikulation des Worts "Graph" durch den Anwender erzeugt der Sprachsensor 136 elektrische Signale und ruft hierdurch den passenden gerätespezifischen Code 144 bei 221 auf. Der gerätespezifische Code an 223 sendet dann eine Reihe von Eingabesignale, die dem Wort "Graph" entsprechen, an das Alternativ-Eingabesubsystem 203. Das AIS 203 übersetzt die Eingabesignale in eine Reihe von Tastatur- oder Maus-Eingabeinformationen, die der einzelnen Warteschlange des OS/2 154 bei 225 hinzugefügt werden sollen. Nachdem der Datenstrom der Eingabeinformationen mit Zeitmarken versehen wurde, reicht das OS/2 diese an den "Presentation Manager" 156 weiter, der die Einstellung des Anwenders verfolgt und die Eingabeinformationen an das aktive Anwendungs- Programm, nämlich das Tabellenprogramm 150 weiterleitet
  • Die PM-Kopplungseinheit 201 fängt die Information an das aktive Anwendungsprogramm bei 227 auf und nimmt Bezug auf das Alternativ-Eingabesubsystem 203, um festzustellen; ob die richtigen Eingabeinformationen aus einem Satz von Spracheingabeinformationen bei 229 bestehen, und sendet die richtigen Eingabeinformationen, nämlich die Spracheingabe, an das Tabellenprogramm 150 bei 231.
  • Nachdem die PM-Kopplungseinheit 201 die wahre Spracheingabeinformation übertragen hat, reagiert das Anwendungsprogramm mit seiner eigenen Information bei 233, und eines von zwei Dingen können in Erscheinung treten: Wenn die Anwendung die Art der übermittelten Eingabeinformation nicht versteht, sendet sie eine "RO"-Information an die PM-Kopplungseinheit 201 bei 233 zurück, die anzeigt, daß sie die Eingabeinformation nicht versteht. Die PM-Kopplungseinheit 201 würde in Reaktion auf eine RO-Information normalerweise mit den Schnittstellenprofilen 204 in Verbindung treten, um den entsprechenden Befehl in den passenden Anwendungsprofilen 205 bei 241 sowie dem Anwenderprofil 207 bei 243 zu ermitteln. Da jedoch die Eingabeinformationen zu erkennen geben, daß es sich bei ihnen um eine Spracheingabe bei 237 handelt, sendet die PM-Kopplungseinheit 201 die Eingabeinformationen zuerst an die Spracherkennungseinheit 215, um den richtigen Spracheingabe-Token für das Wort "GRAPH" zu erhalten. Nach dem Erhalt dieses Tokens bei 239 sucht die PM-Kopplungseinheit 201 zuerst im Anwendungsprofil 205 des Tabellenprogramms 150 bei 241 den entsprechenden Befehl zu der Eingabeinformation zu finden, der von dem Tabellenprogramm 150 erkannt wird, d.h. die Menüauswahl --graph--. Die PM-Kopplungseinheit 201 veranlaßt dann eine Rückfrage bei dem Anwenderprofil 207 des momentanen Anwenders bei 243. Die PM-Kopplungseinheit 201 ermittelt daraufhin, welches Profil den Steuerbefehl mit der höheren Priorität für das Tabellenprogramm 150 bei 243 aufweist und sendet dann den Befehl mit der höheren Priorität an das Tabellenprogramm 150 bei 247. Das Tabellenprogramm führt daraufhin die geeignete Aktion bei 249, in diesem Fall die grafische Darstellung der gerade ausgewählten Daten und den Wechsel der dem Anwender über den Bildschirm 28 angezeigten Informationen aus.
  • Wenn das Tabellenprogramm 150 andererseits eine Spracheingabe entschlüsseln oder anderweitig eine Spracheingabe feststellen kann, so wird eine "R1"-Information an die PM-Kopplungseinheit 201 bei 233 gesendet. Die PM-Kopplungseinheit 201 würde dann keine weitere Aktion für die augenblickliche Information ausführen. Solange das Tabellenprogramm 150 von einer Spracheingabe Kenntnis hat, kann es auch d£e Wahl treffen, die Spracheingabe unter bestimmten Umständen oder in bestimmten Zeitabschnitten während des Anwendungsprogramms zu ignorieren. Wahlweise kann die festgestellte Anwendung 150 einiges der Spracheingabe verstehen, anderes wiederum nicht, und eine RO-Information immer dann an die PM-Kopplungseinheit 201 bei 233 zurücksenden, sobald sie eine bestimmte Spracheingabeinformation nicht versteht. Für solche Spracheingabeinformationen, für die sie eine "RO"-Information erhalten hat, würde die PM-Kopplungseinheit 201 die Spracheerkennungseinheit 215 sowie die Schnittstellenprofile 204, wie im einzelnen weiter oben dargelegt, befragen.
  • In dem Ausführungsbeispiel von Fig. 6 sind die Schriftzeichenerkennung 211 und die Gestenerkennungseinheit 213 Teil der hochentwickelten Anwenderschnittstelle 200. Sobald die PM-Kopplungseinheit 201 eine Eingabeinformation erhält, die ein Schriftzeichen oder eine Gestenbewegung sein könnte, sendet sie den Punktesatz an die Schriftzeichenerkennungseinheit 211. Wenn die Schriftzeichenerkennungseinheit 211 die Punktemenge als alphanumerisches Zeichen erkennt, ist dieses Zeichen identifiziert und wird an die PM-Kopplungseinheit 201 zur weiteren Verarbeitung in dem aktiven Anwendungsprogramm zurückgesandt. Wird die Punktemenge nicht als ein Schriftzeichen erkannt, so wird sie der Gestenerkennungseinheit 213 übermittelt, um festzustellen, ob sich die Punktemenge als eine Gestenbewegung identifizieren läßt. Wird sie als eine Gestenbewegung erkannt, so übermittelt die PMKopplungseinheit 201 die Geste an das Schnittstellenprofil 204, um den Befehlssatz zu finden, der dem aktiven Anwendungsprogramm von dem passenden Anwendungsprofil 205 oder dem Anwenderprofil 207 zuzusenden ist. Wird die Punktemenge weder als Schriftzeichen noch als Gestenbewegung erkannt, so entscheidet die PM- Kopplungseinheit 201, daß es sich bei der Eingabeinformation vermutlich um eine Maus-Information gehandelt hat, und erzeugt eine "Maustastenbetätigungs-Maustastenfreigabe- "Information am letzten Punkt der Punktemenge.
  • Als Alternative zu dem oben beschriebenen Standard-Anwenderprofil, wo verschiedene Betriebsarten zur Anwendung kamen, um festzustellen, welcherart mausäquivalente Befehle durch Anwenderaktionen auf dem Berührungsfeld erzeugt werden, kann die vorliegende Erfindung innerhalb der PM-Kopplungseinheit 201 ein Computermodul enthalten, das dazu dient, zwischen einer Berührungseingabe, die ein Maustastenbetätigungs-Ereignis, ein Mausbewegungs-Ereignis oder ein Maustastenfreigabe-Ereignis emuliert, und jener Berührungseingabe zu unterscheiden, die als eine Gestenbewegung oder ein Schriftzeichen angesehen werden kann. Dies geschieht durch Anwendung einer Zeitverzögerung, um zwischen den zwei Arten einer Berührungseingabe unterscheiden zu können. Die hochentwickelte Anwenderschnittstelle 200 ermöglicht es dem Anwender, den Bildschirm zu berühren und zu der gewünschten Position zu gehen, ehe der Anwendung das Ereignis durch Unterbringung sämtlicher vom Berührungssensor erhaltenen Punkte in einem Pufferspeicher angezeigt wird, den entweder das Griffelabheben oder der Griffel an einem bestimmten Punkt für die vorgegebene Verzögerungszeit verzögert hat. Sobald der Anwender die gewünschte Position erreicht hat und die Bewegung für die vorgegebene Verzögerungszeit unterbricht, erhält das Anwendungsprogramm das Ereignis über die PM-Kopplungseinheit 201 in Form eines Maus-Ereignisses. Wenn beispielsweise der Anwender den Bewegungsvorgang für 200 Millisekunden unterbricht, wird dem Anwendungsprogramm an der gewünschten Position ein Maustastenbetätigungs-Maustastenfreigabe-Ereignis mitgeteilt. Beginnt der Anwender den Bewegungsvorgang jedoch erneut, ehe der vorgegebene Zeitabschnitt beendet ist, so wird das Ereignis solange nicht erzeugt, bis der Anwender nochmals abstoppt und für die Dauer der Verzögerungszeit pausiert. Die Verzögerungszeit ist typischerweise in Millisekunden definiert und kann in Abhängigkeit von der Bildschirmfläche, mit der sich der Anwender im Dialog befindet, variiert werden. Die Verzögerungszeit kann vom Anwender im Anwenderprofil 207 vorgegeben oder durch das Anwendungsprogramm, welches von der Berührungseingabe Gebrauch macht, geändert werden.
  • Wenn der Anwender andererseits nicht an einem speziellen Punkt für die vorgegebene Dauer der Verzögerungszeit anhält und stattdessen den Griffel vom Berührungsbildschirm abhebt, wählt die hochentwickelte Anwenderschnittstelle den Satz Eingabepunkte als Anwärter für eine Schriftzeichen- oder Gestenerkennung aus. Mit anderen Worten, die Zeitverzögerung stellt ein zeitmäßiges Fenster bereit, in dem Gestenbewegungen ausgeführt werden können. Während dieser Zeitspanne gestattet die hochentwickelte Anwenderschnittst, eile 200 allein die Ausführung von Gestenbewegungen. Wenn der Anwender den Zeitverzögerungsabschnitt abwartet, ehe er abhebt, werden die erfaßten Punkte nicht zu Anwärtern für eine Gestenbewegung, sondern für Maus-Ereignis. Wenn der Anwender abhebt, ehe die Zeitverzögerungsperiode abgelaufen ist, wird ein Versuch unternommen, den Satz Eingabepunkte in der Schriftzeichenerkennungseinheit 211 oder in der Gestenerkennungseinheit 213 als eine Gestenbewegung oder ein Schriftzeichen zu erkennen. Wird er nicht erkannt, so wird dennoch die normale Maus-Emulationssequenz erzeugt: Maustastenbetätigung, Maustastenfreigabe am letzten Eingabepunkt in dem betreffenden Punkteset. Wird der Satz Eingabepunkte erkannt, so bezieht sich die PM-Kopplungseinheit 201 auf die Schnittstellenprofile 204, um die passenden Befehle an das aktive Anwendungsprogramm zu übermitteln.
  • Die Erkennung einer vom Anwender auf der Fläche des Berührungssensors 134 gezeichneten Kreis-Gestenbewegung wird unter Bezugnahme auf Fig. 8 weiter unten beschrieben. Ein Anwender, der sich entschieden hat, das Pop-up-Tastatur- Dienstprogramm in dem Dienstprogramm-Modul der hochentwickelten Anwenderschnittstelle 209 aufzurufen, zeichnet einen Kreis auf der Fläche des Berührungssensors 134 und hebt den Griffel vor Ablauf der vorgegebenen Zeitverzögerung ab. Der Berührungssensor 134 erzeugt eine Reihe Interrupts zum gerätespezifischen Code 142 bei 261, der eine Gruppe von Eingabesignalen zu dem AIS 203 entsprechend der Gruppe von Punkten in dem Kreis bei 263 weiterleitet. Das AIS übersetzt die Eingabesignale in Maus-Eingabeinformationen, die durch die einzelne Warteschlange im OS/2 154 bei 265 verarbeitet werden sollen. Die Eingabeinformationen werden durch den "Presentation Manager" 156 dem aktiven Anwendungsprogramm, des Tabellenprogramms 150, übermittelt, jedoch zunächst von der PM-Kopplungseinheit 201 bei 267 aufgefangen. Die PM-Kopplungseinheit 201 fragt sodann das AIS 203 ab und stellt fest, daß es sich bei den "Maus"-Eingabeinforrnationen tatsächlich um eine Berührungseingabe bei 269 handelt.
  • Wenn die PM-Kopplungseinheit 201 den ersten Berührungseingabepunkt, gewöhnlich einen Berührungskontakt am Sensor 134, feststellt, nimmt es für die Zeitverzögerungsperiode, die durch den Anwender bei 271 gewählt wurde, Bezug auf das Anwenderprofil 207. Bei 273 sammelt die PM-Kopplungseinheit 201 die Berührungseingabepunkte in ihren Tastenanschlagspuffer, bis das mit dem Abheben des Griffels verbundene Ereignis festgestellt ist. In dem Maße, wie die PM-Kopplungseinheit 201 die Berührungseingabepunkte ansammelt, beginnt jedesmal, wenn der Anwender an dem Berührungssensor im Aufsetzen innehält und hierdurch eine "Periode der Stabilität" bei 275 hervorruft, die PM-Kopplungseinheit 201 die zeitliche Steuerung der Periode der Stabilität, um festzustellen, ob die Zeitverzögerungsperiode 277 abgelaufen ist. Bewegt der Anwender (den Griffel), ehe die Zeitverzögerungsperiode abgelaufen ist, so setzt die PM-Kopplungseinheit 201 die Sammlung der Berührungseingabepunkte im Aufsetzen bei 273 fort. Wenn jedoch die Stabilitätsperiode über die Zeitverzögerung hinausreicht, wird ein Maustastenbetätigungs-Maustastenfreigabe Befehl bei 281 erzeugt. In diesem Beispiel legt der Anwender keine Pause ein, bevor er den Griffel abhebt, daher wird der Anschlag an die Schriftzeichenerkennungseinheit 211 sowie die Gestenerkennungseinheit 213 zur weiteren Verarbeitung bei 279 übermittelt. Würde der Berührungseingabeanschlag weder als Gestenbewegung noch als Schriftzeichen erkannt, so würde ein Maustastenbetätigungs-Maustastenfreigabe-Befehl bei 281 erzeugt.
  • Von der Gestenerkennungseinheit 213 als eine Kreis-Gestenbewegung erkannt, wird eine solche von der PM-Kopplungseinheit 201 an das Tabellenprogramm 150 weitergereicht. Das Tabellenprogramm sendet eine "RO"-Inforrnation an 285 zurück, die anzeigt, daß die Kreis-Gestenbewegung nicht verstanden wurde. Da nun die Kreis- Gestenbewegung an 287 nicht verstanden wurde, nimmt das PM-Kopplungsglied 201 Bezug auf das Anwendungsprofil 205 für das Tabellenprogramm 150 an 289 und findet keinen entsprechenden Befehl für die Kreis-Gestenbewegung. Das PM-Kopplungsglied 201 nimmt sodann Bezug auf das Anwenderprofil 207 bei 291, das den entsprechenden Befehl "rufe die Pop-up-Tastatur auf" enthält. Da der Befehl von dem Anwenderprofil 207 die höchste Priorität bei 293 aufweist, sendet das PM-Kopplungsglied 201 diese Information an den AUI-Dienstprogramm-Modul 209 bei 295, und die Pop-up-Tastatur wird dem Anwender auf dem Bildschirm angezeigt.
  • Während die vorliegende Erfindung unter Bezugnahme auf spezielle Ausführungsbeispiele beschrieben wurde, liegt es für den Durchschnittsfachmann auf der Hand, daß Änderungen in der Form und im Detail vorgenommen werden können, ohne vom Bereich der Erfindung abzuweichen, wie er in den angefügten Ansprüchen definiert ist. Während beispielsweise Gesten- und Schriftzeichenerkennung ausgehend von einem Berührungseingabegerät erörtert wurden, kann auch ein anderes Zeigeeingabegerät, wie z.B. eine Maus oder ein Graphiktablett, verwendet werden, um der hochentwickelten Anwenderschnittstelle Gesten oder Schriftzeichen zu übermitteln. Während darüber hinaus spezielle Anwendungsprogramme, integrierte Betriebsumgebungen und Eingabegeräte besondere Erwähnung fanden, kann die Flexibilität der hochentwickelten Anwenderschnittstelle sowohl weitere Fortschritte als auch bereits vorliegende Realisierungen dieser Programme und Geräte anpassen. Die dargebotenen Ausführungsbeispiele dienen lediglich Zwecken einer beispielhaften Erläuterung und Veranschaulichung und, sollen nicht dazu herangezogen werden, den Bereich der Erfindung enger zu begrenzen, als dies durch den Bereich der angefügten Ansprüche gegeben ist.

Claims (16)

1. Hochentwickelte Anwenderschnittstelle (100) zur Verwendung mit einer integrierten Betriebsumgebung (56), die geeignet ist, eine Vielzahl von Anwendungsprogrammen (A50, B51, C52, D53) gleichzeitig auf einem Computersystem ablaufen zu lassen, von denen lediglich eines zu einem gegebenen Zeitpunkt aktiv ist, wobei däs Computersystem über einen zentralen Prozessor, einen Direktzugriffsspeicher (Speicher mit wahlfreiem Zugriff), eine Bildschirrnanzeige und mindestens ein Eingabegerät (32; 34; 36; 40) verfügt, das in Reaktion auf von einem Anwender ausgeführte Bedienungshandlungen Eingabesignale an die hochentwickelte Anwenderschnittstelle übermittelt, und folgendes umfaßt:
ein an das Eingabegerät angeschlossenes Alternativ- Eingabesubsystem-Modul (103), das die Eingabesignale in Eingangsinformationen umsetzt;
Schnittstellenprofile (104), die Auflistungen (tabellarische Verzeichnisse) der Eingangsinformationen gegen entsprechende Befehle enthalten, welche von mindestens einem der Vielzahl der Anwendungsprogramme genutzt werden können; und
ein mit dem Alter nativ-Eingabesubsystem, den Schnittstellenprofilen (104) sowie der integrierten Betriebsumgebung (56) gekoppeltes Umgebungs-Verbindungsmodul (101), wobei das Umgebungs-Verbindungsmodul (101) die Eingangsinformationen empfängt, diese an die entsprechenden, in den Schnittstellenprofilen (104) enthaltenen Befehle für das Anwendungsprogramm, welches zu dem Zeitpunkt aktiv war, an dem die Eingabesignale von dem Eingabegerät übermittelt wurden, anpaßt und die entsprechenden Befehle an ein geeignetes Computerrnodul in dem Speicher mit wahlfreiem Zugriff übermittelt;
wobei das Computersystem eine gegebene Operation in Reaktion auf Anwender-Bedienungshandlungen, die sich von den Anwenderaktionen unterscheiden, für die das aktive Anwendungsprogramm ursprünglich geschrieben wurde, ohne eine Änderung an dem Anwendungsprogramm ausführt.
2. Hochentwickelte Anwenderschnittstelle nach Anspruch 1, worin die Schnittstellenprofile (104) mindestens ein Anwendungsprofil für jedes Anwendungsprogramm der Vielzahl von Anwendungsprogrammen umfassen, das Auflistungen (tabellarische Verzeichnisse) von Eingangsinformationen gegen die entsprechenden, durch das Anwendungsprogramm nutzbaren Befehle enthält.
3. Hochentwickelte Anwenderschnittstelle nach Anspruch 1 oder 2, worin die Schnittstellenprofile (104) desweiteren ein Anwenderprofil umfassen, welches Auflistungen (tabellarische Verzeichnisse) von Eingangsinformationen gegen die entsprechenden, durch mehr als einem Anwendungsprogramm der Vielzahl von Anwendungsprogrammen nutzbaren Befehle enthält.
4. Hochentwickelte Anwenderschnittstelle nach Anspruch 3, worin mindestens einer der entsprechenden, in dem Anwenderprofil enthaltenen Befehle mindestens einen der entsprechenden, in der Vielzahl der Anwendungsprogramme enthaltenen Befehle aufhebt.
5. Hochentwickelte Anwenderschnittstelle nach Anspruch 3, worin mindestens einer der entsprechenden, in dem Anwenderprofil enthaltenen Befehle ein Standardbefehl ist, der nur dann ausgegeben wird, wenn das Anwendungsprofil des aktiven Anwendungsprogramms über keine entsprechende Anweisung zu der Eingangsinformation verfügt.
6. Hochentwickelte Anwenderschnittstelle nach einem der Ansprüche 1 bis 5, worin eine Vielzahl von Eingabegeräten (32, 34, 36, 38, 40) an das Alternativ-Eingabesubsystem- Modul (103) angeschlossen ist, wobei die Vielzahl der Eingabegeräte beispielweise ein Berührungseingabegerät, eine Spracherkennungseinheit, eine Bilderkennungseinheit und/oder eine Maus sowie eine Tastatur umfaßt.
7. Hochentwickelte Anwenderschnittstelle nach Anspruch 6, die desweiteren eine zweite Vielzahl von Eingabegeräten umfaßt, welche mit der integrierten Betriebsumgebung (56) durch Standard-Gerätetreiber verbunden sind, worin mindestens eines der Eingabegeräte der zweiten Vielzahl auch an die hochentwickelte Anwenderschnittstelle angeschlossen ist.
8. Hochentwickelte Anwenderschnittstelle nach Anspruch 6 oder 7, worin die Schnittstellenprofile Auflistungen (tabellarische Verzeichnisse) von Eingangsinformationen aus einem Eingabegerät enthalten, welches sich von den Eingabegeräten unterscheidet, für das die Vielzahl von Anwendungsprogrammen ursprünglich geschrieben wurde.
9. Verfahren zum Betreiben eines Computersystems mit einer Vielzahl von Anwendungsprogrammen (A50, B51, C52, D53), die in einer integrierten Betriebsumgebung (56) unter Einsatz einer hochentwickelten Anwenderschnittstelle (100) ablaufen, wobei die hochentwickelte Anwenderschnittstelle über ein Alternativ-Eingabesubsystem (103), das Eingabesignale von mindestens einem Eingabegerät in Eingangsinformationen überführt, sowie desweiteren über Schnittstellenprofile (104) verfügt, die Auflistungen der Eingangsinformationen gegen entsprechende Befehle durch mindestens ein Anwendungsprogramm der Vielzahl der Anwendungsprogramme umfassen, folgende Schritte umfassend:
Empfang der von mindestens einem Eingabegerät in Reaktion auf von einem Anwender äusgeführte Bedienungsmaßnahmen ausgesandten Eingabesignale;
Überführung der Eingabesignale in eine Eingangsinformation;
Ermittlung, welches der Anwendungsprogramme zu dem Zeitpunkt, an dem die Eingabesignale übertragen wurden, aktiv war;
Finden eines der Eingangsinformation entsprechenden Befehls in den Schnittstellenprofilen für das aktive Anwendungsprogramm; und
Absenden des entsprechenden Befehls an ein geeignetes Computermodul in dem Direktzugriffsspeicher;
wobei das Computersystem eine gegebene Operation in Reaktion auf Bedienungsmaßnahmen des Anwenders ausführt, die sich von den Bedienungsmaßnahmen des Anwenders ünterscheiden, für die das aktive Anwendungsprogramm ursprünglich geschrieben wurde, ohne an dem aktiven Anwendungsprogramm etwas zu ändern.
10. Verfahren zum Betreiben eines Computersystems nach Anspruch 9, worin:
die Empfangs- und Übertragungsschritte durch das Alternativ-Eingabesubsystem (103) ausgeführt werden;
der Ermittlungsschritt durch das Umgebungs-Verbindungsmodul (101) mittels Abfrage der integrierten Betriebsumgebung ausgeführt wird; und
die Schritte des Auffindens und Absendens durch das Ümgebungs-Verbindungsmodul ausgeführt werden.
11. Verfahren zum Betreiben eines Computersystems nach Anspruch 9 oder 10, worin der Schritt des Auffindens noch die folgenden Schritte umfaßt:
Auffinden eines entsprechenden Befehls zu den Eingangsinformationen in einem Anwendungsprofil für die aktive Anwendung;
Auffinden eines entsprechenden Befehls zu den Eingangsinformationen in einem Anwenderprofil für den am Computersystem arbeitenden Anwender; und
Feststellen, welchem entsprechenden Befehl die höhere Priorität zukommt.
12. Verfahren zum Betreiben eines Computersystems nach einem der Ansprüche 9, 10 oder 11, worin der entsprechende Befehl an das aktive Anwendungsprogramm und/oder an ein Dienstprogramm-Modul der hochentwickelten Anwenderschnittstelle gesendet wird.
13. Verfahren zum Betreiben eines Computersystems nach einem der Ansprüche 9 bis 12, desweiteren umfassend den Schritt der Erzeugung eines Befehls an die hochentwickelte Anwenderschnittstelle in Reaktion auf Bedienungsmaßnahmen des Anwenders an der Fläche eines Berührungs-Eingabegeräts durch
Erfassung der Berührungs-Eingabepunkte in dem Maße, wie der Anwender eineh Griffel quer über die Fläche des Berührungs- Eingabegeräts bewegt;
Starten der Zeitsteuerung einer Periode der Stabilität in Reaktion auf ein Pausieren des Anwenders an einem gegebenen Punkt auf der Fläche des Berührungs-Eingabegeräts, in der der Anwender den Griffel nicht von dem gegebenen Punkt wegbewegt, und
Erzeugung eines Mausbefehls an das Computersystem an dem gegebenen Punkt in Reaktion auf eine einen vorbestimmten Zeitabschnitt überschreitende Periode der Stabilität.
14. Verfahren nach den Ansprüchen 9 bis 13, desweiteren den folgenden Schritt umfassend:
Erkennen der Berührungs-Eingabepunkte als eine Gestenbewegungs-Eingabeinformation, wenn eine den vorbestimmten Zeitabschnitt überschreitende Stabilitätsperiode fehlt, ehe der Anwender den Griffel von der Fläche des Berührungs-Eingabegeräts abhebt.
15. Verfahren nach den Ansprüchen 9 bis 14, desweiteren den folgenden Schritt umfassend:
Erkennen der Berührungs-Eingabepunkte als eine Schriftzeichen-Eingabeinformation, wenn eine den vorbestimmten Zeitabschnitt überschreitende Stabilitätsperiode fehlt, ehe der Anwender den Griffel von der Fläche des Berührungs-Eingabegeräts abhebt.
16. Verfahren nach einem der Ansprüche 9 bis 15, desweiteren die folgenden Schritte umfassend:
Auffinden eines entsprechenden Befehls zu der Gestenbewegungs-Eingabeinformation in den Schnittstellenprofilen, die Auflistungen (tab. Verzeichnisse) von Eingabeinformationen gegen entsprechende Befehle enthalten; und
Absenden des entsprechenden Befehls an ein geeignetes Computermodul in einem Direktzugriffsspeicher des Computersystems.
DE69026417T 1989-04-28 1990-01-23 Hochentwickelte Anwenderschnittstelle Expired - Lifetime DE69026417T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/344,879 US5157384A (en) 1989-04-28 1989-04-28 Advanced user interface

Publications (2)

Publication Number Publication Date
DE69026417D1 DE69026417D1 (de) 1996-05-15
DE69026417T2 true DE69026417T2 (de) 1996-11-14

Family

ID=23352455

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69026417T Expired - Lifetime DE69026417T2 (de) 1989-04-28 1990-01-23 Hochentwickelte Anwenderschnittstelle

Country Status (5)

Country Link
US (1) US5157384A (de)
EP (1) EP0394614B1 (de)
JP (1) JPH0320812A (de)
CA (1) CA2007411C (de)
DE (1) DE69026417T2 (de)

Families Citing this family (230)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5252951A (en) * 1989-04-28 1993-10-12 International Business Machines Corporation Graphical user interface with gesture recognition in a multiapplication environment
JPH03163623A (ja) * 1989-06-23 1991-07-15 Articulate Syst Inc 音声制御コンピュータ・インターフェース
JPH0778782B2 (ja) * 1989-07-19 1995-08-23 インターナショナル・ビジネス・マシーンズ・コーポレーシヨン 対話型コンピュータ・システムならびにその使用環境適合化装置および方法
US5276816A (en) * 1990-12-31 1994-01-04 International Business Machines Corporation Icon object interface system and method
US5497319A (en) * 1990-12-31 1996-03-05 Trans-Link International Corp. Machine translation and telecommunications system
US5606702A (en) * 1991-03-30 1997-02-25 International Business Machines Corporation Method for specifying user interfaces and programming system running a multiple user interface computer
JPH0520274A (ja) * 1991-07-10 1993-01-29 Canon Inc 電子情報機器
JP2695542B2 (ja) * 1991-07-12 1997-12-24 財団法人ニューメディア開発協会 ユーザ情報の利用・獲得を行う情報処理装置
US5301326A (en) * 1991-09-24 1994-04-05 Microsoft Corporation Method and system for controlling the execution of an application program
US5825865A (en) * 1991-10-04 1998-10-20 Motorola, Inc. Temporary message routing and destination selection
JPH0736142B2 (ja) * 1991-10-10 1995-04-19 インターナショナル・ビジネス・マシーンズ・コーポレイション 移動指示手段の運動停止を認識する方法および情報処理装置
CA2076466C (en) * 1991-10-21 2002-01-15 Alan R. Tannenbaum Method for buffering high bandwidth data from an input device
US5848187A (en) * 1991-11-18 1998-12-08 Compaq Computer Corporation Method and apparatus for entering and manipulating spreadsheet cell data
US8352400B2 (en) 1991-12-23 2013-01-08 Hoffberg Steven M Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore
JP3286339B2 (ja) 1992-03-25 2002-05-27 株式会社リコー ウインドウ画面制御装置
US5404524A (en) * 1992-04-03 1995-04-04 International Business Machines Corporation System for identifying attached input pointing devices, loading associated software routines, and interacting with anyone input pointing device while disabling the others
US5317695A (en) * 1992-04-03 1994-05-31 International Business Machines Corporation Method and system for permitting communication between a data processing system and input pointing devices of multiple types
US5818800A (en) * 1992-04-06 1998-10-06 Barker; Bruce J. Voice recording device having portable and local modes of operation
US5508821A (en) * 1992-04-09 1996-04-16 Matsushita Electric Industrial Co., Ltd. Image scanner and image forming apparatus with an interface for connection with an external computer
DE69333096T2 (de) * 1992-04-15 2004-02-12 Xerox Corp. Vorrichtungen und Verfahren zum graphischen Zeichnen und Ausgabe
CA2089784C (en) * 1992-04-15 1996-12-24 William Joseph Anderson Apparatus and method for disambiguating an input stream generated by a stylus-based user interface
US5889236A (en) 1992-06-08 1999-03-30 Synaptics Incorporated Pressure sensitive scrollbar feature
US6028271A (en) 1992-06-08 2000-02-22 Synaptics, Inc. Object position detector with edge motion feature and gesture recognition
EP0574213B1 (de) 1992-06-08 1999-03-24 Synaptics, Inc. Objekt-Positionsdetektor
US5880411A (en) 1992-06-08 1999-03-09 Synaptics, Incorporated Object position detector with edge motion feature and gesture recognition
US5942733A (en) * 1992-06-08 1999-08-24 Synaptics, Inc. Stylus input capacitive touchpad sensor
US6239389B1 (en) 1992-06-08 2001-05-29 Synaptics, Inc. Object position detection system and method
US5861583A (en) 1992-06-08 1999-01-19 Synaptics, Incorporated Object position detector
FR2696258B1 (fr) * 1992-09-25 1994-10-28 Sextant Avionique Dispositif de gestion d'un système d'interaction homme-machine.
FR2696574B1 (fr) * 1992-10-06 1994-11-18 Sextant Avionique Procédé et dispositif d'analyse d'un message fourni par des moyens d'interaction à un système de dialogue homme-machine.
EP0593386A3 (en) * 1992-10-16 1996-07-31 Ibm Method and apparatus for accessing touch screen desktop objects via fingerprint recognition
US5442376A (en) * 1992-10-26 1995-08-15 International Business Machines Corporation Handling multiple command recognition inputs in a multi-tasking graphical environment
US5561811A (en) * 1992-11-10 1996-10-01 Xerox Corporation Method and apparatus for per-user customization of applications shared by a plurality of users on a single display
EP0606811A3 (de) * 1992-12-28 1995-06-21 Ibm Benutzung eines bevorzugten Objekthandlers.
US5502803A (en) * 1993-01-18 1996-03-26 Sharp Kabushiki Kaisha Information processing apparatus having a gesture editing function
US5890122A (en) * 1993-02-08 1999-03-30 Microsoft Corporation Voice-controlled computer simulateously displaying application menu and list of available commands
CA2157910A1 (en) * 1993-03-10 1994-09-15 Bruce Barker Data entry device
CA2115210C (en) * 1993-04-21 1997-09-23 Joseph C. Andreshak Interactive computer system recognizing spoken commands
US5638501A (en) 1993-05-10 1997-06-10 Apple Computer, Inc. Method and apparatus for displaying an overlay image
US5614926A (en) * 1993-05-17 1997-03-25 Sharp Kabushiki Kaisha Word processor with a handwriting text processing function
CA2155357C (en) * 1993-07-19 2001-12-18 David R. Anderson Dynamic linking system
CA2124505C (en) * 1993-07-21 2000-01-04 William A. S. Buxton User interface having simultaneously movable tools and cursor
US5581670A (en) * 1993-07-21 1996-12-03 Xerox Corporation User interface having movable sheet with click-through tools
CA2124624C (en) * 1993-07-21 1999-07-13 Eric A. Bier User interface having click-through tools that can be composed with other tools
JPH0792993A (ja) * 1993-09-20 1995-04-07 Fujitsu Ltd 音声認識装置
US5583761A (en) * 1993-10-13 1996-12-10 Kt International, Inc. Method for automatic displaying program presentations in different languages
JP2813728B2 (ja) * 1993-11-01 1998-10-22 インターナショナル・ビジネス・マシーンズ・コーポレイション ズーム/パン機能付パーソナル通信機
US5375084A (en) * 1993-11-08 1994-12-20 International Business Machines Corporation Selectable interface between memory controller and memory simms
JP2710547B2 (ja) * 1994-02-15 1998-02-10 インターナショナル・ビジネス・マシーンズ・コーポレイション グラフィカル・ユーザ・インターフェース
US5542069A (en) * 1994-03-02 1996-07-30 Sun Microsystems, Inc. Method and apparatus for simulating input events in a windowed environment
US5613137A (en) * 1994-03-18 1997-03-18 International Business Machines Corporation Computer system with touchpad support in operating system
US5681220A (en) * 1994-03-18 1997-10-28 International Business Machines Corporation Keyboard touchpad combination in a bivalve enclosure
DE69511080T2 (de) * 1994-04-21 2000-02-03 British Telecomm Schnittstellenanordnung und verfahren
US6496872B1 (en) * 1994-05-16 2002-12-17 Apple Computer, Inc. Computer system for automatically instantiating tasks designated by a user
US5748980A (en) * 1994-05-27 1998-05-05 Microsoft Corporation System for configuring a computer system
US6763454B2 (en) * 1994-05-27 2004-07-13 Microsoft Corp. System for allocating resources in a computer system
US5655148A (en) * 1994-05-27 1997-08-05 Microsoft Corporation Method for automatically configuring devices including a network adapter without manual intervention and without prior configuration information
US5787246A (en) * 1994-05-27 1998-07-28 Microsoft Corporation System for configuring devices for a computer system
US5570113A (en) * 1994-06-29 1996-10-29 International Business Machines Corporation Computer based pen system and method for automatically cancelling unwanted gestures and preventing anomalous signals as inputs to such system
US6292181B1 (en) 1994-09-02 2001-09-18 Nec Corporation Structure and method for controlling a host computer using a remote hand-held interface device
US6262719B1 (en) 1994-09-02 2001-07-17 Packard Bell Nec, Inc. Mouse emulation with a passive pen
US6209034B1 (en) 1994-09-02 2001-03-27 Nec Corporation Remote keyboard macros activated by hot icons
US5974558A (en) * 1994-09-02 1999-10-26 Packard Bell Nec Resume on pen contact
US6092117A (en) * 1994-09-02 2000-07-18 Packard Bell Nec System and method for automatically reconnecting a wireless interface device to a host computer
US5867106A (en) * 1994-09-02 1999-02-02 Packard Bell Nec Password switch to override remote control
US6137473A (en) * 1994-09-02 2000-10-24 Nec Corporation System and method for switching control between a host computer and a remote interface device
WO1996009579A1 (en) * 1994-09-22 1996-03-28 Izak Van Cruyningen Popup menus with directional gestures
JP3399665B2 (ja) * 1994-11-04 2003-04-21 シャープ株式会社 情報処理装置
US5630159A (en) * 1994-12-29 1997-05-13 Motorola, Inc. Method and apparatus for personal attribute selection having delay management method and apparatus for preference establishment when preferences in a donor device are unavailable
US5761420A (en) * 1995-02-28 1998-06-02 Johnson; William Method and apparatus for telephone proof of documents
US5706456A (en) * 1995-04-18 1998-01-06 Unisys Corporation Application specific graphical user interface (GUI) that is window programmable and capable of operating above a windows operating system GUI
US5802388A (en) * 1995-05-04 1998-09-01 Ibm Corporation System and method for correction and confirmation dialog for hand printed character input to a data processing system
EP0752646B1 (de) * 1995-07-07 2002-03-27 Sun Microsystems, Inc. Datenzugriffimplementierung von Gerätetreiberschnittstelle
US6668244B1 (en) * 1995-07-21 2003-12-23 Quartet Technology, Inc. Method and means of voice control of a computer, including its mouse and keyboard
US5857172A (en) * 1995-07-31 1999-01-05 Microsoft Corporation Activation control of a speech recognizer through use of a pointing device
US5761641A (en) * 1995-07-31 1998-06-02 Microsoft Corporation Method and system for creating voice commands for inserting previously entered information
US5748191A (en) * 1995-07-31 1998-05-05 Microsoft Corporation Method and system for creating voice commands using an automatically maintained log interactions performed by a user
US5864815A (en) * 1995-07-31 1999-01-26 Microsoft Corporation Method and system for displaying speech recognition status information in a visual notification area
US5790889A (en) * 1995-08-11 1998-08-04 Dell U.S.A., L.P. Method of selecting pointing device in a computer comprising responsive to a reconfiguration event, indentifying all connected pointing devices and selecting one of the devices
US5787285A (en) * 1995-08-15 1998-07-28 International Business Machines Corporation Apparatus and method for optimizing applications for multiple operational environments or modes
US6289312B1 (en) * 1995-10-02 2001-09-11 Digital Equipment Corporation Speech interface for computer application programs
US5805777A (en) * 1995-10-11 1998-09-08 Eastman Kodak Company Extended printer control interface
US6279153B1 (en) 1995-10-16 2001-08-21 Nec Corporation Multi-user flash ROM update
US6018806A (en) * 1995-10-16 2000-01-25 Packard Bell Nec Method and system for rebooting a computer having corrupted memory using an external jumper
US6664982B1 (en) 1995-10-16 2003-12-16 Nec Corporation Multi-user on-screen keyboard
US5996082A (en) * 1995-10-16 1999-11-30 Packard Bell Nec System and method for delaying a wake-up signal
US6148344A (en) * 1995-10-16 2000-11-14 Nec Corporation System and method for enabling an IPX driver to accommodate multiple LAN adapters
US5990875A (en) * 1995-10-16 1999-11-23 Packard Bell Nec Double pen up event
US6126327A (en) * 1995-10-16 2000-10-03 Packard Bell Nec Radio flash update
US6005533A (en) * 1995-10-16 1999-12-21 Packard Bell Nec Remote occlusion region
US6963783B1 (en) 1995-10-16 2005-11-08 Packard Bell Nec Audio compression in a wireless remote interface tablet
US7512671B1 (en) * 1995-10-16 2009-03-31 Nec Corporation Computer system for enabling a wireless interface device to selectively establish a communication link with a user selectable remote computer
US6108727A (en) * 1995-10-16 2000-08-22 Packard Bell Nec System having wireless interface device for storing compressed predetermined program files received from a remote host and communicating with the remote host via wireless link
JP3434105B2 (ja) * 1995-11-28 2003-08-04 富士通株式会社 マクロプログラム管理装置
US6300936B1 (en) 1997-11-14 2001-10-09 Immersion Corporation Force feedback system including multi-tasking graphical host environment and interface device
US5823782A (en) * 1995-12-29 1998-10-20 Tinkers & Chance Character recognition educational system
US5838972A (en) * 1996-02-09 1998-11-17 Sun Microsystems, Inc. Method and apparatus for dynamically loading an input run-time module and an output run-time module
USRE38286E1 (en) 1996-02-15 2003-10-28 Leapfrog Enterprises, Inc. Surface position location system and method
USRE39881E1 (en) 1996-02-15 2007-10-16 Leapfrog Enterprises, Inc. Surface position location system and method
US5898422A (en) * 1996-05-31 1999-04-27 International Business Machines Corporation Method and system for recognition of pointers
US5841994A (en) * 1996-06-14 1998-11-24 Texas Instruments Incorporated Portable computer with multiple zoom port interface
GB2315139A (en) * 1996-07-06 1998-01-21 Ibm Selecting operations in an object-oriented user interface
US5867153A (en) 1996-10-30 1999-02-02 Transaction Technology, Inc. Method and system for automatically harmonizing access to a software application program via different access devices
US5873064A (en) * 1996-11-08 1999-02-16 International Business Machines Corporation Multi-action voice macro method
US6654955B1 (en) * 1996-12-19 2003-11-25 International Business Machines Corporation Adding speech recognition libraries to an existing program at runtime
US6297838B1 (en) 1997-08-29 2001-10-02 Xerox Corporation Spinning as a morpheme for a physical manipulatory grammar
US6268857B1 (en) 1997-08-29 2001-07-31 Xerox Corporation Computer user interface using a physical manipulatory grammar
US6297805B1 (en) 1997-08-29 2001-10-02 Xerox Corporation Multiple interacting computers interfaceable through a physical manipulatory grammar
US6243074B1 (en) 1997-08-29 2001-06-05 Xerox Corporation Handedness detection for a physical manipulatory grammar
US6243075B1 (en) 1997-08-29 2001-06-05 Xerox Corporation Graspable device manipulation for controlling a computer display
US6678744B2 (en) * 1997-10-09 2004-01-13 Ericsson Inc. Application wrapper methods and systems
US8020095B2 (en) 1997-11-14 2011-09-13 Immersion Corporation Force feedback system including multi-tasking graphical host environment
US6160540A (en) * 1998-01-12 2000-12-12 Xerox Company Zoomorphic computer user interface
US20070177804A1 (en) * 2006-01-30 2007-08-02 Apple Computer, Inc. Multi-touch gesture dictionary
US8479122B2 (en) 2004-07-30 2013-07-02 Apple Inc. Gestures for touch sensitive input devices
US9239673B2 (en) 1998-01-26 2016-01-19 Apple Inc. Gesturing with a multipoint sensing device
US7614008B2 (en) 2004-07-30 2009-11-03 Apple Inc. Operation of a computer with touch screen interface
US9292111B2 (en) 1998-01-26 2016-03-22 Apple Inc. Gesturing with a multipoint sensing device
US6509913B2 (en) 1998-04-30 2003-01-21 Openwave Systems Inc. Configurable man-machine interface
US6438523B1 (en) 1998-05-20 2002-08-20 John A. Oberteuffer Processing handwritten and hand-drawn input and speech input
US6263375B1 (en) * 1998-08-31 2001-07-17 International Business Machines Corp. Method for creating dictation macros
US7002552B1 (en) * 1999-04-06 2006-02-21 Microsoft Corporation Computer input device with digit support and natural position actuators
AU6040999A (en) * 1998-09-14 2000-04-03 Microsoft Corporation Input device with forward/backward control
US8275617B1 (en) 1998-12-17 2012-09-25 Nuance Communications, Inc. Speech command input recognition system for interactive computer display with interpretation of ancillary relevant speech query terms into commands
US6233560B1 (en) 1998-12-16 2001-05-15 International Business Machines Corporation Method and apparatus for presenting proximal feedback in voice command systems
US6937984B1 (en) 1998-12-17 2005-08-30 International Business Machines Corporation Speech command input recognition system for interactive computer display with speech controlled display of recognized commands
US7206747B1 (en) 1998-12-16 2007-04-17 International Business Machines Corporation Speech command input recognition system for interactive computer display with means for concurrent and modeless distinguishing between speech commands and speech queries for locating commands
US6192343B1 (en) 1998-12-17 2001-02-20 International Business Machines Corporation Speech command input recognition system for interactive computer display with term weighting means used in interpreting potential commands from relevant speech terms
US6963937B1 (en) 1998-12-17 2005-11-08 International Business Machines Corporation Method and apparatus for providing configurability and customization of adaptive user-input filtration
US6570555B1 (en) * 1998-12-30 2003-05-27 Fuji Xerox Co., Ltd. Method and apparatus for embodied conversational characters with multimodal input/output in an interface device
US6336149B1 (en) * 1999-01-26 2002-01-01 Glenn W. Preston Macro recording and playback device independent of operating system or application software and method of using same
US7904187B2 (en) 1999-02-01 2011-03-08 Hoffberg Steven M Internet appliance system and method
US6965368B1 (en) * 1999-04-06 2005-11-15 Microsoft Corporation Game control device having genre data
US7116310B1 (en) * 1999-04-06 2006-10-03 Microsoft Corporation Application programming interface that maps input device controls to software actions
US6727884B1 (en) * 1999-04-06 2004-04-27 Microsoft Corporation System and method for mapping input device controls to software actions
US6711620B1 (en) 1999-04-14 2004-03-23 Matsushita Electric Industrial Co. Event control device and digital broadcasting system
JP4528384B2 (ja) * 1999-07-08 2010-08-18 マイクロソフト コーポレーション 音声入力用グラフィカル・ユーザ・インターフェースのための表示装置
US6598169B1 (en) * 1999-07-26 2003-07-22 Microsoft Corporation System and method for accessing information made available by a kernel mode driver
US7987431B2 (en) 1999-10-29 2011-07-26 Surfcast, Inc. System and method for simultaneous display of multiple information sources
US7028264B2 (en) * 1999-10-29 2006-04-11 Surfcast, Inc. System and method for simultaneous display of multiple information sources
US6724403B1 (en) 1999-10-29 2004-04-20 Surfcast, Inc. System and method for simultaneous display of multiple information sources
US7016835B2 (en) * 1999-10-29 2006-03-21 International Business Machines Corporation Speech and signal digitization by using recognition metrics to select from multiple techniques
GB9930851D0 (en) 1999-12-24 2000-02-16 Koninkl Philips Electronics Nv Apparatus control system and method
US6642942B1 (en) * 2000-03-07 2003-11-04 Intel Corporation Method and system for configuring among call processing applications in a call processing system
US7058888B1 (en) * 2000-04-25 2006-06-06 Microsoft Corporation Multi-modal text editing correction
US6750978B1 (en) * 2000-04-27 2004-06-15 Leapfrog Enterprises, Inc. Print media information system with a portable print media receiving unit assembly
US6661405B1 (en) 2000-04-27 2003-12-09 Leapfrog Enterprises, Inc. Electrographic position location apparatus and method
US6668156B2 (en) 2000-04-27 2003-12-23 Leapfrog Enterprises, Inc. Print media receiving unit including platform and print media
CN1205541C (zh) * 2000-11-27 2005-06-08 诺基亚公司 提供媒介功能的方法与系统
DE60117676T2 (de) * 2000-12-29 2006-11-16 Stmicroelectronics S.R.L., Agrate Brianza Verfahren zur einfachen Ausdehnung der Funktionalität eines tragbaren elektronischen Geräts und zugehöriges, tragbares elektronisches Gerät
US6608618B2 (en) 2001-06-20 2003-08-19 Leapfrog Enterprises, Inc. Interactive apparatus using print media
US7916124B1 (en) 2001-06-20 2011-03-29 Leapfrog Enterprises, Inc. Interactive apparatus using print media
EP1286261A1 (de) * 2001-08-13 2003-02-26 Alcatel Verfahren, Bedienoberflächenmodul, Zwischenmodule sowie damit ausgestattetes Netzwerk-Management-System zur Bedienung eines Bedienoberflächenmoduls
EP1321852A1 (de) * 2001-10-03 2003-06-25 C O2W3 Sas Modulare logische Plattform
US9189467B1 (en) 2001-11-07 2015-11-17 Apple Inc. Method and apparatus for annotating an electronic document
AU2003216231A1 (en) * 2002-02-06 2003-09-02 Leapfrog Enterprises, Inc. Write on interactive apparatus and method
EP1388786A1 (de) * 2002-03-15 2004-02-11 Alcatel Benutzerschnittstelle für eine Mensch-Computer Interaktion
US7490329B2 (en) 2002-04-22 2009-02-10 Thomson Licensing Remote key manager
US7099893B2 (en) * 2002-06-28 2006-08-29 Sap Aktiengesellschaft Recording application user actions for application testing
US8682636B2 (en) * 2002-08-30 2014-03-25 Sap Ag Non-client-specific testing of applications
US20040063078A1 (en) * 2002-09-30 2004-04-01 Marcus Brian I. Electronic educational toy appliance
US20040229195A1 (en) * 2003-03-18 2004-11-18 Leapfrog Enterprises, Inc. Scanning apparatus
US8745541B2 (en) * 2003-03-25 2014-06-03 Microsoft Corporation Architecture for controlling a computer using hand gestures
US7068262B2 (en) * 2003-06-09 2006-06-27 Leapfrog Enterprises, Inc. Writing stylus for electrographic position location apparatus
WO2005017730A1 (en) * 2003-08-14 2005-02-24 Ntt Docomo, Inc. Direct data input
US20050055647A1 (en) * 2003-09-05 2005-03-10 Chung-Hui Chen System and method for switching software functions
ATE556646T1 (de) * 2004-01-13 2012-05-15 Univ Toledo Noninvasive, doppelbrechungskompensierte messpolarimeter
US7458029B2 (en) * 2004-01-15 2008-11-25 Microsoft Corporation System and process for controlling a shared display given inputs from multiple users using multiple input modalities
US7207885B2 (en) 2004-01-15 2007-04-24 Espeed, Inc. System and method for using a game controller device for electronic trading
US8469808B2 (en) 2004-01-15 2013-06-25 Bgc Partners, Inc. System and method for managing a game controller device for electronic trading
US8170945B2 (en) 2004-01-15 2012-05-01 Bgc Partners, Inc. System and method for providing security to a game controller device for electronic trading
US8442331B2 (en) 2004-02-15 2013-05-14 Google Inc. Capturing text from rendered documents using supplemental information
US7707039B2 (en) 2004-02-15 2010-04-27 Exbiblio B.V. Automatic modification of web pages
US7812860B2 (en) 2004-04-01 2010-10-12 Exbiblio B.V. Handheld device for capturing text from both a document printed on paper and a document displayed on a dynamic display device
US10635723B2 (en) 2004-02-15 2020-04-28 Google Llc Search engines and systems with handheld document data capture devices
US7345681B2 (en) * 2004-02-17 2008-03-18 Microsoft Corporation Pen data capture and injection
US20060125805A1 (en) * 2004-03-17 2006-06-15 James Marggraff Method and system for conducting a transaction using recognized text
US20060067576A1 (en) * 2004-03-17 2006-03-30 James Marggraff Providing a user interface having interactive elements on a writable surface
US7990556B2 (en) 2004-12-03 2011-08-02 Google Inc. Association of a portable scanner with input/output and storage devices
US20060081714A1 (en) 2004-08-23 2006-04-20 King Martin T Portable scanning device
US9116890B2 (en) 2004-04-01 2015-08-25 Google Inc. Triggering actions in response to optically or acoustically capturing keywords from a rendered document
US9143638B2 (en) 2004-04-01 2015-09-22 Google Inc. Data capture from rendered documents using handheld device
US7894670B2 (en) 2004-04-01 2011-02-22 Exbiblio B.V. Triggering actions in response to optically or acoustically capturing keywords from a rendered document
WO2008028674A2 (en) 2006-09-08 2008-03-13 Exbiblio B.V. Optical scanners, such as hand-held optical scanners
US8146156B2 (en) 2004-04-01 2012-03-27 Google Inc. Archive of text captures from rendered documents
US20060098900A1 (en) 2004-09-27 2006-05-11 King Martin T Secure data gathering from rendered documents
US8874504B2 (en) 2004-12-03 2014-10-28 Google Inc. Processing techniques for visual capture data from a rendered document
US8489624B2 (en) 2004-05-17 2013-07-16 Google, Inc. Processing techniques for text capture from a rendered document
US8620083B2 (en) 2004-12-03 2013-12-31 Google Inc. Method and system for character recognition
US8346620B2 (en) 2004-07-19 2013-01-01 Google Inc. Automatic modification of web pages
US7653883B2 (en) 2004-07-30 2010-01-26 Apple Inc. Proximity detector in handheld device
US8381135B2 (en) 2004-07-30 2013-02-19 Apple Inc. Proximity detector in handheld device
US7167675B2 (en) * 2004-10-15 2007-01-23 Leapfrog Enterprises, Inc. Magnetic switch and apparatus including magnetic switch
US7922099B1 (en) 2005-07-29 2011-04-12 Leapfrog Enterprises, Inc. System and method for associating content with an image bearing surface
US7883420B2 (en) 2005-09-12 2011-02-08 Mattel, Inc. Video game systems
US7936339B2 (en) * 2005-11-01 2011-05-03 Leapfrog Enterprises, Inc. Method and system for invoking computer functionality by interaction with dynamically generated interface regions of a writing surface
EP1865410A1 (de) * 2006-06-09 2007-12-12 Delta Electronics, Inc. Mensch-Maschine Schnittstellensystem mit einem Verbindungsgerät und Verfahren zum Entwickeln und Betreiben des selbigen
US8261967B1 (en) 2006-07-19 2012-09-11 Leapfrog Enterprises, Inc. Techniques for interactively coupling electronic content with printed media
US8130194B1 (en) * 2006-12-18 2012-03-06 Imi Innovations, Inc. Non-mouse devices that function via mouse-like messages
US20080228618A1 (en) 2007-03-15 2008-09-18 Noviello Joseph C System And Method For Providing An Operator Interface For Displaying Market Data, Trader Options, And Trader Input
US7631124B2 (en) * 2007-04-06 2009-12-08 Microsoft Corporation Application-specific mapping of input device elements
US20090046064A1 (en) * 2007-08-17 2009-02-19 Microsoft Corporation Pointing device for control of a graphical display or application
US20090161575A1 (en) * 2007-12-19 2009-06-25 Research In Motion Limited Long Term Evolution User Equipment Multi-Packet Data Network Connectivity Control
US20090187847A1 (en) * 2008-01-18 2009-07-23 Palm, Inc. Operating System Providing Consistent Operations Across Multiple Input Devices
FR2933211B1 (fr) * 2008-06-26 2010-11-26 Airbus France Dispositif d'interaction avec un systeme d'affichage, notamment pour un systeme d'affichage avionique
US20100095250A1 (en) * 2008-10-15 2010-04-15 Raytheon Company Facilitating Interaction With An Application
KR101185093B1 (ko) * 2008-12-19 2012-09-21 한국전자통신연구원 Autosar 응용 소프트웨어의 소프트웨어 구조 모델링 도구를 위한 프로젝트 관리 장치 및 방법
DE202010018601U1 (de) 2009-02-18 2018-04-30 Google LLC (n.d.Ges.d. Staates Delaware) Automatisches Erfassen von Informationen, wie etwa Erfassen von Informationen unter Verwendung einer dokumentenerkennenden Vorrichtung
DE202010018551U1 (de) 2009-03-12 2017-08-24 Google, Inc. Automatische Bereitstellung von Inhalten, die mit erfassten Informationen, wie etwa in Echtzeit erfassten Informationen, verknüpft sind
US8447066B2 (en) 2009-03-12 2013-05-21 Google Inc. Performing actions based on capturing information from rendered documents, such as documents under copyright
US8421761B2 (en) * 2009-08-26 2013-04-16 General Electric Company Imaging multi-modality touch pad interface systems, methods, articles of manufacture, and apparatus
US9081799B2 (en) 2009-12-04 2015-07-14 Google Inc. Using gestalt information to identify locations in printed information
US9323784B2 (en) 2009-12-09 2016-04-26 Google Inc. Image search using text-based elements within the contents of images
US9092128B2 (en) 2010-05-21 2015-07-28 Apple Inc. Method and apparatus for managing visual information
US8151279B1 (en) * 2011-03-28 2012-04-03 Google Inc. Uniform event handling across multiple computing devices
US8392935B2 (en) 2011-03-28 2013-03-05 Google Inc. Uniform event handling across multiple computing devices
US20130139113A1 (en) * 2011-11-30 2013-05-30 Microsoft Corporation Quick action for performing frequent tasks on a mobile device
KR101322952B1 (ko) * 2012-02-24 2013-10-29 주식회사 팬택 휴대용 단말기에서 동작인식의 처리를 관리하는 장치 및 방법
US9274622B2 (en) * 2012-09-11 2016-03-01 Microsoft Technology Licensing, Llc Device specific data in a unified pointer message
CN102999340B (zh) * 2012-11-28 2016-08-31 百度在线网络技术(北京)有限公司 一种输入法界面的编辑方法及装置
DE102014200782A1 (de) 2014-01-17 2015-07-23 Bayerische Motoren Werke Aktiengesellschaft Betreiben eines Fahrzeugs gemäß dem Wunsch eines Fahrzeuginsassen
EP3149558A4 (de) * 2014-05-29 2017-12-20 Hewlett-Packard Development Company, L.P. Benutzerkontenumschaltschnittstelle
US10078382B2 (en) * 2014-09-04 2018-09-18 Home Box Office, Inc. Unified input and invoke handling
US10044591B2 (en) 2014-09-04 2018-08-07 Home Box Office, Inc. Two-way remote communication system for testing a client device program
JP6138737B2 (ja) * 2014-10-02 2017-05-31 株式会社アスタリスク 携帯端末、及びキーボードアプリケーションプログラム
US10168895B2 (en) * 2015-08-04 2019-01-01 International Business Machines Corporation Input control on a touch-sensitive surface
US10636074B1 (en) * 2015-09-18 2020-04-28 Amazon Technologies, Inc. Determining and executing application functionality based on text analysis
US20200050540A1 (en) * 2018-08-10 2020-02-13 International Business Machines Corporation Interactive automation test
TWI709071B (zh) * 2018-12-27 2020-11-01 英屬開曼群島商敦泰電子有限公司 觸控板驅動系統及方法
CN113094188A (zh) * 2021-03-30 2021-07-09 网易(杭州)网络有限公司 系统消息的处理方法及装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4451895A (en) * 1980-07-17 1984-05-29 Telesis Corporation Of Delaware, Inc. Interactive computer aided design system
JPS5968037A (ja) * 1982-09-21 1984-04-17 Canon Inc 入力装置
DE3243679A1 (de) * 1982-11-25 1984-05-30 Preh Elektro Feinmechanik Terminal einer datenverarbeitungsanlage
US4726065A (en) * 1984-01-26 1988-02-16 Horst Froessl Image manipulation by speech signals
US4587630A (en) * 1984-02-15 1986-05-06 Hewlett-Packard Company Intelligent programmable touchscreen system
US4689761A (en) * 1984-08-14 1987-08-25 Metaphor Computer Systems Multiple independent input peripherals
US4972496A (en) * 1986-07-25 1990-11-20 Grid Systems Corporation Handwritten keyboardless entry computer system
JPS63172325A (ja) * 1987-01-10 1988-07-16 Pioneer Electronic Corp タツチパネル制御装置
US4903012A (en) * 1987-01-20 1990-02-20 Alps Electric Co., Ltd. Coordinate system input device providing registration calibration and a mouse function
JPS63298426A (ja) * 1987-05-29 1988-12-06 Hitachi Ltd メニュ−選択処理方式
US4896290A (en) * 1987-08-24 1990-01-23 Wang Laboratories, Inc. Method for routing events from key strokes in a multi-processing computer systems
US4908612A (en) * 1987-09-29 1990-03-13 Penguin Products, Inc. Computer input-output device
US4931950A (en) * 1988-07-25 1990-06-05 Electric Power Research Institute Multimedia interface and method for computer system

Also Published As

Publication number Publication date
CA2007411C (en) 1998-04-21
US5157384A (en) 1992-10-20
DE69026417D1 (de) 1996-05-15
CA2007411A1 (en) 1990-10-28
JPH0320812A (ja) 1991-01-29
JPH0580009B2 (de) 1993-11-05
EP0394614A3 (de) 1992-09-02
EP0394614B1 (de) 1996-04-10
EP0394614A2 (de) 1990-10-31

Similar Documents

Publication Publication Date Title
DE69026417T2 (de) Hochentwickelte Anwenderschnittstelle
DE69113478T2 (de) Rechner mit getrennter anzeigeebene und benutzerschnittstellenrechner.
DE69014916T2 (de) Anzeigegerät und Anzeigesystem mit einem solchen Gerät.
DE60314563T2 (de) Überlagerung mit elektronischer Tinte
DE69119432T2 (de) Benutzerschnittstelle mit simulierten vorrichtungen
DE3850560T2 (de) Cursorgesteuerter direkter Zugriff zu mehreren Anwendungsprogrammen.
DE3787827T2 (de) Befehlseingabesystem für einen elektronischen Rechner.
DE68923492T2 (de) Verfahren zum Zugriff auf ausgewählte Fenster in einem Mehrprozessbetriebssystem.
DE69026647T2 (de) Zoommodusbetriebsarten in einem Anzeigegerät
US5252951A (en) Graphical user interface with gesture recognition in a multiapplication environment
US6549878B1 (en) System and method for editing a spreadsheet via an improved editing and cell selection model
DE69030862T2 (de) Automatisches Ikonerzeugungssystem
DE60308952T2 (de) Verfahren und System zur Anzeige und Verknüpfung von Gegenständen aus elektronischer Tinte mit erkanntem Text und Objekten
US6526399B1 (en) Method and system for grouping and displaying a database
DE69204045T2 (de) Verfahren und Vorrichtung zum optischen Eingang von Befehlen oder Daten.
DE69127703T2 (de) Vorrichtung und verfahren zum erzeugen eines benutzerdefinierbaren, videodargestellten dokuments, das änderungen von echtzeitdaten anzeigt
DE69526634T2 (de) Verschiebungs- und Entladungsoperation in einer graphischen Benutzerschnittstelle
DE69737170T2 (de) Auswahl von Befehlen in einem Rechnersystem
DE10337053A1 (de) Graphische Benutzer-Computer-Schnittstelle
DE68915847T2 (de) Tastatur-Umbelegung.
DE102012202558A1 (de) Erzeugung einer Abfrage aus dargestellten Textdokumenten unter Anwendung virtueller Magnete
DE112009001276T5 (de) Karten-Metapher für Aktivitäten in einem Rechengerät
DE10135445A1 (de) Integriertes Verfahren für das Schaffen einer aktualisierbaren Netzabfrage
US20020080126A1 (en) Mode hinting and switching
DE69221204T2 (de) Datenverarbeitungsgerät zur Fensterpositionensteuerung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8330 Complete renunciation