DE60320570T2 - Vorrichtung zur steuerung von tastaturereignissen - Google Patents

Vorrichtung zur steuerung von tastaturereignissen Download PDF

Info

Publication number
DE60320570T2
DE60320570T2 DE60320570T DE60320570T DE60320570T2 DE 60320570 T2 DE60320570 T2 DE 60320570T2 DE 60320570 T DE60320570 T DE 60320570T DE 60320570 T DE60320570 T DE 60320570T DE 60320570 T2 DE60320570 T2 DE 60320570T2
Authority
DE
Germany
Prior art keywords
key
event
section
events
key event
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
DE60320570T
Other languages
English (en)
Other versions
DE60320570D1 (de
Inventor
Hideaki Osaka-shi YAJIMA
Masaki 3-7 Shiromi 1-chome HORIUCHI
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.)
Panasonic Corp
Original Assignee
Panasonic 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 Panasonic Corp filed Critical Panasonic Corp
Application granted granted Critical
Publication of DE60320570D1 publication Critical patent/DE60320570D1/de
Publication of DE60320570T2 publication Critical patent/DE60320570T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/543Local
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/545Gui

Landscapes

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

Description

  • Technisches Gebiet
  • Die vorliegende Erfindung betrifft eine Tastenereignissteuervorrichtung, und insbesondere eine Tastenereignissteuervorrichtung zum Ändern des Ziels, an welches spezielle Tastenereignisse zu liefern sind, und zum Durchführen des Filterns von Tastenereignissen.
  • Stand der Technik
  • In einem Fenstersystem, wie dem XWindowSystemTM (eine eingetragene Marke des Massachusetts Institute of Technology), welches ein beliebter Mechanismus zum Verwalten von Tastenzuständen und zum Melden von Änderungen der Zustände ist, wird ein virtuelles Tastenereignis in Übereinstimmung mit der Tastenbedienung ausgelöst, wenn eine Hilfstaste, wie eine Umschalttaste oder eine Steuertaste, mit einer anderen Taste kombiniert wird (siehe z. B. "XWindow handbook", ASCII Corporation, 1990", Oliver JONES, betreut von Ryo NISHIMURA, übersetzt von Akemi MIURA, (nachstehend als "Nicht-Patentdokument 1" bezeichnet)).
  • Eine Technik der Ereignisverwaltung auf einem Fenstersystem, die eine Vielzahl von Fenstern handhabt, ist ein Mehrfensterereignisverwaltungsgerät, welches durch universelles Verwalten von Informationen hinsichtlich der Fenstersteuerung ein automatisches Schalten eines Fokusfensters als ein Ziel realisiert, welchem Ereignisse zu melden sind (siehe z. B. Publikation zur Offenlegung japanischer Patente Nr. 2-139626 (nachstehend als "Patentdokument 1" bezeichnet)).
  • Jedoch ziehen die in Nicht-Patentdokument 1 und Patentdokument 1 beschriebenen Techniken nicht den Fall in Betracht, in welchem Funktionszuweisungen von Tasten auf der Grundlage von Zeiträumen, für welche die Tasten gedrückt werden, z. B. kurz gedrückt (ein so genannter "Klick") oder lang gedrückt (ein so genanntes "Halten") oder auf der Grundlage der Bedienungsarten der Tasten, z. B. halb gedrückt oder ganz gedrückt, zu ändern sind.
  • Ein Beispiel eines Mechanismus zum Ändern der Funktionszuweisungen von Tasten auf der Grundlage von Zeiträumen, für welche die Tasten gedrückt werden, z. B. kurz gedrückt oder lang gedrückt, ist ein Mechanismus, welcher verschiedene Ereignisse in Übereinstimmung mit der Tastenbedienung meldet, abhängig davon, ob es ein kurzes Drücken oder ein langes Drücken ist (siehe z. B. Publikation zur Offenlegung japanischer Patente Nr. 2000-353357 (nachstehend als "Patentdokument 2" bezeichnet)).
  • In der Situation, wenn verschiedene Funktionen in Übereinstimmung mit der Tastenbedienung abhängig davon, ob es ein kurzes Drücken oder ein langes Drücken ist, zuzuweisen sind, kann es einen Fall geben, in dem es wünschenswert ist, kurze Drückereignisse zu unterdrücken, sobald ein langes Drücken festgestellt worden ist, aber es kann auch einen Fall geben, in dem kurze Drückereignisse gemeldet werden müssen, sogar nachdem ein langes Drücken festgestellt worden ist. In dem Fall, wenn eine bestimmte Funktion durchzuführen ist, wenn eine Taste zum ersten Mal gedrückt wird, und eine nächste Funktion durchzuführen ist, wenn danach ein langes Drücken festgestellt wird, wäre es notwendig, Kurzdrückereignisse zu melden, sogar nachdem ein langes Drücken festgestellt worden ist. Ein Beispiel davon wäre der Fall, in welchem ein Scrollen begonnen wird, wenn eine Taste gedrückt ist, und die Scrollgeschwindigkeit erhöht wird, wenn ein langes Drücken festgestellt worden ist (siehe z. B. offengelegte japanische Patentveröffentlichung Nr. 2003-162356 ).
  • In diesem Fall würde das Tastenliefergerät mit der Funktion zum Melden von Änderungen der Zustände von Tasten den Zustand der korrespondierenden Taste oder der virtuellen Taste in der Mitte einer Tastenbedienung melden, noch bevor eine korrespondierende virtuelle Taste bestimmt wird, die dem Abschluss einer Reihe von Tastenbedienungen folgt. In 21 ist z. B. ein Ablauf gezeigt, in dem Fall, wenn eine virtuelle Taste "lang gedrückte Taste" und eine virtuelle Taste "kurz gedrückte Taste" einem langen Drücken und einem kurzen Drücken einer gegebenen Taste zugewiesen werden, indem angenommen wird, dass die Taste lang gedrückt wird. Zum Zeitpunkt, wenn die Taste gedrückt wird, meldet das Tastenliefergerät zuerst eine Änderung im Zustand der "kurz gedrückten" virtuellen Taste. Weder die kurz gedrückte Taste noch die lang gedrückte Taste wird zum Zeitpunkt dieses Tastendrucks eindeutig festgestellt, da sie noch in der Mitte der Tastenbedienung ist. Sobald eine bestimmte Zeitdauer mit der gedrückten Taste abläuft, wodurch sich die Feststellung einer lang gedrückten Bedienung ergibt, meldet dieses Verfahren danach eine Änderung des Zustands der "lang gedrückten" virtuellen Taste. Nach dem obigen Verfahren empfängt jede Anwendung eine Meldung eines virtuellen Tastenereignisses noch vor der Feststellung einer Tastenbedienung. Nach diesem Verfahren wird daher eine empfangene Reihe virtueller Tastenereignisse einer Gesamtbestimmung an der Anwendungsseite unterzogen, um zu bestimmen, welches Tastenereignis festgestellt worden ist, und ein korrespondierender Vorgang wird durchgeführt.
  • Was das Aufnehmen bzw. Grabben von Tastenereignissen betrifft, realisiert das weit verbreitete XWindowSystem dieses wie folgt. Wenn eine Taste, die ein Ziel des Grabbens ist, gedrückt wird, wird das Ziel, an welches das Tastenereignis zu liefern ist, von einer Anwendung, die aktiv ist, zu jener, die das Grabben angefragt hat, geschaltet, und der Lieferpfad wird auf normal zurückgebracht, wenn die Taste losgelassen wird (siehe z. B. das zuvor erwähnte Nicht-Patentdokument 1).
  • Es kann auch einen Fall geben, in dem ein Benutzer einen Vorgang nicht für nur eine bestimmte Anwendung durchführt, sondern für alle bestehenden Anwendungen. Ein spezielles Beispiel wäre der Fall, in dem alle Anwendungen den von ihnen angezeigten Bildschirm schließen, minimieren oder maximieren. Da üblicherweise verwendete Fenstersysteme keinen Mechanismus zum Liefern von Tastenereignissen an alle Fenster aufweisen, wird in einem derartigen Fall eine Fensterverwaltung zum Verwalten von Fenstern bereitgestellt, so dass eine universelle Bedienungsanfrage an die Fensterverwaltung gemeldet wird, welche, nach Empfangen der Obigen, Bedienungen für alle Fenster durchführt. Jedoch sind die durch eine üblicherweise verwendete Fensterverwaltung für alle Fenster durchzuführenden Bedienungen, wie FVWM, auf Bedienungen hinsichtlich der Fenster an sich begrenzt, z. B. Maximieren oder Minimieren des Fensters, wegen der Natur der Fensterverwaltung (siehe z. B. David Fries, et al., "The Official FVWM Homepage", 20. Juli 2002, gesucht am 09. September 2002, URL:http://www.fvwm.org").
  • Als Ergänzung zum Obigen, gibt es ein Eingabegerät, welches, wenn Textzeichen simultan in eine Vielzahl von Fenster einzugeben sind, die jeweiligen Eingabezeichen auf korrespondierenden Fenstern durch Bezugnehmen auf eine Zeichen-Fenster-Korrespondenztabelle ausgibt, welche die Korrespondenz zwischen eingegebenen Zeichen und Zielfenstern beschreibt, in welche die eingegebenen Zeichen einzugeben sind (siehe z. B. Publikation zur Offenlegung japanischer Patente Nr. 8-50542 ).
  • Jedoch weist die zuvor erwähnte herkömmliche Technik ein erstes Problem dahingehend auf, dass, wenn eine Vielzahl von Tastenereignissen, welche durch eine Reihe von Tastenbedie nungen ausgelöst werden, als ein Ergebnis des Grabbens von Tastenereignissen an sowohl eine Anwendung, welche durch den Nutzer benannt wird, oder an eine Anwendung, welche das Ziel der Tastenereignislieferung (nachstehend als die "aktive Anwendung" bezeichnet) sein soll, als auch an die Anwendung, welche ein Empfänger der vorigen Lieferung ist (nachstehend als die "Grabb-Anwendung" bezeichnet) geliefert wird, nur ein Teil der Reihe der Tastenbedienungen an jede Anwendung gemeldet wird, wodurch es unmöglich wird, die Funktion genau festzustellen, so dass das System eine unerwartete Operation durchführen kann.
  • In 22 ist z. B. ein Ablauf in dem Fall gezeigt, in welchem "lang gedrückte" und "kurz gedrückte" virtuelle Tasten einer gegebenen Taste zugewiesen werden, und die Anwendung A eine aktive Anwendung ist und die Anwendung B eine Grabb-Anwendung für die "lang gedrückte" virtuelle Taste ist, wobei angenommen wird, dass die Taste lang gedrückt wird. Wenn die Taste gedrückt wird, wird zuerst ein "kurz gedrücktes" virtuelle Tastendruckereignis an die Anwendung A gemeldet. Als nächstes wird ein "lang gedrücktes" virtuelles Tastendruckereignis an die Anwendung B gemeldet. Wenn die Taste losgelassen wird, wird danach ein "kurz gedrücktes" virtuelles Tastenloslassereignis an die Anwendung A gemeldet und ein "lang gedrücktes" virtuelles Tastenloslassereignis wird an die Anwendung B gemeldet. Obwohl die Tastenbedienung ein langes Drücken beweisen würde, sobald alle aus der Reihe der vier virtuellen Tastenereignisse empfangen werden, hat die Anwendung A nur eine Meldung des "kurz gedrückten" virtuellen Tastenereignisses empfangen; daher wird sie einen Vorgang durchführen, welcher zu einem kurzen Drücken korrespondiert, obwohl der Benutzer keine Kurzdruckbedienung durchgeführt hat.
  • Es könnte denkbar sein, das zuvor erwähnte Problem, in welchem "lang gedrückte" und "kurz gedrückte" virtuelle Tasten einer Taste zugewiesen werden, durch Nichtauslösen eines Druckereignisses zum Zeitpunkt, wenn die Taste gedrückt wird, zu lösen, weil das Bedienungsergebnis des Nutzers nicht festgestellt werden kann, und nur ein "lang gedrücktes" oder "kurz gedrücktes" virtuelles Tastenloslassereignis korrespondierend zum Bedienungsergebnis zum Zeitpunkt des Tastenloslassens auszulösen, wenn das Tastenbedienungsergebnis festgestellt wird. Da dieses Verfahren jedoch kein Tastendruckereignis für eine Taste auslöst, die ein langes Drücken unterstützt, werden verschiedene Typen von Tastenereignissen zwischen Tasten ausgelöst, welche keine lang gedrückte Bedienung unterstützen, und Tasten, welche eine lang gedrückte Bedienung unterstützen. Dies ergibt ein Problem dahingehend, dass jedes Mal, wenn eine Taste, welche eine lang gedrückte Bedienung unterstützt, geändert wird, jede Anwendung zum Verarbeiten von betroffenen Tastenereignissen auch geändert werden müsste. Um mit diesem Problem umzugehen, könnte es denkbar sein, keine Tastendruckereignisse auszulösen, sogar für Tasten, welche keine lang gedrückte Bedienung unterstützen, aber ein derartiges Verfahren führt eine Verzögerung der Tastenereignisse für jede Taste ein, und beeinträchtigt somit die Bedienbarkeit auf Seiten des Benutzers.
  • Es gibt ferner ein zweites Problem dahingehend, dass, wenn eine spezielle Taste in einem üblicherweise verwendeten Fenstersystem, wie dem XWindowSystem, zu grabben ist, das Lieferziel der Tastenereignisse auf den Empfänger der vorbedingten Lieferung geschaltet wird, sobald diese Taste gedrückt wird, und bis zu der Zeit, an der sie losgelassen wird. Abhängig von der Reihenfolge der virtuellen Tastenlieferung, können diese Tastenereignisse, welche gar nicht das Grabb-Ziel sind, daher auch an den Empfänger der vorbedingten Lieferung geliefert werden.
  • In 23 ist z. B. ein Ablauf in dem Fall gezeigt, wenn die "lang gedrückten" und "kurz gedrückten" virtuellen Tasten einer gegebenen Taste zugewiesen werden, und Anwendung A eine aktive Anwendung ist und Anwendung B eine Grabb-Anwendung ist, welche die "kurz gedrückte" virtuelle Taste grabbt, wobei angenommen wird, dass die Taste lang gedrückt wird. Da die Tastenereignisse vom "lang gedrückten" virtuellen Tastendrückereignis zum "lang gedrückten" virtuellen Tastenloslassereignis an die Anwendung B zu liefern sind, wird sogar das "kurz gedrückte" virtuelle Tastenloslassereignis an die Anwendung B gesendet, falls die virtuellen Tastenereignisse in der Reihenfolge eines "kurz gedrückten" virtuellen Tastendruckereignisses, eines "lang gedrückten" virtuellen Tastendruckereignisses, eines "kurz gedrückten" virtuellen Tastenloslassereignisses und eines "lang gedrückten" virtuellen Tastenloslassereignisses ausgelöst werden. Dies bedeutet, dass kein Tastenloslassen an die Anwendung A gemeldet wird.
  • Ein mögliches Verfahren zum Verhindern einer derartigen falschen Lieferung von Tastenereignissen wegen des Grabbens könnte es sein, das Grabben nicht durchzuführen, so dass Tastenereignisse immer an die aktive Anwendung geliefert werden, wobei die aktive Anwendung die gelieferten Tastenereignisse einer umfassenden Bestimmung unterzieht, um die Verarbeitung zu schalten oder an andere Anwendungen zu melden. Dies weist jedoch ein Problem dahingehend auf, dass, falls es wünschenswert ist, eine bestimmte Verarbeitung für eine bestimmte Tastenbedienung über das gesamte System in einer einheitlichen Art durchzuführen, es für jede Anwendung notwendig wird, welche potenziell eine aktive Anwendung werden kann, die obige Verbesserung zu unterstützen, woraus sich eine Erhöhung der Entwicklungskosten ergäbe. Außerdem wird sich in dem Fall, wenn eine Anwendung eingeführt wird, welche die obige Verbesserung nicht unterstützt, z. B. eine freie Anwendung, welche durch eine dritte Partei entwickelt worden ist, jede auf die obige Verbesserung bezogene Tastenbedienung in einer derartigen Anwendung als ungültig erweisen. Z. B. in dem Fall, wenn das gesamte System in einen Verhaltensmodus als Reaktion auf ein langes Drücken einer Verhaltenstaste übergeht, muss jede Anwendung die Verarbeitung des Verhaltensmodusübergangs als Reaktion auf die Meldung eines langen Drückens der Verhaltenstaste handhaben. Darüber hinaus wird sich auf einem heruntergeladenen Teil einer freien Software, welche keine Beschreibung der obigen Verarbeitung enthält, dass lange Drücken der Verhaltenstaste als ungültig erweisen, oder es kann ein anderer Vorgang durchgeführt werden.
  • Es gibt ferner ein drittes Problem, dahingehend, dass in einem üblicherweise verwendeten Fenstersystem, wie dem XWindow-System, um Konflikte zwischen Grabb-Vorgängen zu vermeiden, nur das Fenster ein Empfänger der vorbedingten Lieferung für eine gegebene Taste werden kann, das an erster Stelle für eine Anfrage war. Mit anderen Worten ist es für eine Vielzahl von Fenstern nicht möglich, Tastenereignisse hinsichtlich der gleichen Taste zur gleichen Zeit zu grabben.
  • Es gibt ferner ein viertes Problem, dahingehend, dass in dem Fall, wenn der Nutzer wünscht, einen universellen Vorgang für alle Fenster durchzuführen, es mit der zuvor erwähnten herkömmlichen Technik, in welcher eine Fensterverwaltung für die Verwaltung und Steuerung verantwortlich ist, möglich ist, jeden Vorgang durchzuführen, welcher keine Bedienung hinsichtlich der Fenster an sich für alle Fenster ist, z. B. einen Vorgang des Rückgängigmachens einer unmittelbar vorhergehenden Bedienung und der Neuspeicherung des unmittelbar vorherigen Zustands oder ein Datensicherungsvorgang.
  • Die früher erwähnte herkömmliche Technik hinsichtlich eines eine Vielzahl von Fenstern ausgerichteten Eingabegerätes (siehe z. B. das obige Patentdokument 2) fasst nur Texteinga ben ins Auge; darüber hinaus wird eine gemeldete Texteingabe an eine Vielzahl von Fenstern lediglich in Übereinstimmung mit einer Zeichen-Fenster-Korrespondenztabelle geliefert. Daher werden in dem Fall, wenn eine Vielzahl von Tastenereignissen während des Tastenbedienungsvorgangs des Nutzers erzeugt werden, alle der erzeugten Tastenereignisse jeweils an die korrespondierenden Fenster geliefert, woraus sich somit das zuvor erwähnte erste Problem ergibt, dass das System eine unerwartete Operation durchführt.
  • Das U.S. Patent Nr. 6,069,628 offenbart einen Betrieb zur Navigation durch ein Anwendungsprogramm, eine Anwendungsfensterkonfiguration und eine Anwendungsprogrammsymboleingabe, welche in einer Navigatorfunktion bereitgestellt ist, die als Reaktion auf Tastenanschläge benannte Tastendarstellungen von Anwendungsprogrammen und Befehlen ausführt.
  • SCHEIFLER R. W. et al.: "The X Window System" ACM Transaction an Graphics, Association for Computing Machinery, New York, NY, US, Vol. 5, No. 2, April 1986, Seiten 79–109 offenbart eine Tastenereignissteuervorrichtung zum Erfassen eines Tastenereignisses, welches ein Ergebnis einer Tastenbedienung von einem Tastenliefergerät anzeigt, welches eine Änderung im Zustand einer Taste meldet, und zum Liefern des erfassten Tastenereignisses an ein vorbestimmtes Empfängerprogramm.
  • Aus dem Stand der Technik, insbesondere dem XWindowSystem, ist weiterhin eine Grabb-Annahmesektion zum Annehmen einer Anfrage von einem ersten Empfängerprogramm bekannt, um ein gewünschtes Tastenereignis anstelle eines zweiten Empfängerprogramms zu grabben, das ein üblicher Empfänger von Tastenereignissen vom Tastenliefergerät ist.
  • Offenbarung der Erfindung
  • Die vorliegende Erfindung wurde gemacht, um zumindest das zuvor erwähnte erste Problem und das zweite Problem (und ferner das dritte und vierte Problem nach einigen Varianten davon), zu lösen, und eine Aufgabe davon ist es, eine Tastenereignissteuervorrichtung bereitzustellen, welche in einer Umgebung, die eine Vielzahl von Fenstern enthält, Tastenereignisse liefert, welche auf der Grundlage einer Vielzahl von Tastenereignissen festgestellt werden, die während des Bedienungsvorgangs eines Nutzers in einem Fenster auftreten, das ein Empfänger einer vorbedingten Lieferung oder ein Fokusfenster ist.
  • Die obige Aufgabe wird durch die Merkmale der Patentansprüche 1, 9 und 10 gelöst. Ausführungen der Erfindung werden durch die Merkmale der Patentansprüche 2 bis 8 beschrieben.
  • Die Tastenereignissteuervorrichtung nach der vorliegenden Erfindung umfasst insbesondere: eine Grabb-Annahmesektion zur Annahme einer Anfrage von einem ersten Empfängerprogramm (z. B. die zuvor erwähnte Grabb-Anwendung), um ein gewünschtes Tastenereignis anstelle eines zweiten Empfängerprogramms (z. B. die zuvor erwähnte aktive Anwendung), das ein üblicher Empfänger von Tastenereignissen von einem Tastenliefergerät (z. B. das zuvor erwähnte Tastenliefergerät) ist, zu grabben; und eine Grabb-Anfragesektion zum Zurückhalten von zumindest einer Tastenereignisanfragereihe, die aus einer Vielzahl von Tastenereignissen besteht, die bis zum Zeitpunkt ausgelöst werden können, an welchem ein Tastenereignis, das zu einem Ergebnis einer Tastenbedienung durch einen Nutzer korrespondiert, festgestellt wird, und zur Anfrage an das Tastenliefergerät, alle Tastenereignisse an die Tastenereignissteuervorrichtung zu melden, welche zu einem der zumindest einen Tastenereignisanfragereihe gehören, welche das gewünschte Tastenereignis enthält.
  • Nach der vorliegenden Erfindung erfasst eine einzelne Tastenereignissteuervorrichtung universell alle Ereignisse hinsichtlich einer Vielzahl von Tasten, die während einer Reihe von Tastenbedienungen ausgelöst werden, wodurch die Fehlfunktion wegen einer zwischen einem Fokusfenster und einem Fenster, welches ein Empfänger einer vorbedingten Lieferung ist, geteilten Lieferung verhindert werden kann.
  • Nach mehreren Varianten der vorliegenden Erfindung können die folgenden Effekte erhalten werden.
  • Es ist möglich, das Problem des Grabbens von Tastenereignissen, welche gerade keine Grabb-Ziele sind, und das Problem dahingehend, dass eine Vielzahl von Fenstern nicht das gleiche Tastenereignis grabben kann, zu verhindern, welche wegen der Gestaltung des vorbedingten Tastenerfassungsmechanismus eines herkömmlich verwendeten Fenstersystems bestehen.
  • Aus dem Obigen wird das Grabben von Tastenereignissen für Anwendungen möglich, sogar in einer Umgebung, in der Tastenfunktionen abhängig von der Tastenbedienung variieren. Daher genügt es, in dem Fall, wenn es wünschenswert ist, einen bestimmten Vorgang für eine bestimmte Tastenbedienung über das gesamte System einheitlich durchzuführen, wenn die eine Anwendung, welche dieses Tastenereignis grabbt, zum Unterstützen derselben modifiziert wird, und jede spezielle Verarbeitung der anderen bestehenden Anwendungen ist unnötig. Somit kann eine vereinheitlichte Verarbeitung über das gesamte System durchgeführt werden, sogar bei einer Anwendung, wie einem heruntergeladenen Teil einer freien Software oder dgl.
  • Durch Senden eines bestimmten Ereignisses an alle Fenster wird es für den Nutzer möglich, auf allen Fenstern universell andere Vorgänge als Fensterbedienungen durchzuführen, welche nicht durch eine Fensterverwaltung unterstützt würden.
  • Darüber hinaus braucht man im Fall der Anwendung der vorliegenden Erfindung in einem bestehenden System nur zusätzlich die Tastenereignissteuervorrichtung einzuführen, ohne das Fenstersystem modifizieren zu müssen. Daher ist es möglich, ein üblicherweise verwendetes Fenstersystem zu verwenden, so dass der Softwareentwicklungsumfang, die Entwicklungskosten und die Anzahl der zu entwickelnden Schritte reduziert werden können.
  • Kurze Beschreibung der Zeichnungen
  • 1 ist ein Blockschaltbild, welches eine beispielhafte Konfiguration einer Tastenereignissteuervorrichtung nach einer Ausführungsform 1 der vorliegenden Erfindung veranschaulicht.
  • 2 ist ein Diagramm, welches eine beispielhafte Tastenereignisanfragereihe nach der vorliegenden Erfindung veranschaulicht.
  • 3 ist ein Diagramm, welches eine andere beispielhafte Tastenereignisanfragereihe nach der vorliegenden Erfindung veranschaulicht.
  • 4 ist ein Diagramm, welches eine beispielhafte Tastenereignisfeststellungsreihe nach der vorliegenden Erfindung veranschaulicht.
  • 5 ist ein Diagramm, welches eine andere beispielhafte Tastenereignisfeststellungsreihe nach der vorliegenden Erfindung veranschaulicht.
  • 6 ist ein Diagramm, welches eine beispielhafte Datenstruktur einer Tastenereignisfeststellungsreihe nach der vorliegenden Erfindung veranschaulicht.
  • 7 ist ein Diagramm, welches eine exemplarische Datenstruktur einer Tastenereigniszurückhaltesektion nach der vorliegenden Erfindung veranschaulicht.
  • 8 ist ein Ablaufdiagramm, welches einen Ablauf eines Tastenereignisgrabbanfragevorgangs nach der Ausführungsform 1 der vorliegenden Erfindung veranschaulicht.
  • 9 ist ein Ablaufdiagramm, welches einen Ablauf eines Tastenereignisfiltervorgangs nach der Ausführungsform 1 der vorliegenden Erfindung veranschaulicht.
  • 10 ist ein Blockschaltbild, welches eine beispielhafte Konfiguration einer Tastenereignissteuervorrichtung nach einer Ausführungsform 2 der vorliegenden Erfindung veranschaulicht.
  • 11 ist ein Ablaufdiagramm, welches einen Ablauf eines Tastenereignisfiltervorgangs nach der Ausführungsform 2 der vorliegenden Form veranschaulicht.
  • 12 ist ein Diagramm, welches ein spezielles Beispiel eines Tastenereignisfiltervorgangs nach der Ausführungsform 2 der vorliegenden Erfindung veranschaulicht.
  • 13 ist ein Diagramm, welches ein anderes spezielles Beispiel eines Tastenereignisfiltervorgangs nach der Ausführungsform 2 der vorliegenden Erfindung veranschaulicht.
  • 14 ist ein Diagramm, welches noch ein anderes spezielles Beispiel eines Tastenereignisfiltervorgangs nach der Ausführungsform 2 der vorliegenden Erfindung veranschaulicht.
  • 15 ist ein Blockschaltbild, welches eine beispielhafte Konfiguration einer Tastenereignissteuervorrichtung nach einer Ausführungsform 3 der vorliegenden Erfindung veranschaulicht.
  • 16 ist ein Ablaufdiagramm, welches einen Ablauf eines Tastenereignisfiltervorgangs nach der Ausführungsform 3 der vorliegenden Erfindung veranschaulicht.
  • 17 ist ein Blockschaltbild, welches eine beispielhafte Konfiguration einer Tastenereignissteuervorrichtung nach einer Ausführungsform 4 der vorliegenden Erfindung veranschaulicht.
  • 18 ist ein Ablaufdiagramm, welches einen Ablauf eines Tastenereignisgrabbanfragevorgangs nach der Ausführungsform 4 der vorliegenden Erfindung veranschaulicht.
  • 19 ist ein Ablaufdiagramm, welches einen Ablauf eines Tastenereignisliefervorgangs nach der Ausführungsform 4 der vorliegenden Erfindung veranschaulicht.
  • 20 ist ein Blockschaltbild, welches eine beispielhafte Konfiguration einer Tastenereignissteuervorrichtung nach einer Ausführungsform 5 der vorliegenden Erfindung veranschaulicht.
  • 21 ist ein Vorgangssequenzdiagramm einer herkömmlichen Technik, in dem Fall, wenn "lang gedrückte" und "kurz gedrückte" virtuelle Tasten unterstützt werden.
  • 22 ist ein Vorgangssequenzdiagramm einer herkömmlichen Technik, in dem Fall, wenn eine Funktionsstörung einer kurz gedrückten Verarbeitung auftritt.
  • 23 ist ein Vorgangssequenzdiagramm eines herkömmlichen Fenstersystems, in dem Fall, wenn eine falsche Lieferung von Tastenereignissen auftritt, welche keine Grabb-Ziele sind.
  • Bester Weg zum Ausführen der Erfindung
  • Nachstehend werden Ausführungsformen der vorliegenden Erfindung mit Bezug auf die Figuren beschrieben.
  • Obwohl die Ausführungsformen den Fall beschreiben, in dem ein Fenstersystem als Tastenliefergerät gewählt ist, ist die vorliegende Erfindung auch auf den Fall anwendbar, in dem ein anderes Tastenliefergerät als ein Fenstersystem eingesetzt wird, z. B. ein Mechanismus, welcher Änderungen in Zuständen von Tasten während Inter-Task-Kommunikationen in einem Echtzeit-OS meldet. Lieferziele von Tasten sind nicht auf Fenster begrenzt, sondern können jegliche Programme (einschließlich Anwendungen, Child-Fenstern oder dgl.) sein.
  • (Ausführungsform 1)
  • In 1 ist als Ausführungsform 1 der vorliegenden Erfindung ein Fall veranschaulicht, in dem die Tastenereignissteuervorrichtung einen Tastenereignisgrabbanfragevorgang und einen Tastenereignisfiltervorgang durchführt.
  • 1 ist ein Blockschaltbild, welches eine beispielhafte Konfiguration der Tastenereignissteuervorrichtung nach Ausführungsform 1 der vorliegenden Erfindung veranschaulicht.
  • Ein Fenstersystem 32, welches ein Beispiel eines Tastenliefergeräts ist, hat die Funktion zum Liefern von Tastenereignissen an vorbestimmte Fenster. Obwohl das Fenstersystem 32 üblicherweise Tastenereignisse an ein Fokusfenster liefert, funktioniert das Fenstersystem 32 ferner zum Liefern von speziellen Tastenereignissen an spezielle Fenster. Das Fokusfenster ist ein Fenster, welches durch einen Nutzer oder eine Anwendung als Lieferziel für Tastenereignisse benannt worden ist.
  • Obwohl das Fenstersystem 32 üblicherweise Tastenereignisse an das Fokusfenster 34 liefert, werden bei der vorliegenden Ausführungsform einige Tastenereignisse vom Fenstersystem 32 über die Tastenereignissteuervorrichtung 12 an ein Grabb-Fenster 10 gemeldet. Das Grabb-Fenster 10 ist hierin ein Fenster, welches das Grabben eines speziellen Tastenereignisses von der Tastenereignissteuervorrichtung 12 angefragt hat. Das Grabb-Fenster 10 kann das Fokusfenster 34 sein.
  • Die Tastenereignissteuervorrichtung 12 in 1 umfasst eine Grabb-Annahmesektion 14, eine Grabb-Anfragesektion 16, eine Tastenereignisliefersektion 18, eine Tastenereigniskonvertierungssektion 20, eine Bestimmungssektion für gelieferte Tastenereignisse 22, eine Tastenereigniszurückhaltesektion 24, eine Tastenereignisentfernungssektion 26, eine Beseitigungssektion für zurückgehaltenen Inhalt 28 und eine Tastenereigniserfassungssektion 30.
  • Zuerst wird ein Tastenereignisgrabbanfragevorgang beschrieben.
  • Die Grabb-Annahmesektion 14 nimmt eine Grabb-Anfrage vom Grabb-Fenster 10 (welches Informationen enthält, welches Tastenereignis zu grabben ist) an, speichert diese Anfrage und meldet der Grabb-Anfragesektion 16, dass eine Grabb-Anfrage angenommen worden ist.
  • Die Grabb-Anfragesektion 16 hält vorher eine Tastenereignisanfragereihe 36 zurück, welche aus einer Vielzahl von Tastenereignissen besteht, wie in 2 beispielhaft erläutert ist. Die Grabb-Anfragesektion 16 kann eine Vielzahl von Tastenereignisanfragereihen zurückhalten. Falls die Tastenereignisse, welche Grabb-Ziele sind, wie von der Grabb-Annahmesektion 14 gemeldet, zu einer der durch die Grabb-Anfragesektion 16 zurückgehaltenen Tastenereignisanfragereihen gehören, stellt die Grabb-Anfragesektion 16 eine Anfrage an das Fenstersystem 32, alle Tastenereignisse zu grabben, die zu dieser Tastenereignisanfragereihe gehören.
  • Jede Tastenereignisanfragereihe besteht aus einer Vielzahl von Tastenereignissen, die bis zu dem Zeitpunkt ausgelöst werden können, an dem ein Tastenereignis festgestellt wird, das zum Bedienungsergebnis des Nutzers korrespondiert.
  • Falls es z. B. ein lang gedrücktes Tastenereignis und ein kurz gedrücktes Tastenereignis gibt, welche jeweils eine lang gedrückte (so genanntes "Halten") Bedienung und eine kurz gedrückte (so genannter "Klick") Bedienung für die Taste X melden, und falls der Nutzer die Taste X lange gedrückt hat, wird ein X-kurz gedrückt-Tastendruckereignis vom Fenstersystem 32 ausgelöst, wenn der Nutzer die Taste X gedrückt hat. Wenn ein langes Drücken nach Ablauf eines bestimmten Zeitraums festgestellt worden ist, wird danach ein X-lang gedrückt-Tastendruckereignis vom Fenstersystem 32 ausgelöst. Dann, wenn der Nutzer die Taste X gehen lässt (d. h. loslässt), werden ein X-kurz gedrückt-Tastenloslassereignis und ein X-lang gedrückt-Tastenloslassereignis vom Fenstersystem 32 ausgelöst. Somit wird ein kurz gedrücktes Tastenereignis auch während der lang gedrückten Tastenbedienung des Nutzers ausgelöst. Die Grabb-Anfragesektion 16 hält alle der obigen vier Tastenereignisse, die bei einer lang gedrückten Tastenbedienung ausgelöst werden, als eine Tastenereignisanfragereihe 36 zurück, wie in 2 gezeigt ist. Falls eine Grabb-Anfrage für eine der obigen vier Tastenereignisse, die in der Tastenereignisanfragereihe 36 enthalten sind, durch das Grabb-Fenster 10 gemacht wird, stellt die Grabb-Anfragesektion 16 eine Anfrage an das Fenstersystem 32, um alle der obigen vier Tastenereignisse, die in der Tastenereignisanfragereihe 36 enthalten sind, zu grabben.
  • In einem anderen Beispiel, in dem Fall, wenn ein virtuelles Tastenereignis auszulösen ist, wenn zwei Tasten A und B gleichzeitig gedrückt werden, so dass sich das virtuelle Tastenereignis von jenem unterscheidet, das ausgelöst wird, wenn die Taste A oder die Taste B alleine gedrückt wird, hält die Grabb-Anfragesektion 16 die vier Tastenereignisse in der Tastenereignisanfragereihe 37 zurück, die während einer derartigen gleichzeitigen Druckbedienung (A drücken, A loslassen, B drücken, B loslassen) auftreten können, wie in 3 gezeigt ist. Falls das Grabben in Bezug auf eines dieser vier Tastenereignisse gemacht wird, fragt die Grabb-Anfragesektion 16 beim Fenstersystem 32 an, alle der obigen vier Tastenereignisse, die in der Tastenereignisanfragereihe 37 enthalten sind, zu grabben.
  • Die Grabb-Anfragesektion 16 kann zur gleichen Zeit die in 2 gezeigte Tastenereignisanfragereihe 36 und die in 3 gezeigte Tastenereignisanfragereihe 37 zurückhalten.
  • Sobald die Tastenereignissteuervorrichtung 12 eine Anfrage an das Fenstersystem 32 zum Grabben spezieller Tastenereignisse stellt, wird das Fenstersystem 32 danach derartige spezielle Tastenereignisse an die Tastenereignissteuervorrichtung 12 melden und wird jedes andere Tastenereignis an das Fokusfenster 34 melden. Im Ergebnis wird die Tastenereignissteuervorrichtung 12 alle Tastenereignisse universell erfassen, die während einer speziellen Tastenbedienung ausgelöst werden, wodurch jede Funktionsstörung wegen einer Reihe von Tastenereignissen verhindert wird, die während einer zwischen einem Fokusfenster und einem Fenster, das ein Empfänger einer vorherigen Lieferung ist (Grabb-Fenster), geteilt gelieferten Tastenbedienung ausgelöst werden.
  • Als nächstes wird ein Tastenereignisfiltervorgang beschrieben.
  • Die Tastenereigniserfassungssektion 30 erfasst ein Tastenereignis, das vom Fenstersystem 32 gemeldet worden ist, und meldet dieses Tastenereignis an die Bestimmungssektion für gelieferte Tastenereignisse 22. Zur gleichen Zeit meldet die Tastenereigniserfassungssektion 30 an die Tastenereignisentfernungssektion 26 und die Beseitigungssektion für zurückgehaltenen Inhalt 28, dass eine Erfassung eines Tastenereignisses aufgetreten ist. Die Tastenereigniserfassungssektion 30 kann diese Meldung durch Verwenden eines bestimmten Ereignisses machen, welches anzeigt, dass eine Erfassung eines Tastenereignisses aufgetreten ist, oder kann das erfasste Tastenereignis selbst zur Meldung verwenden.
  • Die Bestimmungssektion für gelieferte Tastenereignisse 22 empfängt das Tastenereignis von der Tastenereigniserfassungssektion 30, speichert das Tastenereignis in der Tastenereigniszurückhaltesektion 24 und bestimmt das zu liefernde Tastenereignis. Wenn das zu liefernde Tastenereignis eindeutig festgestellt worden ist, meldet die Bestimmungssektion für gelieferte Tastenereignisse 22 dieses festgestellte Tasten ereignis an die Tastenereigniskonvertierungssektion 20 und beseitigt dieses festgestellte Tastenereignis, das in der Tastenereigniszurückhaltesektion 24 gespeichert ist. Nur falls das zu liefernde Tastenereignis nicht eindeutig festgestellt wird, kann die Bestimmungssektion für gelieferte Tastenereignisse 22 das von der Tastenereigniserfassungssektion 30 empfangene Tastenereignis in der Tastenereigniszurückhaltesektion 24 speichern. Die Details der Tastenereigniszurückhaltesektion 24 werden später beschrieben.
  • Beim Bestimmen des zu liefernden Tastenereignisses verwendet die Bestimmungssektion für gelieferte Tastenereignisse 22 eine zuvor festgelegte Tastenereignisfeststellungsreihe als Bestimmungskriterium für die Bestimmung. Die Tastenereignisfeststellungsreihe besteht aus einer Vielzahl von Tastenereignissen zum Feststellen von Tastenbedienungen, die nur auf der Grundlage eines einzelnen Tastenereignisses nicht festgestellt werden können. Falls z. B. eine kurz gedrückte Bedienung und eine lang gedrückte Bedienung für eine gegebene Taste X möglich sind, kann eine Tastenbedienung eines Nutzers nicht eindeutig einer kurz gedrückten Bedienung oder einer lang gedrückten Bedienung zugeordnet werden, wenn ein X-kurz gedrückt-Tastendruckereignis gerade vom Fenstersystem 32 ausgelöst worden ist. Mit anderen Worten kann die Tastenbedienung des Nutzers nur auf eine kurz gedrückte Bedienung bestimmt werden, wenn sowohl ein X-kurz gedrückt-Tastendruckereignis und ein X-kurz gedrückt-Tastenloslassereignis gesichert worden sind. Demnach wird dieses aus einem X-kurz gedrückt-Tastendruckereignis und einem X-kurz gedrückt-Tastenloslassereignis bestehende Paar zuvor als eine Tastenereignisfeststellungsreihe 38 in der Bestimmungssektion für gelieferte Tastenereignisse 22 zurückgehalten, wie in 4 gezeigt ist. Was die lang gedrückte Bedienung betrifft, kann die Tastenbedienung des Nutzers als eine lang gedrückte Bedienung bestimmt werden, sobald ein X-lang gedrückt-Tasten druckereignis alleine ausgelöst wird, und daher ist keine Tastenereignisfeststellungsreihe nötig, die auf die lang gedrückte Bedienung gerichtet ist. In der Bestimmungssektion für gelieferte Tastenereignisse 22 kann eine Vielzahl von Tastenereignisfeststellungsreihen festgelegt sein.
  • Als ein anderes Beispiel einer Tastenereignisfeststellungsreihe, in dem Fall, wenn ein virtuelles Tastenereignis (Drücken von X) auszulösen ist, wenn zwei Tasten A und B gleichzeitig gedrückt werden, so dass sich das virtuelle Tastenereignis von jenem unterscheidet, das ausgelöst wird, wenn die Taste A oder die Taste B alleine gedrückt wird, werden vier Tastenereignisfeststellungsreihen 39a, 39b, 39c und 39d, wie in (a) bis (d) von 5 gezeigt ist, in der Bestimmungssektion für gelieferte Tastenereignisse 22 festgelegt. In diesem Fall wird das aus einem A-Tastendruckereignis und einem B-Tastendruckereignis bestehende Paar durch die Tastenereigniskonvertierungssektion 20 in ein X-Tastendruckereignis konvertiert, und das aus einem A-Tastenloslassereignis und einem B-Tastenloslassereignis bestehende Paar wird in ein X-Tastenloslassereignis konvertiert. Das aus einem A-Tastendruckereignis und einem A-Tastenloslassereignis bestehende Paar und das aus einem B-Tastendruckereignis und einem B-Tastenloslassereignis bestehende Paar werden nicht konvertiert.
  • 6 veranschaulicht eine beispielhafte Datenstruktur einer Datenereignisfeststellungsreihe, die in der Bestimmungssektion für gelieferte Tastenereignisse 22 festgelegt ist. Die Einstellverwaltungsinformationen 40 enthalten eine Liste von Adressen 42a, 42b, 42c, 42d einer Vielzahl von Tastenereignisfeststellungsreihendaten 44, die festgelegt sind. Alle Tastenereignisfeststellungsreihendaten 44 enthalten Adressen 46a, 46b, 46c und 46d von Tastenereignisinformationen 48, die Informationen hinsichtlich der jeweiligen zu dieser Reihe gehörenden Tastenereignisse anzeigen. Als Informationen zum Spezifizieren eines Tastenereignisses enthalten die Tastenereignisinformationen 48 einen Tastenereignistyp 50, der den Ereignistyp anzeigt, z. B. Drücken oder Loslassen, und einen Tastencode 52, der anzeigt, zu welcher Taste das Ereignis korrespondiert. Die Tastenereignisinformationen 48 können jegliche Informationen sein, die ein Tastenereignis spezifizieren können. Anstatt den Tastenereignistyp 50 und den Tastencode 52 als Tastenereignisinformation 48 zu beschreiben, kann jedem Tastenereignis eine Kennung zugewiesen werden und die Kennung kann als Tastenereignisinformation 48 beschrieben werden. Was die Einstellart der Tastenereignisfeststellungsreihen betrifft, können die Tastenereignisfeststellungsreihen zum Zeitpunkt der Systementwicklung statisch einbezogen werden, oder können zu jedem beliebigen Zeitpunkt, abhängig von den Bedürfnissen der Anwendung, dynamisch festgelegt werden. Die Tastenereignisfeststellungsreihe wird festgelegt, so dass ihre Bestandteile Tastenereignisse sind, für die ein Tastenbedienungsergebnis nicht alleine auf der Grundlage eines einzelnen Tastenereignisses feststellbar wäre, und um alle Tastenereignisse zu enthalten, die zum Feststellen der Tastenbedienung nötig sind.
  • Die Tastenereignisrückhaltesektion 24 hält vorübergehend zumindest Tastenereignisse zurück, für die ein Tastenbedienungsergebnis nicht allein auf der Grundlage eines einzelnen Tastenereignisses feststellbar wäre, und ist als Speichergerät implementiert, wie ein Speicher, der vorübergehend die zurückzuhaltenden Tastenereignisse zurückhalten kann. 7 veranschaulicht eine beispielhafte Datenstruktur der in der Tastenereigniszurückhaltesektion 24 zurückgehaltenen Daten. In den zurückgehaltenen Daten 54 wird eine Liste von Adressen 56a, 56b, 56c, 56d, 56e der zurückzuhaltenden Ereignisdaten 58 zurückgehalten. Alle Ereignisdaten 58 enthalten einen Tastenereignistyp 60, der den Ereignistyp anzeigt, z. B. Drücken oder Loslassen, einen Fensteridentifizierer 62 zum Identifi zieren des Fokusfensters zum Eintrittszeitpunkt dieses Ereignisses, eine Ereigniseintrittszeit 64 und einen Tastencode 66, der anzeigt, zu welcher Taste das Ereignis korrespondiert. Diese Ereignisdaten 58 hängen jedoch von den Einzelheiten des Fenstersystems 32 ab, welches Ereignisse meldet, so dass aus dem zuvor erwähnten Tastenereignistyp 60, dem Fensteridentifizierer 62, der Ereigniseintrittszeit 64, dem Tastencode 66 jedes unnötige eliminiert werden kann. Außerdem können die Ereignisdaten 58 Koordinaten auf einem Bildschirm enthalten, auf dem das Ereignis eingetreten ist, und einen Bildschirmidentifizierer zum Spezifizieren eines Bildschirms in dem Fall, wenn eine Vielzahl von Bildschirmen besteht, und dgl.
  • In dem Fall, wenn nur die Tastenereignisse, für die ein Tastenbedienungsergebnis nicht allein auf der Grundlage eines einzelnen Tastenereignisses feststellbar wäre, in der Tastenereigniszurückhaltesektion 24 gespeichert werden, sind die durch die Tastenereigniszurückhaltesektion 24 zurückzuhaltenden Tastenereignisse auf die Tastenereignisse begrenzt, welche in einer der Tastenereignisfeststellungsreihen enthalten sind, die in der Bestimmungssektion für gelieferte Tastenereignisse 22 festgelegt sind.
  • Die Tastenereigniskonvertierungssektion 20 konvertiert die Tastenereignisse, die durch die Bestimmungssektion für gelieferte Tastenereignisse 22 bestimmt worden sind, in andere Tastenereignisse. Das Konvertierungsverfahren von Tastenereignissen enthält: Kombinieren einer Vielzahl von Tastenereignissen derart, dass sie in ein anderes Tastenereignis konvertiert werden; Konvertieren eines einzelnen Tastenereignisses in eine Vielzahl von Tastenereignissen; Konvertieren eines einzelnen Tastenereignisses in ein anderes Tastenereignis; und dgl. Das Kombinieren einer Vielzahl von Tastenereignissen kann, in dem Fall, wenn ein Druckereignis einer RECHTS-Taste und ein Druckereignis einer OBEN-Taste als die zu liefernden Tastenereignisse bestimmt worden sind, z. B. das Konvertieren dieser beiden Tastenereignisse in ein OBEN-RECHTS-Tastendruckereignis sein. Das Konvertieren eines einzelnen Tastenereignisses in eine Vielzahl von Tastenereignisse ist eine Umkehrung des obigen Beispiels, z. B. das Konvertieren eines OBEN-RECHTS-Tastendruckereignisses in ein Druckereignis einer RECHTS-Taste und ein Druckereignis einer NACH OBEN-Taste. Das Konvertieren eines einzelnen Tastenereignisses in ein anderes Tastenereignis kann z. B. das Konvertieren eines Druckereignisses einer RECHTS-Taste in ein Druckereignis einer OBEN-Taste sein. Derartige Konvertierungen können durch vorheriges Einstellen von Konvertierungsregeln in der Tastenereigniskonvertierungssektion 20 realisiert werden, wie in den obigen Beispielen beispielhaft dargestellt ist, und durch Konvertieren, mittels der Tastenereigniskonvertierungssektion 20, der Tastenereignisse, die durch die Bestimmungssektion für gelieferte Tastenereignisse 22 als die zu liefernden Tastenereignisse bestimmt worden sind, wobei die Konvertierung in Übereinstimmung mit den Konvertierungsregeln ausgeführt wird. Die Tastenereigniskonvertierungssektion 20 konvertiert nicht notwendigerweise alle Tastenereignisse. Was Tastenereignisse betrifft, die keine Konvertierungsziele sind, meldet die Tastenereigniskonvertierungssektion 20 diese an die Tastenereignisliefersektion 18, ohne dafür etwas durchzuführen.
  • Die Tastenereignisliefersektion 18 meldet das/die von der Tastenereigniskonvertierungssektion 20 gemeldete(n) Tastenereignis(se) an das Grabb-Fenster 10. Durch Schreiben des/der Tastenereignisse(s), z. B. in eine Ereigniswarteschlange für das Grabb-Fenster 10, wird die Ereignislieferung erreicht.
  • Auf der Grundlage der Meldung von der Tastenereigniserfassungssektion 30 entfernt die Tastenereignisentfernungssektion 26 ein spezielles Tastenereignis, das in der Tastenereigniszurückhaltesektion 24 zurückgehalten wird, wenn dies durch die Erfassung eines speziellen Tastenereignisses durch die Tastenereignissteuervorrichtung 12 ausgelöst wird.
  • Z. B. in dem Fall, wenn das Tastenereignis b zu entfernen ist, wenn dies durch die Erfassung des Tastenereignisses a ausgelöst wird, wird die Tastenereignisentfernungssektion 26 das Tastenereignis b aus der Tastenereigniszurückhaltesektion 24 entfernen, falls es darin zurückgehalten wird, wenn die Erfassung des Tastenereignisses a von der Tastenereigniserfassungssektion 30 gemeldet wird. Falls das Tastenereignis b nicht in der Tastenereigniszurückhaltesektion 24 zurückgehalten wird, führt die Tastenereignisentfernungssektion 26 nichts durch. Es wäre ferner möglich, eine Vielzahl von zu entfernenden Tastenereignissen zu benennen, z. B. Entfernen der Tastenereignisse b und c, wenn das Tastenereignis a erfasst wird.
  • Derartige Tastendereignisentfernungsregeln werden festgelegt, wenn es notwendig ist, ein vorheriges Tastenereignis zu streichen, wenn ein bestimmtes Tastenereignis erfasst wird. Z. B. in dem Fall, wenn ein kurz gedrücktes Tastenereignis und ein lang gedrücktes Tastenereignis jeweils als Reaktion auf ein kurzes Drücken und ein langes Drücken einer Taste zu melden sind, wäre es notwendig, wenn ein lang gedrücktes Tastendruckereignis erfasst worden ist, das unmittelbar zuvor gemeldete kurz gedrückte Tastendruckereignis zu streichen. Daher wird eine Regel festgelegt, die besagt, dass ein kurz gedrücktes Tastendruckereignis entfernt wird, wenn dies durch ein lang gedrücktes Tastendruckereignis ausgelöst wird. In ähnlicher Weise ist eine Regel festgelegt, die besagt, dass ein kurz gedrücktes Tastenloslassereignis entfernt wird, wenn ein lang gedrücktes Tastenloslassereignis erfasst wird. In dem Fall, wenn es Loslass- und Tastendruckereignistypen gibt, kann durch Entfernen des in der Tastenereigniszurückhaltesektion 24 zurückgehaltenen Tastenloslassereignisses, wenn ein Tastendruckereignis erfasst wird, eine Funktionsstörung wegen eines in der Tastenereigniszurückhaltesektion 24 verbleibenden Loslassereignisses, das für eine vorhergehende Tastenbedienung ausgelöst wurde, verhindert werden.
  • Falls die Tastenereignissteuervorrichtung 12 nach einem bestimmten Zeitraum keine Tastenereignisse erfasst hat, entfernt die Beseitigungssektion für zurückgehaltenen Inhalt 28 alle in der Tastenereigniszurückhaltesektion 24 zurückgehaltenen Tastenereignisse. Die Beseitigungssektion für zurückgehaltenen Inhalt weist einen Zeitgeber zum Messen einer Zeitdauer auf, für die keine Tastenereignisse erfasst worden sind, und wird durch Neufestlegen des Zeitgebers, jedes Mal, wenn die Tastenereignissteuervorrichtung 12 ein Tastenereignis auf der Grundlage einer Meldung von der Tastenereigniserfassungssektion 30 erfasst, und durch Beseitigen des in der Tastenereigniszurückhaltesektion 24 zurückgehaltenen Inhalts, wenn die Zeit des Zeitgebers einen vorbestimmten Wert übersteigt, der vorher festgelegt wurde, implementiert.
  • Nachstehend wird ein spezielles Beispiel beschrieben. In dem Fall, wenn ein kurz gedrücktes Tastenereignis und ein lang gedrücktes Tastenereignis jeweils als Reaktion auf ein kurzes Drücken und ein langes Drücken einer Taste zu melden sind, kann die Tastenbedienung nicht allein mit einem kurz gedrückten Tastendruckereignis festgestellt werden, weil danach eine lang gedrückte Bedienung durchgeführt werden könnte. Eine kurz gedrückte Bedienung kann nur festgestellt werden, wenn sowohl ein kurz gedrücktes Tastendruckereignis und ein lang gedrücktes Tastenloslassereignis gesichert werden. Daher wird in der Bestimmungssektion für gelieferte Tastenereignisse 22 eine Tastenereignisfeststellung mit zwei Bestandteilen, einem kurz gedrückten Tastendruckereignis und einem lang gedrückten Tastenloslassereignis, festgelegt. Die Bestimmungssektion für gelieferte Tastenereignisse 22 vergleicht das durch die Tastenereigniszurückhaltesektion 24 zurückgehaltene Tastenereignis und die Tastenereignisfeststellungsreihe, die festgelegt worden ist, und stellt diese Tastenereignisse als die zu liefernden Tastenereignisse fest, falls alle Tastenereignisse, die zu einer gegebenen Tastenereignisfeststellungsreihe gehören, in der Tastenereigniszurückhaltesektion 24 zurückgehalten werden.
  • Z. B. in dem Fall, wenn drei Tastenereignisse a, b und c und ein aus einem Tastenereignis a und einem Tastenereignis b bestehendes Paar X und ein aus einem Tastenereignis a und einem Tastenereignis c bestehendes Paar Y als Tastenereignisfeststellungsreihen festgelegt sind, führt die Bestimmungssektion für gelieferte Tastenereignisse 22 nichts durch, während nur das Tastenereignis a in der Tastenereigniszurückhaltesektion 24 zurückgehalten wird. Danach, wenn das Tastenereignis b zusätzlich in der Tastenereigniszurückhaltesektion 24 zurückgehalten wird, werden alle Tastenereignisse a und b, die zur Tastenereignisfeststellungsreihe X gehören, zurückgehalten. Daher werden die Tastenereignisse a und b als die zu liefernden Tastenereignisse festgestellt; diese Tastenereignisse a und b werden von der Tastenereigniszurückhaltesektion 24 entfernt; und diese Tastenereignisse a und b werden an die Tastenereigniskonvertierungssektion 20 gemeldet. Falls das Tastenereignis c zum zurückgehaltenen Inhalt hinzugefügt wird, wenn das Tastenereignis a zurückgehalten wird, sind in ähnlicher Weise alle Tastenereignisse a und c, die zur Tastenereignisfeststellungsreihe Y gehören, gesichert worden, und daher werden die Tastenereignisse a und c als die zu liefernden Tastenereignisse festgestellt. Falls das Tastenereignis a zum zurückgehaltenen Inhalt hinzugefügt wird, wenn die Tastenereignisse b und c zurückgehalten werden, werden die Tastenereignisse, die zur zu liefernden Tastenereignisfeststellungs reihe X oder Y gehören, durch ein Verfahren des Bildens eines Paars, das aus einem der Tastenereignisse b und c, das zuerst zurückzuhalten war, und dem Tastenereignis a besteht, oder durch ein Verfahren des Zuweisens von Prioritäten an die Tastenereignisfeststellungsreihen bestimmt.
  • In dem Fall, wenn vier Tastenereignisse a, b, c und d und ein aus dem Tastenereignis a und dem Tastenereignis b bestehendes Paar X und ein aus dem Tastenereignis a und dem Tastenereignis c bestehendes Paar Y als Tastenereignisfeststellungsreihen festgelegt sind, werden die Tastenereignisse a, b und c, welche die Bestandteile der Paare X und Y sind, in der Tastenereigniszurückhaltesektion 24 zurückgehalten, aber das Tastenereignis d wird an die Tastenereignisliefersektion 18 über die Tastenereigniskonvertierungssektion 20 geliefert, ohne in der Tastenereigniszurückhaltesektion 24 zurückgehalten zu werden.
  • Wie vorher als ein zu lösendes Problem erwähnt, falls es notwendig ist, eine Änderung des Zustands einer Taste unmittelbar an das Grabb-Fenster 10 zu melden, kann dies durch Deaktivieren der Tastenereignisfeststellungsreihe, zu welcher das Tastenereignis gehört, dessen unmittelbare Erfassung gewünscht wird, realisiert werden. Mit Bezug auf das obige Beispiel, falls die unmittelbare Erfassung des Tastenereignisses b gewünscht wird, kann durch Deaktivieren der Tastenereignisfeststellungsreihe X das Tastenereignis b an die Tastenereignisliefersektion 18 über die Tastenereigniskonvertierungssektion 20 gemeldet werden, ohne in der Tastenereigniszurückhaltesektion 24 zurückgehalten zu werden und ohne von der Tastenereignisliefersektion 18 an das Grabb-Fenster 10 gemeldet zu werden.
  • Als nächstes wird ein Ablauf eines Tastenereignisgrabbanfragevorgangs nach Ausführungsform 1 der vorliegenden Erfindung mit Bezug auf das Ablaufdiagramm von 8 beschrieben.
  • Zuerst nimmt die Grabb-Annahmesektion 14 ein Tastenereignis an, das durch das Grabb-Fenster 10 zum Grabben angefragt worden ist, speichert diese Anfrage und meldet der Grabb-Anfragesektion 16, dass eine Anfrage angenommen worden ist (S10).
  • Als nächstes erfasst die Grabb-Anfragesektion 16 den Typ des Tastenereignisses, das zum Grabben angefragt worden ist, und prüft, ob dieses Tastenereignis in einer der Tastenereignisanfragereihen enthalten ist, die in der Grabb-Anfragesektion 16 zurückgehalten werden (S12). Falls das Tastenereignis in einer der Tastenereignisanfragereihen enthalten ist (S12, JA), stellt die Grabb-Anfragesektion 16 eine Anfrage an das Fenstersystem 32 zum Grabben aller Bestandteile der Tastenereignisanfragereihe, in der das Tastenereignis enthalten ist (S14). Andererseits, falls das Tastenereignis nicht in einer der Tastenereignisanfragereihen enthalten ist (S302, NEIN), stellt die Grabb-Anfragesektion 16 eine Anfrage an das Fenstersystem 32, nur dieses Tastenereignis zu grabben (S16).
  • Als nächstes wird ein Ablauf eines Tastenereignisfiltervorgangs nach Ausführungsform 1 mit Bezug auf das Ablaufdiagramm von 9 beschrieben.
  • Zuerst erfasst die Tastenereigniserfassungssektion 30 ein Tastenereignis vom Fenstersystem 32, meldet das erfasste Tastenereignis an die Bestimmungssektion für gelieferte Tastenereignisse 22 und meldet der Beseitigungssektion für zurückgehaltenen Inhalt 28 und der Tastenereignisentfernungssektion 26, dass ein Tastenereignis erfasst worden ist (S18). Dann setzt die Beseitigungssektion für zurückgehaltenen Inhalt 28 den Zeitgeber zurück (S20). Falls ein Tastenereignis erfasst wird, das eine Entfernung auslösen wird, prüft die Tastenereignisentfernungssektion 26, ob ein zu entfernendes Tastenereignis in der Tastenereigniszurückhaltesektion 24 zurückgehalten wird (S22), und falls ein solches zurückgehalten wird (S22, JA), entfernt die Tastenereignisentfernungssektion 26 das zu entfernende Tastenereignis aus der Tastenereigniszurückhaltesektion 24 (S24).
  • Als nächstes prüft die Bestimmungssektion für gelieferte Tastenereignisse 22, ob sich das erfasste Tastenereignis alleine in der Feststellung der Bedienung ergibt, oder mit anderen Worten, ob die Tastenbedienung nicht festgestellt werden kann bis ein anderes Tastenereignis gemeldet wird (S26). Dies wird auf der Grundlage bestimmt, ob das erfasste Tastenereignis in einer der Tastenereignisfeststellungsreihen enthalten ist, die in der Bestimmungssektion für gelieferte Tastenereignisse 22 festgelegt sind. Falls das erfasste Tastenereignis in keiner der Tastenereignisfeststellungsreihen enthalten ist (S26, JA), fährt der Vorgang bei Schritt S38 fort. Andererseits, falls das erfasste Tastenereignis in einer der Tastenereignisfeststellungsreihen enthalten ist (S26, NEIN), wird das erfasste Tastenereignis in der Tastenereigniszurückhaltesektion 24 zurückgehalten (S28).
  • Als nächstes prüft die Bestimmungssektion für gelieferte Tastenereignisse 22, ob es unter den festgelegten Tastenereignisfeststellungsreihen ein Paar (Tastenereignisfeststellungsreihe) gibt, wobei alle Tastenereignisse, welche dessen Bestandteile bilden, in der Tastenereigniszurückhaltesektion 24 zurückgehalten werden (S30). Falls ein derartiges Paar besteht, werden alle zu diesem Paar gehörende Tastenereignisse als die zu liefernden Tastenereignisse bestimmt, und diese zu liefernden Tastenereignisse werden an die Tastenereigniskonvertierungssektion 20 gemeldet (S32). Danach prüft die Tastenereigniskonvertierungssektion 20, ob eine Regel zum Kon vertieren dieser zu liefernden Tastenereignisse besteht (S34), und, falls eine derartige Regel gefunden wird, konvertiert diese zu liefernden Tastenereignisse nach dieser Regel (S36).
  • Die Tastenereignisliefersektion 18 liefert an das Grabb-Fenster 10: das durch die Prüfung von Schritt S26 als nicht in einer der Tastenereignisfeststellungsreihen enthalten bestimmte Tastenereignis; das zu liefernde konvertierte Tastenereignis, falls eine Konvertierung in Schritt S36 angewandt wurde; oder das in Schritt S32 bestimmte zu liefernde Tastenereignis, falls keine Konvertierung von Schritt S36 angewandt wurde (S38).
  • Obwohl im Ablaufdiagramm von 9 nicht gezeigt, beseitigt die Beseitigungssektion für zurückgehaltenen Inhalt 28 den in der Tastenereigniszurückhaltesektion 24 zurückgehaltenen Inhalt, falls der Zählwert des Zeitgebers, der die Zeitdauer misst, für welche keine Tastenereignisse vom Fenstersystem 32 an die Tastenereignissteuervorrichtung 12 gemeldet worden sind, einen vorbestimmten Wert übersteigt.
  • Da die Tastenereignissteuervorrichtung 12, wenn notwendig, vorübergehend die Tastenereignisse zurückhält, welche vom Fenstersystem 32 während einer Tastenbedingung ausgelöst werden, und Tastenereignisse an das Grabb-Fenster 10 meldet, nachdem die Tastenbedienung festgestellt wird, kann, wie oben beschrieben ist, eine Funktionsstörung wegen der Tastenereignisse, die während einer Tastenbedienung ausgelöst werden, verhindert werden.
  • In dem Fall, wenn es notwendig ist, eine Änderung im Zustand einer Taste unmittelbar an das Grabb-Fenster 10 zu melden, kann dies durch Deaktivieren von Tastenereignisfeststellungs reihe(n) realisiert werden, welche in der Bestimmungssektion für gelieferte Tastenereignisse 22 festgelegt ist/sind.
  • Die Beseitigungssektion für zurückgehaltenen Inhalt 28 und die Tastenereigniskonvertierungssektion 20 können weggelassen werden, falls sie unnötig sind.
  • Es ist ferner möglich, eine Funktion zu realisieren, die äquivalent zu jener der Tastenereignisentfernungssektion 26 ist, ohne die Tastenereignisentfernungssektion 26 vorzusehen. In diesem Fall wird eine lieferbar/unlieferbar-Markierung, die kennzeichnet, welches Tastenereignis zu liefern ist und welches Tastenereignis nicht zu liefern ist, wenn alle zu einer Tastenereignisfeststellungsreihe gehörende Tastenereignisse gesichert worden sind, zu jedem Teil von Tastenereignisinformationen 48 hinzugefügt, aus welchen die Tastenereignisfeststellungsreihe besteht. Dann, wenn alle zu der Tastenereignisfeststellungsreihe 102 gehörenden Tastenereignisse in der Tastenereigniszurückhaltesektion 24 gesichert worden sind (S30, JA), bestimmt die Bestimmungssektion für gelieferte Tastenereignisse 22 bei S32 nur diejenigen, deren lieferbar/unlieferbar-Markierungen "lieferbar" als die zu liefernden Tastenereignisse kennzeichnen, und entfernt die als "unlieferbar" gekennzeichneten von der Tastenereigniszurückhaltesektion 24. Im Ergebnis können die Tastenereignisse, die während einer Tastenbedienung erzeugt werden, unterdrückt werden, ohne die Tastenereignisentfernungssektion 26 vorzusehen, und es ist möglich, nur die Tastenereignisse zu liefern, die das Tastenbedienungsergebnis definieren.
  • (Ausführungsform 2)
  • Als Ausführungsform 2 der vorliegenden Erfindung wird eine beispielhafte Tastenereignissteuervorrichtung beschrieben, die einen Tastenereignisfiltervorgang durchführt, der sich von jenem der Ausführungsform 1 unterscheidet.
  • 10 ist ein Blockschaltbild, welches eine beispielhafte Konfiguration einer Tastenereignissteuervorrichtung nach Ausführungsform 2 der vorliegenden Erfindung veranschaulicht. In 10 sind Komponentenelemente, die ähnlich zu jenen in 1 gezeigten sind, durch die gleichen Bezugszeichen bezeichnet, und deren Beschreibungen werden weggelassen.
  • Die in 10 gezeigte Tastenereignissteuervorrichtung 68 umfasst eine Grabb-Annahmesektion 14, eine Grabb-Anfragesektion 16, eine Tastenereignisliefersektion 18, eine Tastenereigniserzeugnissektion 70, eine Tastendruckereignisablagesektion 72, eine Tastenloslassereignisablagesektion 74 und eine Tastenereigniserfassungssektion 30.
  • Die Grabb-Annahmesektion 14, die Grabb-Anfragesektion 16, die Tastenereignisliefersektion 18 und die Tastenereigniserfassungssektion 30 sind ähnlich zu jenen in Ausführungsform 1 und deren Beschreibungen werden weggelassen.
  • Die Tastenloslassereignisablagesektion 74 speichert abzulegende Ziele intern, und legt unter den von der Tastenereigniserfassungssektion 30 gemeldeten Tastenereignissen, alle Tastenloslassereignisse ab, die mit den Ablagezielen übereinstimmen. Da die Tastenloslassereignisablagesektion 74 jedes Tastenloslassereignis ablegt, kennzeichnet die Tastenloslassereignisablagesektion 74 das Tastenereignis außerdem nicht länger als ein Ablageziel. In einem Anfangszustand gibt es kein Ablageziel in der Tastenloslassereignisablagesektion 74. Wenn ein Tastendruckereignis (angenommen ein "L-Tastendruckereignis") von der Tastenereigniserfassungssektion 30 gemeldet wird, wird das S-Tastenloslassereignis, welches ein Gegenstück des S-Tastendruckereignisses ist, als ein Ablage ziel festgelegt, falls ein Tastendruckereignis (angenommen ein "S-Tastendruckereignis") besteht, welches mit einer Druckzeit auszulösen ist, die kürzer ist als die Druckzeit, mit welcher das L-Tastendruckereignis ausgelöst wird.
  • Es wird ein beispielhafter Vorgang der Tastenloslassereignisablagesektion 74 beschrieben. Vorausgesetzt, dass ein Tastendruckereignis X0 erzeugt wird, wenn eine gegebene Taste X gedrückt wird; ein Tastendruckereignis X1 erzeugt wird, nachdem sie für eine Zeit T1 gedrückt gehalten wird; ein Tastendruckereignis X2 erzeugt wird, nachdem sie für eine Zeit T2 (T1 < T2) gedrückt gehalten wird; ein Tastenloslassereignis X0 erzeugt wird, wenn die Taste X losgelassen wird; ein Tastenloslassereignis X1 erzeugt wird, wenn die Taste X1 losgelassen wird, nachdem sie für die Zeit T1 oder mehr gedrückt worden ist; und ein Tastenloslassereignis X2 erzeugt wird, wenn die Taste X losgelassen wird, nachdem sie für die Zeit T2 oder mehr gedrückt worden ist, führt die Tastenloslassereignisablagesektion 74 dann nichts zu dem Zeitpunkt durch, wenn das Tastendruckereignis X0 erfasst wird, weil es kein Tastenereignis gibt, das mit einer kürzeren Druckzeit als dieser erzeugt werden könnte. Wenn das Tastendruckereignis X1 erfasst wird, legt die Tastenloslassereignisablagesektion 74 das korrespondierende Tastenloslassereignis X0 als ein Ablageziel fest, da ein Tastendruckereignis (Tastendruckereignis X0) besteht, das mit einer kürzeren Druckzeit als jener für das Tastendruckereignis X1 erzeugt werden könnte. Wenn das Tastendruckereignis X2 erfasst wird, legt die Tastenloslassereignisablagesektion 74 ihre korrespondierenden Tastenloslassereignisse X0 und X1 als Ablageziele fest, da Tastendruckereignisse (Tastendruckereignis X0 und Tastendruckereignis X1) bestehen, die mit einer kürzeren Druckzeit als jener für das Tastendruckereignis X2 erzeugt werden könnten. Danach, wenn das Tastenloslassereignis X0 erfasst wird, legt die Tastenloslassereignisablagesektion 74 das Tastenloslassereignis X0 ab, falls das Tastenloslassereignis X0 als Ablageziel festgelegt worden ist, und kennzeichnet danach das Tastenloslassereignis X0 nicht länger als ein Ablageziel. In ähnlicher Weise wird, wenn das Tastenloslassereignis X1 erfasst wird, das Tastenloslassereignis X1 abgelegt, falls das Tastenloslassereignis X1 als Ablageziel festgelegt worden ist, und danach ist das Tastenloslassereignis X1 nicht länger als ein Ablageziel gekennzeichnet.
  • Nachdem von der Tastenloslassereignisablagesektion 74 ein anderes Tastenloslassereignis erfasst wird, als das Tastenloslassereignis, das auszulösen ist, wenn eine gegebene Taste losgelassen wird, nachdem für die längste Zeit gedrückt worden ist, erzeugt die Tastenereigniserzeugungssektion 70 ein Tastendruckereignis, das zu diesem Tastenloslassereignis korrespondiert, und meldet es an die Tastenereignisliefersektion 18. Mit Bezug auf das obige Beispiel ist das auszulösende Tastenereignis für die Taste X, wenn sie losgelassen wird, nachdem sie für die längste Zeit gedrückt worden ist, das Tastenloslassereignis X2. Daher erzeugt die Tastenereigniserzeugungssektion 70 das Tastendruckereignis X0 beim Erfassen des Tastenloslassereignisses X0 und erzeugt das Tastendruckereignis X1 beim Erfassen des Tastenloslassereignisses X1. Dies gilt in ähnlicher Weise für jede andere Taste; z. B., falls Loslassereignisse für die Taste Y die Tastenloslassereignisse Y0 bis Y4 sind, und falls das Tastenloslassereignis Y4 zu erzeugen ist, wenn die Taste losgelassen wird, nachdem sie für die längste Zeit gedrückt worden ist, erzeugt die Tastenereigniserzeugungssektion 70 jeweils die Tastendruckereignisse Y0 bis Y3 als Reaktion auf die Erfassung der Tastenloslassereignisse Y0 bis Y3.
  • Die Tastendruckereignisablagesektion 72 legt jedes andere Tastendruckereignis als das Tastendruckereignis, welches auszulösen ist, wenn jede Taste für die längste Zeit gedrückt wird, ab. Mit Bezug auf das obige Beispiel ist das für die Taste X auszulösende Tastendruckereignis, wenn sie für die längste Zeit gedrückt wird, das Tastendruckereignis X2. Wenn das Tastendruckereignis X0 und das Tastendruckereignis X1 erfasst werden, legt sie die Tastendruckereignisablagesektion 72 daher ab. Dies gilt in ähnlicher Weise für jede andere Taste; z. B., falls die Druckereignisse für die Taste Y die Tastendruckereignisse Y0 bis Y4 sind, und falls das Tastendruckereignis Y4 zu erzeugen ist, wenn sie für die längste Zeit gedrückt wird, legt die Tastendruckereignisablagesektion 72 die Tastendruckereignisse Y0 bis Y3 ab, wenn sie erfasst werden.
  • Als nächstes wird ein Ablauf eines Tastenereignisfiltervorgangs durch die Tastenereignissteuervorrichtung nach Ausführungsform 2 der vorliegenden Erfindung mit Bezug auf das Ablaufdiagramm von 11 beschrieben. In 11 sind alle Schritte, die ähnlich zu jenen in 9 sind, durch die gleichen Bezugszeichen bezeichnet.
  • Zuerst erfasst die Tastenereigniserfassungssektion 30 ein Tastenereignis vom Fenstersystem 32 und meldet das erfasste Tastenereignis an die Tastenloslassereignisablagesektion 74 (S18). Die Tastenloslassereignisablagesektion 74 prüft, ob das erfasste Tastenereignis ein Tastendruckereignis ist (S40). Falls es ein Tastendruckereignis ist (S40, JA), legt die Tastenloslassereignisablagesektion 74 in sich ein Tastenloslassereignis als ein Ablageziel fest, welches ein Gegenstück eines Tastendruckereignisses ist, das mit einer kürzeren Druckzeit als jener für das Tastendruckereignis erzeugt werden könnte, und meldet das erfasste Tastendruckereignis an die Tastendruckereignisablagesektion 72 (S42). Dann prüft die Tastendruckereignisablagesektion 72, ob das von der Tastenloslassereignisablagesektion 74 gemeldete Tastendruckereignis eines ist, welches zu erzeugen ist, wenn die Taste für die längste Zeit gedrückt wird (S44). Falls das Tastendruckereignis nicht jenes ist, das zu erzeugen ist, wenn für die längste Zeit gedrückt (S44, NEIN), wird es abgelegt (S46). Falls das Tastendruckereignis jenes ist, das zu erzeugen ist, wenn für die längste Zeit gedrückt (S44, JA) wird, wird dieses Tastendruckereignis an die Tastenereignisliefersektion 18 gemeldet.
  • Andererseits, falls das durch die Tastenereigniserfassungssektion 30 erfasste Tastenereignis ein Tastenloslassereignis ist (S40, NEIN), prüft die Tastenloslassereignisablagesektion 74, ob das erfasste Tastenloslassereignis als Ablageziel festgelegt worden ist (S48). Falls das erfasste Tastenloslassereignis als Ablageziel festgelegt worden ist (S48, JA), legt die Tastenloslassereignisablagesektion 74 das Tastenloslassereignis ab (S50) und kennzeichnet das Tastenloslassereignis danach nicht länger als Ablageziel (S52). Andererseits, falls das erfasste Tastenloslassereignis nicht als Ablageziel eingestellt worden ist (S48, NEIN), meldet die Tastenloslassereignisablagesektion 74 das erfasste Tastenloslassereignis an die Tastenereigniserzeugungssektion 70. Dann prüft die Tastenereigniserzeugungssektion 70, ob das von der Tastenloslassereignisablagesektion 74 gemeldete Tastenloslassereignis eines ist, das zu erzeugen ist, wenn die Taste für die längste Zeit gedrückt wird (S54), und falls es jenes ist, das zu erzeugen ist, wenn für die längste Zeit gedrückt (S54, JA), meldet sie nur das Tastenereignis, welches von der Tastenloslassereignisablagesektion 74 an die Tastenereignisliefersektion 18 gemeldet worden ist. Falls es nicht jenes ist, das zu erzeugen ist, wenn die Taste für die längste Zeit gedrückt wird (S54, NEIN), erzeugt die Tastenereigniserzeugungssektion 70 ein Tastendruckereignis, das ein Drücken derselben Taste als das zum gemeldeten Tastenloslassereignis korrespondierende, und meldet das Tastenereignis, das von der Tastenloslassereignisablagesektion 74 gemeldet worden ist, und das erzeugte Tastenloslassereignis an die Tastenereignisliefersektion 18 (S56).
  • Zuletzt liefert die Tastenereignisliefersektion 18 das Tastenereignis, welches von der Tastenereigniserzeugungssektion 70 oder der Tastendruckereignisablagesektion 72 an das Grabb-Fenster 10 gemeldet worden ist (S38).
  • Durch den obigen Vorgang werden z. B., in dem Fall, wenn Tastendruck- und Loslassereignisse korrespondierend zu einem kurzen Drücken (0), einem mittleren Drücken (1) und einem langen Drücken (2) einer gegebenen Taste auszulösen sind, nur Tastenereignisse, welche ein langes Drücken (Drücken 2, Loslassen 2) anzeigen, an die Tastenereignisliefersektion 18 gemeldet, falls die Taste, wie in 12 gezeigt ist, lang gedrückt wird; nur Tastenereignisse, welche ein mittleres Drücken (Drücken 1, Loslassen 1) an die Tastenereignisliefersektion 18 gemeldet, falls die Taste, wie in 13 gezeigt ist, mittel gedrückt wird; und nur Tastenereignisse, welche ein kurzes Drücken (Drücken 0, Loslassen 0) an die Tastenereignisliefersektion 18 gemeldet, falls die Taste, wie in 14 gezeigt ist, kurz gedrückt wird.
  • In dem Fall, in dem es zwei Tastenereignistypen gibt, d. h. Loslassen und Drücken, und sie als Ereignisse auf verschiedenen Tasten in Abhängigkeit der Länge, für welche eine Taste gedrückt wird, zu melden sind, unterdrückt die Tastenereignissteuervorrichtung daher die Tastenereignisse, welche während der Tastenbedienung ausgelöst werden, und meldet die festgestellten Tastenereignisse, wenn die Tastenbedienung festgestellt wird, wodurch eine Funktionsstörung wegen Tastenereignissen, welche während einer Tastenbedienung ausgelöst werden, verhindert werden kann.
  • In dem Fall, wenn es notwendig ist, unmittelbar eine Änderung im Zustand einer Taste zu melden, kann dies durch Nichtverwenden der Tastenereignissteuervorrichtung 12 realisiert werden, so dass das Grabb-Fenster 10 direkt Tastenereignisse vom Fenstersystem 32 erfasst.
  • (Ausführungsform 3)
  • Als Ausführungsform 3 der vorliegenden Erfindung wird eine beispielhafte Tastenereignissteuervorrichtung beschrieben, die einen Tastenereignisfiltervorgang durchführt, welcher sich von jenen der Ausführungsformen 1 und 2 unterscheidet.
  • 15 ist ein Blockschaltbild, welches eine beispielhafte Konfiguration einer Tastenereignissteuervorrichtung nach Ausführungsform 3 der vorliegenden Erfindung veranschaulicht. In 15 werden Komponentenelemente, welche ähnlich zu jenen in 1 gezeigten sind, durch die gleichen Bezugszeichen bezeichnet, und deren Beschreibungen werden weggelassen.
  • Die Tastenereignissteuervorrichtung von 15 umfasst eine Grabb-Annahmesektion 14, eine Grabb-Anfragesektion 16, eine Tastenereignisliefersektion 18, eine Tastenereigniszurückhaltesektion 24, eine Tastendruckereignisverarbeitungssektion 78, eine Tastenloslassereignisverarbeitungssektion 80 und eine Tastenereigniserfassungssektion 82.
  • Die Grabb-Annahmesektion 14, die Grabb-Anfragesektion 16, die Tastenereignisliefersektion 18 und die Tastenereigniszurückhaltesektion 24 sind ähnlich zu jenen in Ausführungsform 1 und deren Beschreibungen werden weggelassen.
  • Die Tastenereigniserfassungssektion 82 erfasst ein Tastenereignis, welches vom Fenstersystem 32 gemeldet wird, und gibt es an die Tastendruckereignisverarbeitungssektion 78 oder die Tastenloslassereignisverarbeitungssektion 80, abhängig vom Typ des Tastenereignisses, ab. Die Tastendruckereignisverarbeitungssektion 78 gibt ein lang gedrücktes Tastendruckereignis an die Tastenereignisliefersektion 18 ab und gibt ein kurz gedrücktes Tastendruckereignis an die Tastenereigniszurückhaltesektion 24 ab. Die Tastenloslassereignisverarbeitungssektion 80 gibt ein lang gedrücktes Tastenloslassereignis an die Tastenereignisliefersektion 18 ab. Wenn ein kurz gedrücktes Tastenloslassereignis empfangen wird, falls ein Tastendruckereignis in der Tastenereigniszurückhaltesektion 24 zurückgehalten wird, gibt die Tastenloslassereignisverarbeitungssektion 80 dieses Tastendruckereignis und das empfangene kurz gedrückte Tastenloslassereignis an die Tastenereignisliefersektion 18 ab.
  • Als nächstes wird ein Ablauf eines Tastenereignisfiltervorgangs durch die Tastenereignissteuervorrichtung nach Ausführungsform 3 der vorliegenden Erfindung mit Bezug auf das Ablaufdiagramm von 16 beschrieben. In 16 werden alle Schritte, welche ähnlich zu jenen von 9 sind, durch die gleichen Bezugszeichen bezeichnet.
  • Zuerst erfasst die Tastenereigniserfassungssektion 82 ein Tastenereignis vom Fenstersystem 32 (S18), und falls das erfasste Tastenereignis ein Tastendruckereignis ist, gibt sie es an die Tastendruckereignisverarbeitungssektion 78 ab, und falls es ein Tastenloslassereignis ist, gibt sie es an die Tastenloslassereignisverarbeitungssektion 80 ab (S58).
  • Falls das Tastenereignis an die Tastendruckereignisverarbeitungssektion 78 abgegeben wird, bestimmt die Tastendruckereignisverarbeitungssektion 78, ob das Tastenereignis, welches von der Tastenereigniserfassungssektion 30 abgegeben worden ist, ein lang gedrücktes Tastendruckereignis ist (S60). Falls es kein lang gedrücktes Tastendruckereignis ist (S60, NEIN), wird das Tastenereignis in der Tastenereigniszurückhaltesektion 24 gespeichert (S66). Andererseits, falls das abgegebene Tastenereignis ein lang gedrücktes Tastendruckereignis ist (S60, JA), wird das in der Tastenereigniszurückhaltesektion 24 gespeicherte Tastendruckereignis entfernt (S62), das lang gedrückte Tastendruckereignis an die Tastenereignisliefersektion 18 abgegeben und die Tastenereignisliefersektion 18 liefert das abgegebene Tastenereignis an das Grabb-Fenster 10 (S64).
  • Falls das Tastenereignis an die Tastenloslassereignisverarbeitungssektion 80 abgegeben wird, bestimmt die Tastenloslassereignisverarbeitungssektion 80, ob das Tastenereignis, welches von der Tastenereigniserfassungssektion 82 abgegeben worden ist, ein lang gedrücktes Tastenloslassereignis ist (S68). Falls es kein lang gedrücktes Tastenloslassereignis ist (S68, NEIN), wird geprüft, ob ein Tastendruckereignis in der Tastenereigniszurückhaltesektion 24 zurückgehalten wird (S72). Falls ein Tastendruckereignis zurückgehalten wird (S72, JA), wird das Tastendruckereignis von der Tastenereigniszurückhaltesektion 24 zurückgeholt und an die Tastenereignisliefersektion 18 abgegeben, und ferner wird das von der Tastenereigniserfassungssektion 82 abgegebene Tastenloslassereignis an die Tastenereignisliefersektion 18 abgegeben, und die Tastenereignisliefersektion 18 liefert das abgegebene Tastenereignis an das Grabb-Fenster 10 (S76). Andererseits, falls kein Tastendruckereignis in der Tastenereigniszurückhaltesektion 24 zurückgehalten wird (S72, NEIN), wird das Tastenloslassereignis, welches von der Tastenereigniserfassungssektion 82 abgegeben worden ist, abgelegt (S74). Falls das Tastenereignis, welches von der Tastenereigniserfassungssektion 82 abgegeben worden ist, ein lang gedrücktes Tastenloslassereignis ist, wird das Tastenereignis an die Tastenereignisliefersektion 18 abgegeben und die Tastenereignislie fersektion 18 liefert das abgegebene Tastenereignis an das Grabb-Fenster 10 (S70).
  • Somit unterdrückt die Tastenereignissteuervorrichtung in dem Fall, wenn es zwei Tastendrucktypen gibt, d. h. Loslassen und Drücken, und diese als Ereignisse auf unterschiedlichen Tasten in Abhängigkeit der Länge, für welche eine Taste gedrückt wird, zu melden sind, die Tastenereignisse, welche während der Tastenbedienung ausgelöst werden, und meldet die festgestellten Tastenereignisse, wenn die Tastenbedienung festgestellt wird, wodurch eine Funktionsstörung wegen der Tastenereignisse, welche während einer Tastenbedienung ausgelöst werden, verhindert werden kann.
  • (Ausführungsform 4)
  • Es wird ein beispielhafte Tastenereignissteuervorrichtung nach Ausführungsform 4 der vorliegenden Erfindung beschrieben.
  • 17 ist ein Blockschaltbild, welches eine beispielhafte Konfiguration einer Tastenereignissteuervorrichtung nach Ausführungsform 4 der vorliegenden Erfindung veranschaulicht. In 17 werden Komponentenelemente, welche ähnlich zu jenen in 1 gezeigten sind, durch die gleichen Bezugszeichen bezeichnet und deren Beschreibungen werden weggelassen.
  • Ein Eingabetastenereignis, welches vom Fenstersystem 32 gemeldet worden ist, wird über die Tastenereignissteuervorrichtung 96 an ein Grabb-Fenster 10, ein Fokusfenster 34, ein anderes Fenster 84 oder andere Tastenereignissteuervorrichtungen 83a, 83b gemeldet. In dem Fall, wenn eine Vielzahl von Grabb-Fenstern besteht, wird für jedes Grabb-Fenster eine Tastenereignissteuervorrichtung verwendet, um Attribute (z. B. Tastenereignisfeststellungsreihen und Tastenereignisse, die zu grabben sind) der Tastenereignissteuervorrichtung 96 hinsichtlich jedes Grabb-Fensters festlegen zu können. Das andere Fenster 84 ist ein anderes Fenster, welches weder das Grabb-Fenster noch das Fokusfenster ist. Die anderen Tastenereignissteuervorrichtungen 83a, 83b sind andere Tastenereignissteuervorrichtungen als die Tastenereignissteuervorrichtung 96 und werden jeweils von einem anderen Grabb-Fenster als dem Grabb-Fenster 10 verwendet. Das Grabb-Fenster 10 kann das Fokusfenster 34 sein.
  • Die Tastenereignissteuervorrichtung 96 in 17 umfasst eine Grabb-Annahmesektion 14, eine Übertragungsanfragesektion 86, eine Suchsektion 88, eine Grabb-Anfragesektion 16, eine Sektion zur verteilten Tastenereignislieferung 90, eine Tastenereignisübertragungssektion 92, eine Sendesektion 94, eine Tastenereigniskonvertierungssektion 20, eine Bestimmungssektion für gelieferte Tastenereignisse 22, eine Tastenereigniszurückhaltesektion 24, eine Tastenereignisentfernungssektion 26, eine Beseitigungssektion für zurückgehaltenen Inhalt 28 und eine Tastenereigniserfassungssektion 30.
  • Die Grabb-Annahmesektion 14, die Grabb-Anfragesektion 16, die Tastenereigniskonvertierungssektion 20, die Bestimmungssektion für gelieferte Tastenereignisse 22, die Tastenereigniszurückhaltesektion 24, die Tastenereignisentfernungssektion 26, die Beseitigungssektion für zurückgehaltenen Inhalt 28 und die Tastenereigniserfassungssektion 30 sind ähnlich zu jenen in Ausführungsform 1 und deren Beschreibungen werden weggelassen.
  • Die Grabb-Anfragesektion 16 hält alle der Vielzahl von Tastenereignissen zurück, welche bis zu der Zeit ausgelöst werden können, zu welcher ein zum Bedienungsergebnis des Nutzers korrespondierendes Tastenereignis als Tastenereignisanfragereihen festgestellt wird. Falls ein Tastenereignis, welches ein Grabb-Ziel ist, das von der Grabb-Annahmesektion 14 gemeldet worden ist, zu einer der Tastenereignisanfragereihen gehört, stellt die Grabb-Anfragesektion 16 eine Anfrage an das Fenstersystem 32, alle zu jener Tastenereignisanfragereihe gehörende Tastenereignisse zu grabben. Falls auf der Grundlage der Reaktion des Fenstersystems 32 herausgefunden wird, dass das zum Grabben angefragte Tastenereignis bereits durch eine andere Tastenereignissteuervorrichtung gegrabbt worden ist, meldet die Grabb-Anfragesektion 16 dies an die Suchsektion 88.
  • Nach Empfangen einer Meldung von der Grabb-Anfragesektion 16, dass die Grabb-Anfrage zum Fenstersystem 32 fehlgeschlagen ist, weil das durch das Grabb-Fenster 10 angefragte Tastenereignis bereits durch eine der anderen Tastenereignissteuervorrichtungen gegrabbt worden ist, sucht die Suchsektion 88 unter der Vielzahl von anderen Tastenereignissteuervorrichtungen nach der Tastenereignissteuervorrichtung, welcher das Grabben des durch das Grabb-Fenster 10 angefragten Tastenereignisses bereits gelungen ist. Ein spezielles Beispiel dieses Suchverfahrens kann ein Verfahren des Speicherns eines Identifizierers einer Tastenereignissteuervorrichtung, deren Grabb-Anfrage in einem geteilten Speicher oder dgl. erfolgreich gewesen ist, und des Durchführens einer Untersuchung des geteilten Speichern sein, ein Verfahren des Sendens einer Suchanfrage nach allen Tastenereignissteuervorrichtungen beim Durchführen einer Suche und Erhaltens von Reaktionen dazu, oder dgl.
  • Die Übertragungsanfragesektion 86 fragt bei der Tastenereignissteuervorrichtung, welcher bereits das Grabben gelungen ist (es wird hierin angenommen, dass dies die andere Tastenereignissteuervorrichtung 83a ist), wie durch die Suchsektion 88 herausgefunden, dem Tastenereignis, für welches das Grabb-Fenster 10 das Grabben angefragt hat, zu erlauben, an die Tastenereigniserfassungssektion 30 der Tastenereignissteuervorrichtung 96 übertragen zu werden. Die Meldung dieser Übertragungsanfrage wird durch Verwenden einer Ereignisübermittlungsfunktion realisiert, welche durch das Fenstersystem, z. B. XSendEvent im Falle des XWindowSystems, einem geteilten Speicher oder dgl. bereitgestellt wird.
  • Die Sendesektion 94 hält die zu sendenden Tastenereignistypen zurück, und wenn ein zu sendendes Tastenereignis von der Tastenereigniskonvertierungssektion 20 erfasst wird, sendet sie das Tastenereignis an alle Fenster, die gegenwärtig bestehen.
  • Nach Empfangen einer Übertragungsanfrage von der Übertragungsanfragesektion der anderen Tastenereignissteuervorrichtung 83b speichert die Tastenereignisübertragungssektion 92 das angefragte Tastenereignis und den Identifizierer der Tastenereignissteuervorrichtung 83b, welche die Anfrage durchgeführt hat, und überträgt nach Erfassen des angefragten Tastenereignisses dieses Tastenereignis an die Tastenereignissteuervorrichtung 83b, welche die Anfrage durchgeführt hat.
  • Die Sektion zur verteilten Tastenereignislieferung 90 liefert das/die zu liefernde(n) Tastenereignis(se), wie durch die Bestimmungssektion für gelieferte Tastenereignisse 22 bestimmt (oder die Tastenereignisse nach der Konvertierung, falls das/die zu liefernde(n) Tastenereignis(se) durch die Tastenereigniskonvertierungssektion 20 konvertiert wurde(n)) an das Grabb-Fenster 10 und das Fokusfenster 34. Die Sektion zur verteilten Tastenereignislieferung 90 meldet das Tastenereignis, für welches die Grabb-Annahmesektion 14 eine Anfrage vom Grabb-Fenster 10 angenommen hat, an das Grabb-Fenster 10 und jedes andere Tastenereignis an das Fokusfenster 34. Die Bestimmung des Fokusfensters wird durch eine Fokusfenstererfassungsfunktion des Fenstersystem, z. B. XGetWindowFocus im Fall des XWindowSystems realisiert.
  • Als nächstes wird ein Ablauf eines Tastenereignisgrabbanfragevorgangs nach Ausführungsform 4 der vorliegenden Erfindung mit Bezug auf das Ablaufdiagramm von 18 beschrieben. In 18 sind die Schritte, welche ähnlich zu jenen in 8 sind, durch die gleichen Bezugszeichen bezeichnet und deren Beschreibungen werden weggelassen.
  • Schritt S10, Schritt S12, Schritt S14 und Schritt S16 sind gleich zu jenen in Ausführungsform 1.
  • Nach dem Stellen einer Anfrage an das Fenstersystem 32 zum Grabben eines Tastenereignisses bei Schritt S14 oder Schritt S16 prüft die Grabb-Anfragesektion 16 das Ergebnis der Grabb-Anfrage (S78). Falls die Grabb-Anfrage fehlgeschlagen ist, weil das angefragte Tastenereignis bereits durch eine andere Tastenereignissteuervorrichtung gegrabbt worden ist (S78, JA), meldet die Grabb-Anfragesektion 16 dies an die Suchsektion 88. Als Reaktion auf diese Meldung sucht die Suchsektion 88 nach der Tastenereignissteuervorrichtung, welche das angefragte Tastenereignis gegrabbt hat (S80).
  • Zuletzt meldet die Übertragungsanfragesektion 86 eine Übertragungsanfrage an die durch die Suchsektion 88 gefundene Tastenereignissteuervorrichtung (hierin wird angenommen, dass dies die andere Tastenereignissteuervorrichtung 83a ist) zum Übertragen des Tastenereignisses, für welches eine Grabb-Anfrage durch das Grabb-Fenster 10 durchgeführt worden ist, wodurch der Vorgang beendet wird (S82).
  • Als nächstes wird der Vorgang der Tastenereigniserfassung nach Ausführungsform 4 beschrieben. In Ausführungsform 4 unterscheidet sich der Vorgang von Schritt S111 in 6 von jenem in Ausführungsform 1. Die Vorgänge, nachdem ein Tastenereignis erfasst wird und bis zu liefernde Tastenereignisse bestimmt werden, sind gleich zu S101 bis S110 in 6 und deren Beschreibungen werden weggelassen.
  • 19 zeigt ein Ablaufdiagramm des Tastenereignisliefervorgangs nach Ausführungsform 4. Zuerst prüft die Sendesektion 94 ein zu lieferndes Tastenereignis, wie von der Tastenereigniskonvertierungssektion 20 empfangen, zum Bestimmen, ob es unter den intern gespeicherten Tastenereignistypen enthalten ist, die zu senden sind (S84). Falls das zu liefernde Tastenereignis unter jenen zu sendenden enthalten ist (S84, JA), liefert die Sendesektion 94 das zu liefernde Tastenereignis an alle durch das Fenstersystem 32 angezeigten Fenster, wodurch der Vorgang beendet wird (S68).
  • Andererseits, falls das zu liefernde Tastenereignis nicht unter jenen zu sendenden enthalten ist (S84, NEIN), meldet die Sendesektion 94 das zu liefernde Tastenereignis an die Tastenereignisübertragungssektion 92. Nach Empfangen der Meldung prüft die Tastenereignisübertragungssektion 92, ob eine Übertragungsanfrage für das zu liefernde empfangene Tastenereignis von einer anderen Tastenereignissteuervorrichtung durchgeführt wird (S88). Falls eine Übertragungsanfrage für das zu liefernde Tastenereignis durchgeführt wird (S88, JA), überträgt die Tastenereignisübertragungssektion 92 das zu liefernde Tastenereignis an die Tastenereignissteuervorrichtung, welche die Übertragungsanfrage durchgeführt hat (hierin wird angenommen, dass dies die andere Tastenereignissteuervorrichtung 83b ist) und meldet dieses zu liefernde Tastenereignis an die Sektion zur verteilten Tastenereignislieferung (S90). Als nächstes prüft die Sektion zur verteilten Tastenereignislieferung 90 das von der Tastenereignisübertragungssektion 92 empfangene zu liefernde Tastenereignis, um zu prüfen, ob es unter den durch das Grabb-Fenster 10 angefragten Tastenereignistypen enthalten ist (S92). Falls das zu liefernde Tastenereignis durch das Grabb-Fenster 10 zum Grabben angefragt worden ist (S92, JA), überträgt die Sektion zur verteilten Tastenereignislieferung 90 das zu liefernde Tastenereignis an das Grabb-Fenster 10 (S94). Andererseits, falls das zu liefernde Tastenereignis durch das Grabb-Fenster 10 nicht zum Grabben angefragt worden ist (S92, NEIN), liefert die Sektion zur verteilten Tastenereignislieferung 90 das zu liefernde Tastenereignis an das Fokusfenster 34 (S96).
  • Wie oben beschrieben, wird es durch übertragen von Tastenereignissen zwischen Tastenereignissteuervorrichtungen für eine Vielzahl von Fenstern möglich, das gleiche Tastenereignis zur gleichen Zeit zu grabben.
  • Die Sendesektion 94, die Suchsektion 88 und die Übertragungsanfragesektion 86 können weggelassen werden, falls sie unnötig sind.
  • In der vorliegenden Ausführungsform können die den Tastenereignisfiltervorgang betreffenden Elemente, die in Ausführungsform 1 beschrieben sind (d. h. die Tastenereigniskonvertierungssektion 20, die Bestimmungssektion für gelieferte Tastenereignisse 22, die Tastenereigniszurückhaltesektion 24, die Tastenereignisentfernungssektion 26 und die Beseitigungssektion für zurückgehaltenen Inhalt 28) durch jene ersetzt werden, welche in Ausführungsform 2 beschrieben wurden (d. h. die Tastenereigniserzeugungssektion 70, die Tastendruckereignisablagesektion 72 und die Tastenloslassereignisablagesektion 74).
  • (Ausführungsform 5)
  • Es wird eine beispielhafte Tastenereignissteuervorrichtung nach Ausführungsform 5 der vorliegenden Erfindung beschrieben.
  • 20 ist ein Blockdiagramm, welches eine beispielhafte Konfiguration einer Tastenereignissteuervorrichtung nach Ausführung 5 der vorliegenden Erfindung veranschaulicht. In 20 sind Komponentenelemente, welche ähnlich zu jenen in 1 und 17 gezeigten sind, durch die gleichen Bezugszeichen bezeichnet und deren Beschreibungen werden weggelassen.
  • Ausführungsform 5 unterscheidet sich von Ausführungsform 3 darin, dass anstelle einer Tastenereignisliefersektion 18 eine Sektion zur verteilten Tastenereignislieferung vorgesehen ist. Die Sektion zur verteilten Tastenlieferung 90 untersucht die Grabb-Annahmesektion 14 dahingehend, ob ein von der Tastenloslassereignisverarbeitungssektion 78 oder der Tastendruckereignisverarbeitungssektion 80 abgegebenes Tastenereignis durch das Grabb-Fenster 10 zum Grabben angefragt worden ist, und falls es zum Grabben angefragt worden ist, liefert sie das Tastenereignis an das Grabb-Fenster 10. Andererseits, falls das abgegebene Tastenereignis durch das Grabb-Fenster 10 nicht zum Grabben angefragt worden ist, wird das Tastenereignis zum Fokusfenster 34 geliefert.
  • Die Tastenereignissteuervorrichtung in jeder der obigen Ausführungsformen 1 bis 5 kann typischerweise durch Verwenden eines Computers implementiert werden, der eine Berechnungseinheit und Speichergeräte, wie eine Festplatte und ein RAM, und ein Programm, welches bewirkt, dass der Computer die Vorgänge der jeweiligen Schritte der oben beschriebenen Ablaufdiagramme ausführt, umfasst. Das Programm kann auf einem Speichergerät vorgespeichert sein, oder kann über ein Kommunikationsnetzwerk an die Berechnungseinheit geliefert werden, oder kann über ein Aufzeichnungsmedium, wie eine CD-R oder eine DVD, an die Berechnungseinheit geliefert werden.
  • Industrielle Anwendbarkeit
  • Nach der vorliegenden Erfindung kann z. B. in dem Fall, wenn nur vorbestimmte Tastenereignisse, die von einem Fenstersystem ausgelöst werden, als Vorbedingung an ein bestimmtes Fenster zu liefern sind, eine Funktionsstörung verhindert werden.

Claims (10)

  1. Tastenereignissteuervorrichtung zur Erfassung eines Tastenereignisses von einem Tastenliefergerät und zur Lieferung des erfassten Tastenereignisses an ein vorbestimmtes Empfängerprogramm, umfassend: eine Grabb-Annahmesektion (14) zur Annahme einer Anfrage von einem ersten Empfängerprogramm, um ein gewünschtes Tastenereignis anstelle eines zweiten Empfängerprogramms, das ein üblicher Empfänger von Tastenereignissen vom Tastenliefergerät ist, zu grabben, und eine Grabb-Anfragesektion (16) zur Anfrage an das Tastenliefergerät, als Reaktion auf die Annahme der Anfrage vom ersten Empfängerprogramm durch die Grabb-Annahmesektion, anstelle der Lieferung des zweiten Empfängerprogramms an die Tastenereignissteuervorrichtung alle Tastenereignisse zu liefern, die zu einer das gewünschte Tastenereignis umfassenden Tastenereignisanfragereihe von zumindest einer zuvor gespeicherten Tastenereignisanfragereihe gehören, die aus einer Vielzahl von Tastenereignissen besteht, die bis zu der Zeit ausgelöst werden können, zu der ein Tastenereignis, das einem Ergebnis einer Tastenbedienung durch einen Nutzer entspricht, festgestellt wird, eine Tastenereigniszurückhaltesektion (24) zur Zurückhaltung eines der vom Tastenliefergerät gemeldeten Tastenereignisse, das allein die Feststellung der Tastenbedienung nicht ermöglichen würde, eine Bestimmungssektion für gelieferte Tastenereignisse (22) zur Zurückhaltung zumindest einer Tastenereignisfeststellungsreihe, die aus einer Vielzahl von Tastenereignissen besteht, die zur Feststellung der Tastenbedienung notwendig sind, und, wenn alle Tastenereignisse, aus denen eine der zumindest einen Tastenereignisfeststellungsreihe besteht, in der Tastenereigniszurückhaltesektion zurückgehalten werden, zur Bestimmung der Tastenereignisse als zu liefernde Tastenereignisse, eine Sektion zur verteilten Tastenereignislieferung (90) zur Lieferung des gewünschten Tastenereignisses an das erste Empfängerprogramm und zur Lieferung eines anderen Tastenereignisses von den zu liefernden Tastenereignissen an das zweite Empfängerprogramm und eine Tastenereignisentfernungssektion (26) zur Entfernung des vorbestimmten, in der Tastenereigniszurückhaltesektion (24) zurückgehaltenen Tastenereignisses nach Empfang einer Meldung eines vorbestimmten Tastenereignisses vom Tastenliefergerät.
  2. Tastenereignissteuervorrichtung nach Anspruch 1, ferner umfassend: eine Suchsektion (88) zur Suche nach der anderen Tastenereignissteuervorrichtung, falls die Tastenereignisse, deren Meldung die Grabb-Anfragesektion (16) beim Tastenliefergerät angefragt hat, vom Tastenliefergerät bereits dazu vorgesehen wurden, vorher an eine andere Tastenereignissteuervorrichtung (83a, 83b) gemeldet zu werden, eine Übertragungsanfragesektion (86) zur Anfrage an die andere, von der Suchsektion gefundenen Tastenereignissteuervorrichtung, die Tastenereignisse zu übertragen, und eine Tastenereignisübertragungssektion (92) zur Übertragung des gegebenen Tastenereignisses an die andere Tastenereignissteuervorrichtung (83a, 83b), falls von einer anderen Tastenereignissteuervorrichtung die Übertragung eines gegebenen Tastenereignisses angefragt wird.
  3. Tastenereignissteuervorrichtung nach Anspruch 1, die ferner eine Sendesektion (94) zur Lieferung eines gegebenen Tastenereignisses an alle Empfängerprogramme umfasst.
  4. Tastenereignissteuervorrichtung nach Anspruch 1, wobei das Tastenliefergerät ein Tastendruckereignis, das ein Drücken der Taste anzeigt, und ein Tastenloslassereignis, das ein Loslassen der Taste anzeigt, auslöst und verschiedene Tastenereignisse, die von einer Dauer des Drückens der Taste abhängen, auslöst, wobei die Tastenereignissteuervorrichtung (96) ferner umfasst: eine Tastenloslassereignislöschsektion zur Löschung, falls das Tastendruckereignis vom Tastenliefergerät gemeldet wird, eines Tastenloslassereignisses, das anschließend vom Tastenliefergerät ausgelöst wird und das ein Gegenstück zu einem anderen Tastendruckereignis ist, das mit einer Drückzeit ausgelöst werden könnte, die kürzer ist, als eine Drückzeit, die für die Auslösung des Tastendruckereignisses notwendig ist, eine Tastendruckereignislöschsektion zur Löschung eines Tastendruckereignisses außer dem Tastendruckereignis, das auszulösen ist, wenn die Taste für die längste Zeit gedrückt wird, eine Tastenereigniserzeugungssektion zur Erzeugung eines Tastendruckereignisses als Gegenstück zu einem Tastenloslassereignis, das nicht durch die Tastenloslassereignislöschsektion gelöscht wurde und das nicht das Tastenloslassereignis ist, das auszulösen ist, wenn die Taste für die längste Zeit gedrückt wird, und die Sektion zur verteilten Tastenereignislieferung (90) umfasst: Mittel zur Lieferung jener Tastenereignisse von den vom Tastenliefergerät gemeldeten Tastenereignissen, die nicht von der Tastenloslassereignislöschsektion oder der Tastendruckereignislöschsektion gelöscht wurden, und des von der Tastenereigniserzeugungssektion erzeugten Tastenereignisses an das erste Empfängerprogramm.
  5. Tastenereignissteuervorrichtung nach Anspruch 4, die ferner eine Tastenereigniskonvertierungssektion (20) zur Konvertierung der an ein vorbestimmtes Tastenereignis zu liefernden Tastenereignisse umfasst, bevor diese an die Sektion zur verteilten Tastenereignislieferung gemeldet werden.
  6. Tastenereignissteuervorrichtung nach Anspruch 4, die ferner eine Beseitigungssektion für zurückgehaltenen Inhalt (28) zur Entfernung der in der Tastenereigniszurückhaltesektion (24) zurückgehaltenen Tastenereignisse umfasst, falls für einen bestimmten Zeitraum keine Tastenereignisse vom Tastenliefergerät an die Tastenereignissteuervorrichtung (96) gemeldet werden.
  7. Tastenereignissteuervorrichtung nach Anspruch 1, wobei das Tastenliefergerät ein kurz gedrücktes Tastendruckereignis, das ein Drücken der Taste anzeigt, und ein kurz gedrücktes Tastenloslassereignis, das ein Loslassen der Taste anzeigt, auslöst, ein lange gedrücktes Tastendruckereignis auslöst, das anzeigt, dass die Taste lange gedrückt wurde, wenn die Taste für einen bestimmten Zeitraum gedrückt wurde, und ein lange gedrücktes Tastenloslassereignis auslöst, wenn die Taste danach losgelassen wird, wobei die Tastenereignissteuervorrichtung (96) ferner umfasst: eine Tastendruckereignisverarbeitungssektion (80) zur Entfernung der in der Tastenereigniszurückhaltesektion (24) zurückgehaltenen Tastenereignisse, wenn das lange gedrückte Tastendruckereignis vom Tastenliefergerät gemeldet wird, und zur Lieferung des lange gedrückten Tastendruckereignisses an das erste Empfängerprogramm mittels der Sektion zur verteilten Tastenereignislieferung (90) und eine Tastenloslassereignisverarbeitungssektion (78) zur Lieferung des lange gedrückten Tastenloslassereignisses an das erste Empfängerprogramm mittels der Sektion zur verteil ten Tastenereignislieferung (90), wenn das lange gedrückte Tastenloslassereignis erfasst wird, wenn das kurz gedrückte Tastenloslassereignis erfasst wird und falls das kurz gedrückte Tastendruckereignis in der Tastenereigniszurückhaltesektion zurückgehalten wird, zur Lieferung des kurz gedrückten Tastendruckereignisses und des kurz gedrückten Tastenloslassereignisses mittels der Sektion zur verteilten Tastenereignislieferung (90) an das erste Empfängerprogramm und, wenn das kurz gedrückte Tastenloslassereignis erfasst wird und falls das kurz gedrückte Tastendruckereignis nicht in der Tastenereigniszurückhaltesektion zurückgehalten wird, zur Löschung des kurz gedrückten Tastenloslassereignisses.
  8. Tastenereignissteuervorrichtung nach Anspruch 1, wobei das Tastenliefergerät ein Fenstersystem ist.
  9. Tastenereignissteuerverfahren zur Erfassung eines Tastenereignisses von einem Tastenliefergerät und zur Lieferung des erfassten Tastenereignisses an ein vorbestimmtes Empfängerprogramm, umfassend: einen Grabb-Annahmeschritt der Annahme einer Anfrage von einem ersten Empfängerprogramm, um ein gewünschtes Tastenereignis anstelle eines zweiten Empfängerprogramms, das ein üblicher Empfänger von Tastenereignissen vom Tastenliefergerät ist, zu grabben, und einen Grabb-Anfrageschritt der Anfrage an das Tastenliefergerät, als Reaktion auf die Annahme der Anfrage vom ersten Empfängerprogramm beim Grabb-Annahmeschritt, anstelle der Lieferung des zweiten Empfängerprogramms an die Tastenereignissteuervorrichtung alle Tastenereignisse zu liefern, die zu einer das gewünschte Tastenereignis umfassenden Tastenereignisanfragereihe von zumindest einer zuvor gespeicherten Tastenereignisanfragereihe gehören, die aus einer Vielzahl von Tastenereignissen besteht, die bis zu der Zeit ausgelöst werden können, zu der ein Tastenereignis, das einem Ergebnis ei ner Tastenbedienung durch einen Nutzer entspricht, festgestellt wird, einen Tastenereigniszurückhalteschritt der Zurückhaltung eines der vom Tastenliefergerät gemeldeten Tastenereignisse, das allein die Feststellung der Tastenbedienung nicht ermöglichen würde, einen Bestimmungsschritt für gelieferte Tastenereignisse der Bezugnahme auf zumindest eine zuvor gespeicherte Tastenereignisfeststellungsreihe, die aus einer Vielzahl von Tastenereignissen besteht, die zur Feststellung der Tastenbedienung notwendig sind, und, wenn alle Tastenereignisse, aus denen eine der zumindest einen Tastenereignisfeststellungsreihe besteht, im Tastenereigniszurückhalteschritt zurückgehalten werden, der Bestimmung der Tastenereignisse als zu liefernde Tastenereignisse, einen Schritt zur verteilten Tastenereignislieferung der Lieferung des gewünschten Tastenereignisses an das erste Empfängerprogramm und der Lieferung eines anderen Tastenereignisses von den zu liefernden Tastenereignissen an das zweite Empfängerprogramm und einen Tastenereignisentfernungsschritt der Entfernung des vorbestimmten, im Tastenereigniszurückhalteschritt zurückgehaltenen Tastenereignisses nach Empfang einer Meldung eines vorbestimmten Tastenereignisses vom Tastenliefergerät.
  10. Computer-lesbares Medium mit einem darin gespeicherten Tastenereignissteuerprogramm zur Erfassung eines Tastenereignisses von einem Tastenliefergerät und zur Lieferung des erfassten Tastenereignisses an ein vorbestimmtes Empfängerprogramm, wobei das Tastenereignissteuerprogramm einen Computer zur Durchführung des Folgenden veranlasst: eines Grabb-Annahmeschritts der Annahme einer Anfrage von einem ersten Empfängerprogramm, ein gewünschtes Tastenereignis anstelle eines zweiten Empfängerprogramms, das ein üb licher Empfänger von Tastenereignissen vom Tastenliefergerät ist, zu grabben, und eines Grabb-Anfrageschritts der Anfrage an das Tastenliefergerät, als Reaktion auf die Annahme der Anfrage vom ersten Empfängerprogramm beim Grabb-Annahmeschritt, anstelle der Lieferung des zweiten Empfängerprogramms an die Tastenereignissteuervorrichtung alle Tastenereignisse zu liefern, die zu einer Tastenereignisanfragereihe gehören, die zu einer das gewünschte Tastenereignis umfassenden Tastenereignisanfragereihe von zumindest einer zuvor gespeicherten Tastenereignisanfragereihe gehören, die aus einer Vielzahl von Tastenereignissen besteht, die bis zu der Zeit ausgelöst werden können, zu der ein Tastenereignis, das einem Ergebnis einer Tastenbedienung durch einen Nutzer entspricht, festgestellt wird, eines Tastenereigniszurückhalteschritts der Zurückhaltung eines der vom Tastenliefergerät gemeldeten Tastenereignisse, das allein die Feststellung der Tastenbedienung nicht ermöglichen würde, eines Bestimmungsschritts für gelieferte Tastenereignisse der Bezugnahme auf zumindest eine zuvor gespeicherte Tastenereignisfeststellungsreihe, die aus einer Vielzahl von Tastenereignissen besteht, die zur Feststellung der Tastenbedienung notwendig sind, und, wenn alle Tastenereignisse, aus denen eine der zumindest einen Tastenereignisfeststellungsreihe besteht, im Tastenereigniszurückhalteschritt zurückgehalten werden, zur Bestimmung der Tastenereignisse als zu liefernde Tastenereignisse, eines Schritts zur verteilten Tastenereignislieferung der Lieferung des gewünschten Tastenereignisses an das erste Empfängerprogramm und der Lieferung eines anderen Tastenereignisses von den zu liefernden Tastenereignissen an das zweite Empfängerprogramm und eines Tastenereignisentfernungsschritts der Entfernung des vorbestimmten, im Tastenereigniszurückhalteschritt zu rückgehaltenen Tastenereignisses nach Empfang einer Meldung eines vorbestimmten Tastenereignisses vom Tastenliefergerät.
DE60320570T 2002-10-03 2003-10-02 Vorrichtung zur steuerung von tastaturereignissen Expired - Lifetime DE60320570T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2002290902 2002-10-03
JP2002290902 2002-10-03
PCT/JP2003/012627 WO2004034257A1 (en) 2002-10-03 2003-10-02 A key event controlling apparatus

Publications (2)

Publication Number Publication Date
DE60320570D1 DE60320570D1 (de) 2008-06-05
DE60320570T2 true DE60320570T2 (de) 2009-06-04

Family

ID=32089160

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60320570T Expired - Lifetime DE60320570T2 (de) 2002-10-03 2003-10-02 Vorrichtung zur steuerung von tastaturereignissen

Country Status (8)

Country Link
US (1) US7486276B2 (de)
EP (1) EP1546872B1 (de)
JP (1) JP4182057B2 (de)
KR (1) KR20050056164A (de)
CN (1) CN1333335C (de)
AU (1) AU2003269490A1 (de)
DE (1) DE60320570T2 (de)
WO (1) WO2004034257A1 (de)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100687886B1 (ko) * 2005-12-28 2007-02-27 주식회사 알티캐스트 텔레비전 환경에서 사용자 화면에 디스플레이되는 팝업창관리 방법
US8281041B2 (en) * 2006-11-22 2012-10-02 Carefusion 303, Inc. System and method for preventing keypad entry errors
US8699711B2 (en) * 2007-07-18 2014-04-15 Interdigital Technology Corporation Method and apparatus to implement security in a long term evolution wireless device
JP4771431B2 (ja) * 2007-09-20 2011-09-14 Kddi株式会社 オペレーティングシステムに基づくイベント処理機能搭載装置及びプログラム
EP3284818B1 (de) 2010-01-26 2022-03-09 Celularity Inc. Behandlung von knochenbedingten karzinomen mit plazentastammzellen
US9460029B2 (en) 2012-03-02 2016-10-04 Microsoft Technology Licensing, Llc Pressure sensitive keys
USRE48963E1 (en) 2012-03-02 2022-03-08 Microsoft Technology Licensing, Llc Connection device for computing devices
CN103942047A (zh) * 2014-03-28 2014-07-23 小米科技有限责任公司 用户指令执行方法及装置
CN106155647A (zh) * 2015-03-31 2016-11-23 北京奇虎科技有限公司 一种键鼠操作回放的方法和装置
WO2019123603A1 (ja) * 2017-12-21 2019-06-27 三菱電機株式会社 通知制御装置及び通知制御方法
CN112955858A (zh) * 2018-11-15 2021-06-11 京瓷办公信息系统株式会社 电子设备以及图像形成装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4896290A (en) * 1987-08-24 1990-01-23 Wang Laboratories, Inc. Method for routing events from key strokes in a multi-processing computer systems
JPH0215326A (ja) 1988-07-04 1990-01-19 Matsushita Electric Ind Co Ltd ウィンドウ制御システム
JPH02139625A (ja) 1988-11-19 1990-05-29 Fujitsu Ltd 画面表示方式
JP2563536B2 (ja) 1988-11-21 1996-12-11 松下電器産業株式会社 マルチウインドウイベント管理装置
JPH02151128A (ja) 1988-12-02 1990-06-11 Hitachi Ltd キーコード生成方式
US5252951A (en) 1989-04-28 1993-10-12 International Business Machines Corporation Graphical user interface with gesture recognition in a multiapplication environment
US5721850A (en) * 1993-01-15 1998-02-24 Quotron Systems, Inc. Method and means for navigating user interfaces which support a plurality of executing applications
DE4325522C1 (de) 1993-07-30 1994-11-17 Schunk Kohlenstofftechnik Gmbh Tiegel, insbesondere Stütztiegel
US5525978A (en) * 1994-02-28 1996-06-11 Hewlett-Packard Company Graphical key manager for computer
JP2666731B2 (ja) 1994-08-04 1997-10-22 日本電気株式会社 複数ウインドウに対する入力装置
US5675329A (en) * 1996-05-09 1997-10-07 International Business Machines Corporation Method of obtaining a second function from keys on a keyboard using pressure differentiation
JP2000259313A (ja) 1999-03-10 2000-09-22 Hitachi Ltd プラント監視画面制御方法
KR100547767B1 (ko) * 1999-04-02 2006-02-01 삼성전자주식회사 휴대폰에서 다기능키 이용방법
JP2000353357A (ja) * 1999-06-11 2000-12-19 Sony Corp 電子装置及び操作仕様変更方法
JP2003162356A (ja) 2001-11-28 2003-06-06 Nec Corp スクロール制御装置及びその方法並びにそれを用いた通信端末

Also Published As

Publication number Publication date
US7486276B2 (en) 2009-02-03
KR20050056164A (ko) 2005-06-14
JP4182057B2 (ja) 2008-11-19
EP1546872B1 (de) 2008-04-23
CN1692333A (zh) 2005-11-02
US20050177797A1 (en) 2005-08-11
CN1333335C (zh) 2007-08-22
EP1546872A1 (de) 2005-06-29
DE60320570D1 (de) 2008-06-05
AU2003269490A1 (en) 2004-05-04
JP2006502651A (ja) 2006-01-19
WO2004034257A1 (en) 2004-04-22

Similar Documents

Publication Publication Date Title
DE60220287T2 (de) System und verfahren zur überwachung von software-warteschlangenanwendungen
DE69734432T2 (de) Verfahren und Vorrichtung zur Absendung von Clientverfahrenanrufen in einem Server Rechnersystem
DE60320570T2 (de) Vorrichtung zur steuerung von tastaturereignissen
DE69433833T2 (de) Datenverarbeitungsgerät für Gleichung der Benutzerslast in einem Netz
DE69724846T2 (de) Mehrweg-Ein/Ausgabespeichersysteme mit Mehrweg-Ein/Ausgabeanforderungsmechanismus
DE69822935T2 (de) Vorrichtung und Verfahren zur dynamischen Regelung der Betriebsmittelzuweisung in einem Computersystem
DE4143697B4 (de) System zum Überwachen, Steuern und Kommunizieren mit einem oder mehreren Bürogeräten
DE602004012075T2 (de) Verfahren und gerät zur fensterverwaltung
DE69730690T2 (de) Verfahren und apparat zum dynamischen austausch von objekt-nachrichten zwischen objekt-modellen
DE69635099T2 (de) Verfahren und Vorrichtung für kontextempfindliches Pfadsende
DE69737170T2 (de) Auswahl von Befehlen in einem Rechnersystem
DE60020633T2 (de) Geräteverwaltungsnetzwerksystem, Verwaltungsserver, und Rechner
EP1456742B1 (de) Verfahren, gerätesystem und computerprogramm zum speichern und abrufen von druckdaten in einem netzwerk
DE69825915T2 (de) Verfahren und vorrichtung zur umschaltung zwischen quellen-synchron-takt/- und gemeinsam-takt-datenübertragungs-modi in einem mehragent-übertragungs-system
DE19607515A1 (de) Ein Computerbetriebsverwaltungssystem für ein Computerbetriebssystem, das dazu in der Lage ist gleichzeitig eine Mehrzahl von Anwendungsprogrammen auszuführen
DE10024715B4 (de) Verfahren und Vorrichtung zum Einrichten einer Zwei-Wege-Übertragung zwischen einem Host-System und einer Vorrichtung
KR980004097A (ko) 에이전트 기능을 가진 그룹웨어 시스템
DE602005004508T2 (de) Speichersystem und Speichersteuerverfahren
DE2856483A1 (de) Verbindungseinheit fuer datenverarbeitungssysteme
DE10392709T5 (de) Systeme und Verfahren zum Prädizieren von Arbeitslisten
DE69937266T2 (de) Anwenderschnittstelle für Datenverarbeitungssystem mit Jobüberwachung
DE102006002247A1 (de) Verfahren und System zum Aktualisieren von Echtzeitdaten zwischen Intervallen
DE69935115T2 (de) Dokumenteingabesystem
DE19930158A1 (de) System und Verfahren zum Sammeln von Programmregistrierungen für Ereignisbenachrichtungen
DE69936744T2 (de) Datenverarbeitungsverfahren

Legal Events

Date Code Title Description
8327 Change in the person/name/address of the patent owner

Owner name: PANASONIC CORP., KADOMA, OSAKA, JP

8364 No opposition during term of opposition