PatentDe  


Dokumentenidentifikation DE69526985T2 19.09.2002
EP-Veröffentlichungsnummer 1067449
Titel Anordnung und Verfahren zur automatischen Positionierung einer Schiebmarke auf einer Kontrollfläche
Anmelder Microsoft Corp., Redmond, Wash., US
Erfinder Robin, Michael B., Redmond, Washington 98052, US
Vertreter Grünecker, Kinkeldey, Stockmair & Schwanhäusser, 80538 München
DE-Aktenzeichen 69526985
Vertragsstaaten DE, FR, GB
Sprache des Dokument EN
EP-Anmeldetag 07.03.1995
EP-Aktenzeichen 001220763
EP-Offenlegungsdatum 10.01.2001
EP date of grant 05.06.2002
Veröffentlichungstag im Patentblatt 19.09.2002
IPC-Hauptklasse G06F 3/023
IPC-Nebenklasse G06F 9/44   

Beschreibung[de]

Die vorliegende Erfindung betrifft das Gebiet computergesteuerter Anzeigen und insbesondere eine Vorrichtung und ein Verfahren zur automatischen Bezeichnung von Steuerflächen-Gruppierungen und zur automatischen Positionierung eines Cursors auf einer Steuerfläche.

Computergesteuerte Anzeigen sind zur Zeit sowohl zuhause als auch in geschäftlichen Bereichen in weitverbreiteter Verwendung. Aufgrund des Preisverfalls von Mikroprozessoren in den vergangenen Jahren sind computergesteuerte Anzeigen außerdem in anderen Einsatzgebieten als herkömmlichen Personalcomputern in Verwendung. Beispielsweise werden computergesteuerte Anzeigen oft in Heimunterhaltungssystemen (z. B. Videorecorder, Videospiele oder andere Arten von interaktiven Fernsehsystemen) verwendet. Da diesen Systemen jedoch normalerweise sowohl ausgeklügelte Zeigervorrichtungen als auch vollständige Tastaturen fehlen, ist eine Cursorsteuerung schwierig. Eine Cursorsteuerung betrifft die Möglichkeit eines Benutzers, einen Cursor an einen bestimmten Ort auf einer computergesteuerten Anzeige zu bewegen. Der hier verwendete Ausdruck "Cursor" schließt jede Form einer beweglichen Anzeige wie einen Pfeil, eine Bildschirmhervorhebung, eine Bildschirmfokussierung oder Ähnliches ein.

Fig. 1 zeigt ein Computersystem 105 eines typischen Heimunterhaltungsgerätes. Typische Heimunterhaltungsgeräte sind durch einen Computer 110, einer Eingabeeinrichtung 120 und einer Videoanzeigeeinrichtung 170 gekennzeichnet. Der Computer 110 enthält zusätzlich einen Empfänger 130, einen Speicher 140, eine zentrale Recheneinheit (CPU) 150 und eine Anzeigeansteuerung 160. Diese Komponenten sind, wie gezeigt, miteinander verbunden.

Die Eingabeeinrichtung 120 enthält eine gerichtete Steuereinrichtung 122 (z. B. einen Joystick, eine Pfeiltastatur, eine Maus) und einen Steuerschalter 124 (z. B. eine Aktionstaste, eine Funktionstaste oder eine Maustaste). Durch Betätigung der gerichteten Steuereinrichtung 122 kann ein Benutzer einen Cursor 172 auf dem Schirm der Videoanzeigeeinrichtung 170 bewegen. Entsprechend beendet der Benutzer die Cursorbewegung durch Freigabe der gerichteten Steuereinrichtung 122. Der hier benutzte Satz "Freigeben der gerichteten Steuereinrichtung" bezieht sich auf einen Vorgang der Deaktivierung einer gerichteten Steuereinrichtung 122, so dass die gerichtete Steuereinrichtung 122 nicht länger eine Cursorbewegung bewirkt. Der Schirm der Videoanzeigeinrichtung ist logisch in diskrete Punkte unterteilt. Jeder diskrete Punkt ist über kartesische Koordinaten (X, Y) adressierbar. Der Schirm der Videoanzeigeinrichtung 170 zeigt eine Anzahl von Steuerfeldern 174 an. Jedes Steuerfeld 174 ist ein Unterfenster, das einen vorbestimmten Bereich der Videoanzeigeeinrichtung 170 belegt und verwendet wird, um Instruktionen an ein auf dem Computersystem 110 laufendes Computerprogramm 142 einzugeben. Typischerweise ist das Computerprogramm 142 in dem Speicher 140 des Computersystems 110 enthalten. Allgemein gibt es Steuerflächen in einem von zwei Zuständen, (1) aktiv (der angibt, dass eine durch die Steuerfläche 174 dargestellte Option für den Benutzer zur Zeit möglich ist) oder (2) inaktiv (der angibt, dass eine durch die Steuerfläche 174 dargestellte Option zur Zeit für den Benutzer nicht möglich ist).

Typischerweise entscheidet ein Softwareprogrammierer, welche Steuerflächen eines gegebenen Fensters in Abhängigkeit von dem Zustand des Programms aktiv oder inaktiv sein sollen. Bei dem Videorecorder-Programmieroptionsfenster 205 der Fig. 2A sind beispielsweise die Steuerflächen 220, 222 und 224 mit doppelter Umrahmung aktiv, während die Steuerfläche 230, 232 und 234 mit einfacher Umrahmung inaktiv sind. In diesem Fall sind die Wiedergabe-Steuerfläche 230, die schneller -Vorlauf-Steuerfläche 232 und die Rückspul-Steuerfläche 234 aufgrund des "AN"-Zustands der Zeitgeber- AN/AUS-Steuerfläche 220 inaktiv. In herkömmlichen Systemen hat der Softwareprogrammierer eine gegebene Steuerfläche individuell zu aktivieren oder zu deaktivieren. Um nur einen Teil der zur Zeit aktiven Steuerflächen zu deaktivieren, deaktiviert der Programmierer selektiv jede der Steuerflächen. Eine solche selektive Deaktivierung ist umständlich.

Um eine Option aufzurufen, die durch eine aktivierte Steuerfläche dargestellt wird, positioniert der Benutzer den Cursor 172 auf der gewünschten aktivierten Steuerfläche und betätigt den Steuerschalter 124. Durch Betätigen des Steuerschalters 124 (z. B. durch Niederdrücken einer Aktionstaste) weist der Benutzer das Computerprogramm 142 an, die gewünschte Option auszuführen. Wie zuvor angesprochen, besitzen die meisten Heimunterhaltungssysteme jedoch keine ausgeklügelten Zeigereinrichtungen (wie eine Maus) als gerichtete Steuereinrichtung 122. Statt dessen wird als gerichtete Steuereinrichtung 122 häufig ein Joystick oder eine einfache Steuereinrichtung mit vier Richtungen verwendet. Daher ist die Positionierung des Cursors 172 auf der gewünschten Steuerfläche 172 für den Benutzer ein schwieriger Vorgang.

Bei herkömmlichen Systemen wird die Cursorpositionierung durch "tabbing" oder "freeroaming" erreicht. Wenn "tabbing" verwendet wird, arbeitet das Computersystem 110 eine festverdrahtete Liste von der Steuerfläche 174 ab. Die festverdrahtete Liste der Steuerflächen bezeichnet die Folge, in der der Benutzer die aktivierten Steuerflächen durchqueren muss. Wie zuvor erläutert, zeigt Fig. 2A die Zeitgeber-AN/AUS- Steuerfläche 220, die Zeitgeber-Einstellungs-Steuerfläche 222 und die Uhr- Einstellungsfläche 224 als aktiv, während die Wiedergabe-Steuerfläche 230, die schnelle Vorspul-Steuerfläche 234 und die Rückspul-Steuerfläche 234 als inaktiv dargestellt werden. Damit ein Benutzer auf die Uhr-Einstellungs-Steuerfläche 224 zugreifen kann, muss sich der Benutzer durch die Zeitgeber-AN/AUS-Steuerfläche 220 und die Zeitgeber-Einstellungs-Steuerfläche 222 arbeiten, bevor er die Uhr-Einstellungs- Steuerfläche 224 erreicht. Der herkömmliche Vorgang der Abarbeitung ist somit unflexibel und in hohem Maße frustrierend, wenn sich der Benutzer versehentlich über eine gewünschte Steuerfläche hinaus vorgearbeitet hat.

"Free-roaming" ist ebenfalls ein frustrierender Vorgang, wenn eine grobe Positionierungsvorrichtung verwendet wird. Beim "free-roaming" bewegt der Benutzer den Cursor unter Verwendung der gerichteten Steuereinrichtung 122 in Richtung auf eine gewünschte Steuerfläche. Da die gerichtete Steuerfläche 122 jedoch typischerweise eine grobe Positionierungseinrichtung ist, ist der tatsächliche Vorgang der Positionierung des Cursors auf eine Steuerfläche schwierig. Es ist beispielsweise für den Benutzer nicht ungewöhnlich, über die gewünschte Steuerfläche hinauszuschießen oder diese nicht zu erreichen, bevor der Cursor schließlich an dem gewünschten Ort platziert wird. Somit stellen weder "tabbing" noch "free-roaming" ein wünschenswertes Verfahren zur Positionierung eines Cursors auf einer gewünschten Steuerfläche einer computergesteuerten Anzeigeeinheit dar.

Die Positionierung eines Cursors weist in herkömmlichen Systemen weitere Schwierigkeiten auf. Diese Schwierigkeiten entstehen dadurch, dass aktive Steuerflächen durch nachträglich angezeigte häufig verdeckt werden. Beispielsweise verdeckt das Zeitgeber- Einstellungs-Fenster 250 der Fig. 2B alle aktiven Steuerflächen 260 (nur angedeutet dargestellt) des Videorecorder-Programmierungsfunktions-Fensters 205. Unter solchen Bedingungen erlauben herkömmliche Systeme dem Benutzer, sowohl die verdeckten Steuerflächen 260 als auch die nichtverdeckten Steuerflächen 251, 252, 253 und 254 zu aktivieren. Eine solche Möglichkeit ist unerwünscht, da der Benutzer unbeabsichtigt eine der verdeckten Steuerflächen aktivieren kann.

US 5283560 offenbart ein Computeranzeigen-Steuersystem, das halbtransparente Steuermenüs anzeigt, die über andere Bilder gelegt sind.

ZUSAMMENFASSUNG DER ERFINDUNG

Bei der bevorzugten Ausführung der vorliegenden Erfindung handelt es ich um einen Steuerflächen-Manager zum Aktivieren und Deaktivieren von Steuerflächen sowie zum Positionieren eines Cursors auf einer idealen Steuerfläche. In ihrer bevorzugten Ausführung ermöglicht es die vorliegende Erfindung einem Programmierer, Steuerflächen schnell und einfach zu aktivieren und zu deaktivieren, indem eine Vielzahl von Steuerflächen als eine "Steuerflächen-Gruppierung" bezeichnet wird. Anschließend bezeichnet die bevorzugte Ausführung der vorliegenden Erfindung einen Identifizierer für die gesamte Steuerflächen-Gruppierung. Mit der bevorzugten Ausführung der vorliegenden Erfindung wird die gesamte Gruppierung dann schnell aktiviert und deaktiviert, indem ein Zustand des Identifizierers hin- und hergeschaltet wird.

Bei der bevorzugten Ausführung der vorliegenden Erfindung navigiert der Nutzer auf einem Bildschirm einer computergesteuerten Videoanzeigeeinrichtung, indem er eine gerichtete Steuereinrichtung betätigt. Beim Freigeben der gerichteten Steuereinrichtung wird der Cursor durch die bevorzugte Ausführung der vorliegenden Erfindung automatisch auf einer idealen Steuer-fläche positioniert. Die bevorzugte Ausführung bestimmt die ideale Steuerfläche, indem sie den Zustand eines Anwendungsprogramms und die letzten Aktionen des Benutzers überprüft. Das heißt, für jede aktive Steuerfläche stellt die bevorzugte Ausführung fest, ob die Steuerfläche (1) durch einen anschließend angezeigten Wert bzw. ein anschließend angezeigtes Element verdeckt ist, oder (2) an einer Stelle positioniert ist, die das Anwendungsprogramm als ungültig angegeben hat.

Die bevorzugte Ausführung stellt fest, ob die Steuerfläche durch ein anschließendes Datenelement verdeckt wird, indem sie einen registrierenden Identifizierer bzw. einen Identifizierer für den Registrierenden mit einem aktuellen Identifizierer vergleicht. Der registrierende Identifizierer identifiziert einen Teil eines Anwendungsprogramms, der die Steuerfläche bei dem Steuerflächenmanager registriert hat. Der aktuelle Identifizierer identifiziert die Entität (d. h. den Teil der Anwendung, die die Steuerfläche registriert hat), die momentan die kartesischen Koordinaten umgibt, die die Steuerfläche definieren. Der Kürze halber werden die kartesischen Koordinaten, die die Steuerfläche definieren, als die "Steuerflächen-Position" bezeichnet. Wenn der registrierende Identifizierer nicht mit dem aktuellen Identifizierer übereinstimmt, stellt die bevorzugte Ausführung fest, dass die Steuerfläche verdeckt ist. Die bevorzugte Ausführung bezeichnet implizit alle verdeckten Steuerflächen als Steuerflächen, die keine gültige Ruheposition für den Cursor bilden.

Die bevorzugte Ausführung stellt fest, ob sich eine Steuerfläche an einer Position befindet, die das Anwendungsprogramm als ungültig angeben hat, indem sie eine letzte Cursorposition mit der Steuerflächen-Position vergleicht. Die letzte Cursorposition wird durch die kartesischen Koordinaten definiert, auf die der Cursor gezeigt hat, als der Benutzer die gerichtete Steuereinrichtung freigegeben hat. Die bevorzugte Ausführung berechnet dann einen Steuerflächen-Abstand und einen Steuer-flächen-Winkel. Der Steuerflächen-Abstand bzw. die Steuer-flächen-Distanz ist der absolute Abstand eines Steuerflächen-Weges, wobei der Steuerflächen-Weg ein Weg ist, der die letzte Cursorposition mit der Steuerflächen-Position verbindet. Der Steuerflächen-Winkel ist der Winkel, der zwischen dem Steuerflächen-Weg und einer letzten Richtung des Cursorbewegungsweges ausgebildet ist. Die bevorzugte Ausführung vergleicht die berechneten Werte des Steuerflächen-Abstandes und des Steuerflächen-Winkels mit entsprechenden Auslassungs-Abstands- und Auslassungs-Winkelwerten. Diese Auslassungs- Abstands-·und Auslassungs-Winkelwerte werden durch das Anwendungsprogramm angegeben. Anschließend berücksichtigt die bevorzugte Ausführung keine Steuerfläche, die entweder einen berechneten Steuerflächen-Abstand oder einen Steuerflächen- Winkel hat, der größer ist als der entsprechende Auslassungs-Abstand bzw. Auslassungs-Winkel.

Dabei berechnet die bevorzugte Ausführung einen gewichteten Abstand bzw. eine gewichtete Distanz für jede verbleibende Steuerfläche. Jede gewichtete Distanz wird als eine Funktion des Steuerflächen-Abstandes, des Steuerflächen-Winkels und eines Winkelwichtigkeits-Gewichts berechnet. Das heißt, der gewichtete Abstand ist direkt proportional sowohl zu dem Steuerflächen-Abstand als auch zu dem Steuerflächen-Winkel. Des Weiteren verringert sich, wenn das Winkelwichtigkeits-Gewicht zunimmt, die Auswirkung auf den Steuerflächen-Winkel bei der Berechnung des gewichteten Abstandes, während die Auswirkung auf den Steuerflächen-Abstand zunimmt. Nach Abschluss einer Berechnung des gewichteten Abstandes für jede verbleibende Steuerfläche positioniert die bevorzugte Ausführung der vorliegenden Erfindung den Cursor auf der Steuerfläche, die den geringsten gewichteten Abstand aufweist. Auf diese Weise positioniert die bevorzugte Ausführung der vorliegenden Erfindung den Cursor automatisch auf der idealen aktivierten Steuerfläche.

KURZE BESCHREIBUNG DER ZEICHNUNGEN

Fig. 1 stellt ein Blockdiagramm eines herkömmlichen Computersystems dar Fig. 2A illustriert eine Mehrzahl von Steuerflächen, die auf der Videoanzeigevorrichtung der Fig. 1 wiedergegeben werden.

Fig. 2B illustriert die Mehrzahl der Steuerflächen der Fig. 2A nachdem sie durch nachträglich wiedergegebene Datenwerte verdeckt werden.

Fig. 3 stellt ein Blockdiagramm eines Computersystems zur Ausführung der bevorzugten Ausführungsform der vorliegenden Erfindung dar.

Fig. 4 zeigt ein Steuerflächen-Positions- und Status-Datenaufbau zur Verwendung in der bevorzugten Ausführungsform der vorliegenden Erfindung.

Fig. 5 stellt ein funktionelles Blockdiagramm dar, das die wesentlichen funktionellen Komponenten der bevorzugten Ausführungsform der vorliegenden Erfindung zeigt.

Fig. 6 stellt ein Flussdiagramm dar, das einen Überblick über die Schritte zeigt, die in der bevorzugten Ausführungsform der vorliegenden Erfindung durchgeführt werden.

Fig. 7 A zeigt die Schritte, die in einem Vorgang der Aktivierung und Deaktivierung von Steuerflächengruppierungen in der bevorzugten Ausführungsform der vorliegenden Erfindung durchgeführt werden.

Fig. 7B zeigt die Schritte, die in einem Vorgang der Positionierung eines Cursors in der bevorzugten Ausführungsform der vorliegenden Erfindung durchgeführt werden.

Fig. 8 stellt ein Flussdiagramm dar, das die Schritte zeigt, die in einem Vorgang zur Registrierung einer Steuerfläche der bevorzugten Ausführungsform der vorliegenden Erfindung durchgeführt werden.

Fig. 9 stellt ein Flussdiagramm dar, das die Schritte illustriert, die in einem Vorgang zur Aktivierung und Deaktivierung von "hot spots" in der bevorzugten Ausführungsform der vorliegenden Erfindung durchgeführt werden.

Fig. 10 stellt ein Flussdiagramm dar, das die Schritte zeigt, die in einem Vorgang der Positionierung eines Cursors in der bevorzugten Ausführungsform der vorliegenden Erfindung durchgeführt werden.

Fig. 11 stellt ein Flussdiagramm dar, das die Schritte zeigt, die in einem Vorgang der Bestimmung der idealen Steuerfläche zur Positionierung des Cursors durchgeführt werden.

Die bevorzugte Ausführungsform erlaubt dem Benutzer, eine Cursorbewegung durch Betätigung einer gerichteten Steuereinrichtung zu bewirken. Wenn der Benutzer die gerichtete Steuereinrichtung freigibt, bestimmt die bevorzugte Ausführungsform die Position auf dem Bildschirm, auf die der Cursor zeigt. Anschließend bewegt die bevorzugte Ausführungsform den Cursor automatisch von der bestimmten Position auf eine ideale Steuerfläche. Auf diese Weise erlaubt die bevorzugte Ausführungsform dem Benutzer, schnell zu einer gewünschten Steuerfläche zu springen, ohne dass der Benutzer gezwungen ist, tatsächlich den Cursor in dieser Weise auf die gewünschte Steuerfläche zu bewegen. Solch eine Positionierung ist insbesondere vorteilhaft, wenn der Benutzer nur Zugang zu einer groben Positionierungseinrichtung (z. B. ein Joystick oder Pfeiltasten) besitzt. Dadurch, dass einem Programmierer außerdem ermöglicht wird, eine Mehrzahl von Steuerflächen als eine einzige Steuerflächengruppierung zu bezeichnen, ermöglicht die bevorzugte Ausführungsform einem Anwendungsprogramm, eine ausgewählte Anzahl von Steuerflächen schnell zu aktivieren und zu deaktivieren. Solch eine selektive Aktivierung und Deaktivierung erspart dem Anwendungsprogrammierer, wiederholte Aufrufe eines Steuermanagers. Außerdem stellt die bevorzugte Ausführungsform ein geeignetes Verfahren und eine geeignete Vorrichtung dar, um zu verhindern, dass auf Steuerflächen, die durch nachfolgend wiedergegebene Fenster oder Datenwerte verdeckt werden, zugegriffen wird. Dabei vergleicht die bevorzugte Ausführungsform für jeden Punkt, der eine registrierte Steuerfläche definiert, einen registrierten Identifizierer mit einem aktuellen Identifizierer. Auf diese Weise bestimmt die bevorzugte Ausführungsform, ob eine Steuerfläche durch einen nachträglich dargestellten Datenwert verdeckt wird. Jeder dieser Gesichtspunkte der bevorzugten Ausführungsform der vorliegenden Erfindung wird nachfolgend im Einzelnen erläutert.

Fig. 3 stellt ein Blockdiagramm eines Computersystems 305 zur Ausführung der bevorzugten Ausführungsform der vorliegenden Erfindung dar. Das Computersystem 305 umfasst einen Computer 310, eine Eingabeeinrichtung 320 und eine Videoanzeigeeinrichtung 370. Der Computer 310 enthält einen Empfänger 330, einen Hauptspeicher- 340, eine zentrale Verarbeitungseinheit (CPU) 350 und eine Anzeigeansteuereinrichtung 360. Diese Komponenten sind in der dargestellten Weise miteinander verbunden.

Die Eingabeeinrichtung 320 enthält eine gerichtete Steuereinrichtung 322. In Fig. 3 ist die gerichtete Steuereinrichtung 322 als eine Vierpfeiltasten-Tastatur dargestellt. Es ist jedoch für einen Fachmann selbstverständlich, dass die vorliegende Erfindung zur Verwendung mit jeder beliebigen gerichteten Steuereinrichtung (z. B. einer Maus, einem Joystick) geeignet ist. Die gerichtete Steuereinrichtung 322 wird zur Positionierung eines Cursors 372 auf einer Steuerfläche 374 einer Videoanzeigeeinrichtung 370 verwendet. Sobald der Cursor auf einer Steuerfläche positioniert ist, kann ein Benutzer die Option, die durch die Steuerfläche dargestellt wird, durch Drücken einer Funktionstaste 324 aufrufen. Wie im Folgenden erläutert werden wird, registriert die bevorzugte Ausführungsform der vorliegenden Erfindung Anwendungsprogramme (346 und 348) über einen Steuerflächenmanager 345. Der Vorgang der Registrierung einer Steuerfläche über den Steuerflächenmanager 345 umfasst, kurz gesagt das Informieren des Steuerflächemanagers 345 über den gewünschten Ort und die Statusinformation für die Steuerfläche. Anschließend aktiviert und deaktiviert der Steuerflächenmanager 345 die Steuerflächen 374 und positioniert den Cursor 372 innerhalb der Steuerflächen 374. In Fig. 3 werden sowohl der Steuerflächenmanager 345 als auch die Anwendungsprogramme (346 und 348) als Teil des Hauptspeichers 440 dargestellt. Für den Fachmann ist es jedoch selbstverständlich, dass der Steuerflächenmanager 345 in anderen Bereichen des Computersystems angeordnet werden kann (z. B. in dem Gerätetreiber 360).

Fig. 4 stellt eine zu einem Anwendungsprogramm gehörige Datenstruktur 400 dar. Wie im Folgenden erläutert wird, verwendet die bevorzugte Ausführungsform der vorliegenden Erfindung diese Datenstruktur, um die ideale Steuerfläche des Anwendungsprogramms zu bestimmen. Für den Fachmann ist es selbstverständlich, dass die Datenstruktur der Fig. 4 nur eine vieler möglicher Methoden zur Speicherung der Daten, wie im Folgenden erläutert, darstellt. Anstatt die Daten in Matrixformat, wie in Fig. 4 dargestellt, zu speichern, können die Daten beispielsweise in einer verbunden Listenstruktur gespeichert werden oder in separaten Feldern gespeichert werden, die nicht miteinander verbunden sind. Aus Gründen der Einfachheit stellt die Datenstruktur 400 der Fig. 4 die Daten dar, die von der bevorzugten Ausführungsform der vorliegenden Erfindung in einer einzigen zusammenhängenden Gruppierung verwendet werden. Dieses Format wurde gewählt, um die Lesbarkeit der ausführlichen Beschreibung zu verbessern.

Das Format, in dem die Daten in Fig. 4 dargestellt sind, sollte als solches nicht dazu dienen, den Schubumfang der Erfindung einzuschränken.

Die Datenstruktur 400 wird zum Managen der Aktivierung von Steuerflächen 374 und zur Positionierung des Cursors 372 auf einer Steuerfläche 374 verwendet. Die Datenstruktur enthält ein Steuerflächenwort 405 zur schnellen Aktivierung und Deaktivierung von Steuerflächengruppierungen. Das Steuerflächenwort 405 enthält eine Anzahl von Steuerflächengruppierungsindikatoren 406. Jeder Steuerflächengruppierungsindikator- 406 definiert den Status (aktiv oder inaktiv) für eine Anzahl von miteinander verbunden Steuerflächen. Auf diese Anzahl von miteinander verbundenen Steuerflächen wird als Steuerflächengruppe Bezug genommen. Zusätzlich enthält die Datenstruktur drei Parameter, die durch das Anwendungsprogramm 346 festgelegt werden: einen Auslassungswinkelparameter 410, einen Auslassungsdistanzparameter 420 und einen Winkelwichtigkeits-Gewichtungsparameter 430. Wie später erläutert werden wird, verwendet der Steuerflächenmanager 345 diese drei Parameter, um eine ideale Steuerfläche 374 zu bestimmen, auf der der Cursor 372 positioniert wird. Diese Datenstruktur enthält ebenfalls eine Steuerflächen-Position und einen Statusindikator 440 (CPSI) für jede Steuerfläche. Jeder CPSI enthält: (1) ein Positionsidentifizierer 441 zur Identifizierung einer Position einer Steuerfläche auf dem Schirm (z. B. ein Satz von kartesischen Koordinaten, die die Steuerfläche darstellen); (2) ein Identifizierer 442 des Registrierenden zur Identifizierung der Einheit, die die Steuerfläche registriert hat (z. B. einen Fensterbalken, der ein registrierendes Fenster identifiziert); (3) einen Aktiv-Indikator 441 zur Anzeige eines Aktiv/Inaktiv-Zustandes der Steuerfläche; und (4) Steuerflächengruppenidentifizierer 444 zum Anzeigen einer Zugehörigkeit der Steuerfläche zu einer oder mehreren Steuerflächengruppen.

Wie im Folgenden erläutert werden wird, gibt der Steuerflächenmanager 345 von den Anwendungsprogrammen 346 und 348 Werte vor für: das Steuerflächenwort 405, den Auslassungswinkelparameter 410, den Auslassungsdistanzparameter 420, den Winkelwichtigkeits-Gewichtungsparameter 430, den Positionsidentifizierer 441 und den Identifizierer 442 für den Registrierenden. Die bevorzugte Ausführungsform der vorliegenden Erfindung verwendet anschließend diese eingegebenen Werte, um dynamisch die verbleibenden Inhalte jedes CPSI weiterzuführen (z. B. den Aktiv-Indikator 443 und die Steuerflächen-Gruppierungsidentifizierer 444).

Fig. 5 stellt ein funktionelles Blockdiagramm dar, das die wesentlichen Softwareprozesse der bevorzugten Ausführungsform der vorliegenden Erfindung darstellt. Die bevorzugte Ausführungsform der vorliegenden Erfindung registriert Steuerflächen (Block 501) durch (1) Eingeben von Positionsinformation, eines Identifizierers für einen Registrierenden und von Steuerflächen-Gruppierungsnummern von einem Anwendungsprogramm 346 (Block 502) und (2) Speichern der eingegebenen Daten in den jeweiligen Feldern eines CPSI 440 (Block 503). Auf ähnliche Weise aktiviert und deaktiviert die bevorzugte Ausführungsform Steuerflächen (Block 510) durch (1) Eingeben von Steuerflächeninformation (Block 511) und Aktualisieren des Aktiv-Indikators 443 des CPSI entsprechend (Block 512). Insbesondere kann die bevorzugte Ausführungsform entweder (1) einzelne Steuerflächen durch Eingeben individueller Steuerflächenidentifizierer und von Aktiv/Inaktiv-Statusinformation aktivieren/deaktivieren (Block 513) oder (2) eine gesamte Steuerflächengruppierung durch Eingeben einer Maske und durch Überlagern der Maske durch das Steuerflächenwort 405 aktivieren/deaktivieren (Block 514). Wie im Folgenden unter Bezugnahme auf Fig. 9 erläutert werden wird, ist diese Maske eine Gruppierung binärer Zahlen, die verwendet werden, um die Steuerflächen- Gruppierungsindikatoren 506 wahlweise zu setzen oder zurückzusetzen.

Die bevorzugte Ausführungsform der vorliegenden Erfindung positioniert den Cursor auf einer idealen Steuerfläche (Block 515), und zwar durch Herausnahme aller Steuerflächen aus den möglichen Steuerflächen, die (1) durch nachfolgend wiedergegebene Datenwerte verdeckt werden (Block 517) oder (2) die an Entfernungen oder Winkeln positioniert sind, die, relativ zu der Position und dem Weg des Cursors, größer als jeweils anwendungsdefinierte Maximalwerte sind (Blöcke 518 und 519). Die bevorzugte Ausführungsform berechnet eine gewichtete Distanz für jede Steuerfläche, die nicht aus den möglichen Steuerflächen herausgenommen worden ist. Die bevorzugte Ausführungsform berechnet die gewichtete Distanz dadurch, dass zunächst eine letzte Richtung eines Cursorbewegungsweges und eine letzte Cursorposition festgestellt werden. Die letzte Richtung des Cursorbewegungsweges definiert die Richtung, in der der Benutzer den Cursor 372 bewegt hat, bevor der Benutzer die gerichtete Steuereinrichtung 322 freigegeben hat. Auf ähnliche Weise legt die letzte Cursorposition die kartesischen Koordinaten eines Cursorzeigers fest, wenn der Benutzer die gerichtete Steuereinrichtung 322 freigibt.

Nach den Bestimmungen der letzten Richtung eines Cursorbewegungsweges und der letzten Cursorposition berechnet die bevorzugte Ausführungsform die gewichtete Distanz für die Steuerfläche als Funktion der Steuerflächen-Distanz bzw. des Steuerflächen-Abstandes und des Steuerflächenwinkels der Steuerfläche. Wie oben ausgeführt, ist eine Steuerflächen-Distanz einer Steuerfläche ist die Distanz, die die letzte Cursorposition mit der Position der Steuerfläche verbindet. Die Linie, die die Steuerflächen- Distanz bestimmt, wird als Steuerflächen-Weg bezeichnet. Da sowohl die letzte Cursorposition als auch die Steuerflächen-Position im Allgemeinen durch kartesische Koordinaten angegeben werden, kann die Steuerflächen-Distanz in einfacher Weise berechnet werden (z. B. über eine euklidische oder Manhattan-Distanzberechnung). Der Steuerflächenwinkel einer Steuerfläche wird durch den Winkel zwischen der letzten Richtung des Cursorbewegungsweges und dem Steuerflächen-Weg gebildet. Im Allgemeinen ist die gewichtete Distanz einer Steuerfläche direkt proportional sowohl zu dem Steuerflächenwinkel als auch zu der Steuerflächen-Distanz. Zusätzlich ermöglicht die bevorzugte Ausführungsform dem Benutzer, selektiv den Einfluss entweder des Steuerflächenwinkels oder der Steuerflächen-Distanz zu minimieren oder zu maximieren, und zwar durch Variieren des zuvor beschriebenen Winkelwichtigkeits-Gewichts 430. Es ist für den Fachmann selbstverständlich, dass eine Vielzahl von Formeln zur Berechnung der gewichteten Distanz einer Steuerfläche verwendet werden kann. Ein Beispiel ist die folgende Formel, die in der bevorzugten Ausführungsform der vorliegenden Erfindung verwendet wird:

Nach Berechnung der gewichteten Distanzen für jede Steuerfläche positioniert die bevorzugte Ausführungsform der vorliegenden Erfindung den Cursor auf der Steuerfläche mit der kleinsten dazugehörigen gewichteten Distanz (Block 521).

Nachdem ein Überblick über die bevorzugte Ausführungsform der vorliegenden Erfindung beschrieben wurde, werden die jeweiligen Komponenten der bevorzugten Ausführungsform im Folgenden im Einzelnen detailliert erläutert. Die folgende detaillierte Beschreibung stellt die bevorzugte Ausführungsform so dar, wie sie in ein interaktives Fernsehsystem integriert ist. In diesem Beispiel stellt die Eingabeeinrichtung 320 der Fig. 3 ein Fernsteuerung dar und es wird davon ausgegangen, dass die gerichtete Steuereinrichtung 322 ein Tastenfeld mit vier Richtungspfeilen ist. Außerdem ist in diesem Beispiel der Computer 310 ein Videorecorder und die Videoanzeigevorrichtung 370 ein Fernsehgerät. Die vorliegende Erfindung ist jedoch nicht auf eine bestimmte gerichtete Steuereinrichtung 322, ein bestimmtes Computersystem 310 oder eine bestimmte Videoanzeigeeinrichtung 370 beschränkt.

Fig. 6 zeigt einen Überblick über die Schritte, die von dem Steuerflächenmanager ausgeführt werden. Damit die bevorzugte Ausführungsform die Verarbeitungssteuerung entlang eines "JA"-Pfades einer Entscheidungsstufe (z. B. Stufe 610, 630, 660 oder 680) ausführen kann, muss die bevorzugte Ausführungsform feststellen, dass das Anwendungsprogramm entsprechende Aktionen angefordert hat. Üblicherweise informiert das Anwendungsprogramm 346 das Steuerflächenmanagerprogramm, dass eine gegebene Aktion gewünscht wird. Es ist für den Fachmann selbstverständlich, dass eine solche Information über einen von einer Vielzahl von Wegen erreicht werden kann (z. B. Ersetzen eines Merkers, direktes Aufrufen von Komponenten der Fig. 6 oder ein Hardware- Interrupt). Die tatsächlich verwendete Einrichtung zur Informationsweitergabe stellt keine Beschränkung der vorliegenden Erfindung dar.

Die bevorzugte Ausführungsform beginnt die Verarbeitung durch Feststellen, ob das Anwendungsprogramm eine Registrierung von Steuerflächen anfordert (Schritt 610). In dem Beispiel wird angenommen, dass ein Videorecorderbenutzer gerade ein Videorecorderoptionsprogramm 346 durch Drücken eines Videorecorderprogrammoptionsschalters auf der Recorderfernsteuereinrichtung aktiviert hat. Das Videorecorderoptionsprogramm 346 erzeugt als solches ein Videorecorderprogrammoptionsfenster 705 der Fig. 7 A auf der Videoanzeigeeinrichtung 370. Fig. 7 A stellt Steuerflächen in identischer Weise wie die zuvor in Bezug zu herkömmlichen Systemen (Fig. 2A) dargestellten dar. Wie nachfolgend erläutert werden wird, offenbart die bevorzugte Ausführungsform der vorliegenden Erfindung jedoch eine neue Technik zum Aktivieren und Deaktivieren der Steuerflächen der Fig. 7 A. Nach der Erzeugung des Fensters registriert das Videorecorderoptionsprogramm 346 jede Steuerfläche (720, 722, 724, 730, 732 und 734) in dem Videorecorderprogrammierfenster 705 über den Steuerflächenmanager 345 (Schritt 620).

Das Registriersteuerflächenprogramm der Fig. 8 akzeptiert Steuerflächen von einem Anwendungsprogramm 346 und registriert diese in der Datenstruktur 400. Das Registriersteuerflächenprogramm beginnt mit einer Feststellung, ob das Anwendungsprogramm eine zusätzlich zu registrierende Steuerfläche besitzt (Schritt 810). Wenn das Anwendungsprogramm eine zusätzlich zu registrierende Steuerfläche besitzt, leitet die bevorzugte Ausführungsform die entsprechenden Steuerdaten weiter (Schritt 820). In dem Beispiel leitet die bevorzugte Ausführungsform der vorliegenden Erfindung Steuerdaten für die Steuerflächen (720, 722, 724, 730, 732 und 734) des Videorecorderoptionsprogramms 346 weiter (Schritt 820). Die bevorzugte Ausführungsform registriert anschließend die Steuerflächen durch Speichern der zugeführten Steuerdaten in den zuvor beschriebenen CPSIs 440 (Schritt 830). Insbesondere speichert die bevorzugte Ausführungsform für jede Steuerfläche einen Satz kartesischer Koordinaten, die die Mitte der Steuerfläche in einem jeweiligen Positionsidentifizierer 441 angegeben. Zusätzlich speichert die bevorzugte Ausführungsform einen Fensterbalken für jede Steuerfläche in den jeweiligen Identifizieren für den Registrierenden 442. Ein Fensterbalken ist ein numerischer Identifizierer, der das registrierte Fenster identifiziert (d. h., das Videorecorderprogrammoptionsfenster 705). Standardmäßig setzt die bevorzugte Ausführungsform außerdem den Aktiv-Merker 443 für jede neuregistrierte Steuerfläche. Das Anwendungsprogramm 346 kann jedoch anfordern, dass dieser Merker zunächst zurückgesetzt wird. Weiterhin speichert die bevorzugte Ausführungsform Steuer-flächengruppennummem für jede Steuerfläche in entsprechenden Steuerflächengruppenidentifizierern 444. Diese Gruppennummern geben die Steuerflächengruppierungen an, zu denen die Steuerflächen gehören. Wie nachfolgend erläutert werden wird, kann das Anwendungsprogramm zu jeder Zeit angegeben, dass eine Steuerfläche als Element einer Steuerflächengruppierung anzusehen ist. Es sei beispielsweise angenommen, dass das Videorecorderoptionsprogramm 346 festlegt, dass die Zeitgeber (Timer) AN/AUS-Steuerung 720, die Schaltuhreinstellungssteuerung 722 und die Uhreinstellungseinstellungssteuerung 724 alle zu einer ersten Gruppierung von Steuerflächen gehören und die Wiedergabesteuerung 730, die schnelle Vorlaufsteuerung 732 und die Rücklaufsteuerung 734 alle zu einer zweiten Gruppierung von Steuerflächen gehören. Im Ergebnis aktualisiert das Registriersteuerflächenprogramm die CPSIs 440, um die Zugehörigkeiten der Steuerflächen in ihren jeweiligen Gruppen wiederzugeben. In dem Beispiel speichert die bevorzugte Ausführungsform der vorliegenden Erfindung entweder eine eins oder eine zwei in dem Steuerflächengruppenidentifizierer 444 jeder Steuerfläche in Abhängigkeit davon, ob die zugeordnete Steuerfläche zu der jeweiligen ersten oder zweiten Gruppierung gehört. Nach Eingabe und Speicherung dieser Daten für jede Steuer-fläche kehrt das Registrierungssteuerflächenprogramm der Fig. 8 zu dem Steuerflächenmanagerprogramm der Fig. 6 zurück.

Das Steuerflächenmanagerprogramm der Fig. 6 setzt die Verarbeitung durch eine Feststellung fort, ob das Videorecorderoptionsprogramm 346 angefordert hat, die Parameter, die zur Berechnung der gewichteten Distanz verwendet werden (d. h., den Auslassungswinkelwert 410, den Auslassungsdistanzwert 420 und den Winkelwichtigkeitswert 430) einzustellen oder zu modifizieren sind (Schritt 630). Durch Variierung der Werte dieser Parameter informiert ein Anwendungsprogrammierer den Steuerflächenmanager 345, wie eine ideale Ruheposition für den Cursor 372 zu bestimmen ist. Da die bevorzugte Ausführungsform beispielsweise

verwendet, um gewichtete Distanzen zu berechnen, kann ein Anwendungsprogrammierer den Steuerflächenmanager 345 anweisen, Steuerflächen ein Übergewicht zu geben, die in der Nähe einer letzten Richtung eines Cursorbewegungsweges liegen (im Gegensatz zu Steuerflächen, die von der Richtung der letzten Richtung des Cursorbewegungsweges weggerichtet sind), und zwar durch Auswahl eines großen Distanzauslassungswertes 420, eines kleinen Winkelauslassungswertes 410 und eines großen Winkelwichtigkeits-Gewichtswertes 430.

Üblicherweise bestimmt der Anwendungsprogrammierer heuristisch Werte für die obigen Parameter basierend auf der Größe des Fensters, der Anzahl von Steuerflächen in dem Fenster und den relativen Positionen der Steuerflächen zueinander. In diesem Fall sei angenommen, dass der Anwendungsprogrammierer festgestellt hat, dass ein Auslassungswinkel von 175º, ein Distanzauslassungswert von 450 Einheiten und ein Winkelwichtigkeits-Gewichtswert von 100 die idealen Werte für das Videoprogrammieroptionsfenster 705 darstellen. Die Auswirkungen der Auswahl dieser Werte wird im Einzelnen nachfolgend in Bezug zu den Fig. 10 und 11 erläutert. Unter diesen Umständen empfängt die bevorzugte Ausführungsform die Werte von dem Videorecorderoptionsprogramm 346 (Schritt 630 und 640) und speichert die angegebenen Werte an ihren entsprechenden Positionen in der Datenstruktur 400 (Schritt 650).

An dieser Stelle stellt das Steuerflächenmanagerprogramm der Fig. 6 fest, ob es eine Steuerfläche aktivieren oder deaktivieren soll (Schritt 660). Es sei beispielsweise angenommen, dass das Videorecorderoptionsprogramm 346 ursprünglich alle Steuerflächen des Videoprogrammieroptionsfensters 205 aktiviert hat. Es wird weiterhin angenommen, dass der Benutzer anschließend eine Zeituhr des Videorecorders eingestellt hat, was die normalen Wiedergabeoptionen (d. h., Wiedergabe, schnelles Vorspulen und Zurückspulen) unzugänglich macht. In diesem Fall werden die unzugänglichen Optionen durch die Steuerflächen der zweiten Steuerflächengruppierung dargestellt (730, 732 und 734). Unter diesen Umständen fordert das Videorecorderoptionsprogramm eine Deaktivierung der zweiten Steuerflächengruppierung an. Daraufhin übergibt das Steuerflächenmanagerprogramm die Steuerung an das Aktivierungs/Deaktivierungs-Steuerflächenprogramm der Fig. 9 (Schritt 670).

Das Aktivierungs/Deaktivierungs-Steuerflächenprogramm der Fig. 9 aktiviert oder deaktiviert Steuerflächen, wie vom Anwendungsprogramm angefordert. Das Aktivierungs/Deaktivierungs-Steuerflächenprogramm erwartet eine Maske als Eingabe, wenn das Anwendungsprogramm 346 anfordert, eine Gruppierung von Steuerflächen zu aktivieren oder zu deaktivieren. Die Maskierung stellt eine Gruppierung binärer Ziffern dar, die verwendet werden, um selektiv bestimmte Bits in dem Steuerflächenwort 405 zu maskieren oder durchzulassen. Wie nachfolgend erläutert werden wird, führt die bevorzugt Ausführungsform eine logische UND-Operation unter Verwendung der eingegebenen Maskierung und eines aktuellen Wertes des Steuerflächenwortes 405 durch, um selektiv die Steuerflächengruppierungsindikatoren 406 des Steuerflächenwortes 405 zu setzen oder zurückzusetzen. Wenn das Anwendungsprogramm alternativ anfordert, eine einzelne Steuerfläche zu aktivieren oder zu deaktivieren, erwartet das Aktivierungs/Deaktivierungs-Steuerflächenprogramm (1) einen Steuerflächenidentifizierer (z. B. eine CPSI-Matrixelementnummer) und (2) ein Aktivierungs/Deaktivierungs-Flag als Eingabe.

In dem Beispiel bestimmt die bevorzugte Ausführungsform der vorliegenden Erfindung, ob das Videorecorderoptionsprogramm 346 anfordert, die zweite Steuerflächengruppierung zu aktivieren oder zu deaktivieren (Schritt 910). Wenn alternativ die Anwendung angefordert hat, eine einzelne Steuerfläche zu aktivieren oder zu deaktivieren, (1) empfängt die bevorzugte Ausführungsform der vorliegenden Erfindung den einzelnen Steuerflächenidentifizierer und das Aktivierungs/Deaktivierungs-Flag (Schritt 920) und (2) die bevorzugte Ausführungsform der vorliegenden Erfindung aktiviert oder deaktiviert entsprechend die angegebene Steuerfläche (Schritt 930). In dem Beispiel führt die bevorzugte Ausführungsform eine Maske zu, um die zweite Steuerflächengruppierung zu deaktivieren (Schritt 940). Zum Zwecke der Illustration sei angenommen, dass die zweite Steuerflächengruppierung durch das zweite Bit 406 eines Steuerflächenwortes 405 dargestellt wird und das ein Null-Wert des Bits eine Gruppierung deaktiviert: die zugeführte Maskierung würde somit wie durch 945 in Fig. 9 dargestellt (d. h., die letzten vier Bits der zugeführten Maskierung sind 1101 oder 0xD in hexadezimaler Notation). Anschließend überlagert die bevorzugte Ausführungsform der vorliegenden Erfindung die zugeführte Maskierung 945 dem Steuerflächenwort 405 unter Verwendung einer logischen UND- Operation (Schritt 950) der Fig. 9. Nach der Maskierung des Steuerflächenwortes 405 der Fig. 4, aktualisiert die bevorzugte Ausführungsform das Aktivierungs-Flag 443 jedes CPSI 440 in Übereinstimmung mit den neu maskierten Bitwerten des Steuerflächenwortes 405. In diesem Fall setzt die bevorzugte Ausführungsform jedes Aktivierungs- Flag 443 für jedes CPSI zurück, das eine Steuerflächengruppennummer von zwei als Steuerflächengruppenidentifizierer gespeichert hat. Nach der Aktualisierung jedes relevanten Aktivierungs-Flags 443 übergibt das Aktivierungs/Deaktivierungs-Steuerflächenprogramm der Fig. 9 die Steuerung an das Steuerflächenmanagerprogramm 6 zurück. Durch Darstellung einer Gruppierung von Steuerflächen als ein einzelnes Bit des Steuerflächenwortes 405 schafft die bevorzugte Ausführungsform der vorliegenden Erfindung ein besonders praktikables Verfahren für ein Anwendungsprogramm, um einen Bruchteil seiner registrierten Steuerflächen zu aktivieren oder deaktivieren. Durch Verwendung einer Maskierung oder eines Steuerwortes erlaubt die bevorzugte Ausführungsform dem Anwendungsprogrammierer, den gewünschten Bruchteil der Steuerflächen mit einer minimalen Anzahl codierter Instruktionen zu aktivieren/deaktivieren (d. h., im Wesentlichen durch Laden eines Maskierungswertes in einen Parameter im Gegensatz zur individuellen Festlegung für jede Steuerfläche, die der Anwendungsprogrammierer zu aktivieren oder deaktivieren wünscht). An diesem Punkt hat das Beispiel dargelegt, wie die bevorzugte Ausführungsform der vorliegenden Erfindung Steuerflächen registriert und schnell einen Bruchteil von zunächst aktivierten Steuerflächen deaktiviert. Das Beispiel wird nun die innovative automatische Positionierungstechnik der bevorzugten Ausführungsform der vorliegenden Erfindung demonstrieren.

Fig. 7B stellt eine Anzeige der Videoanzeigevorrichtung 370 der Fig. 3 dar. Insbesondere illustriert Fig. 7B das Videorecorderprogrammierfenster 705 der Fig. 7 A, nachdem es durch das nachträglich wiedergegebene Fenster 750 der Fig. 7B verdeckt wurde. Die aktiven Steuerflächen der Fig. 7 A werden durch Steuerflächen dargestellt, die als angedeutete Form 760 in Fig. 7B wiedergegeben werden. Es sei zusätzlich angenommen, dass das nachträglich wiedergegebene Fenster 750 vier als aktiv registrierte Steuerflächen 751, 752, 753 und 754 enthält (in der zuvor beschriebenen Weise registriert und aktiviert, Fig. 8 und 10). Für das Beispiel sei angenommen, dass der Benutzer den Cursor in einer letzten Bewegungsrichtung bewegt hat, die durch einen Bewegungsweg der letzten Richtung 770 dargestellt wird. Zusätzlich ist die Position auf dem Schirm der Videoanzeigevorrichtung 370 durch 780 in Fig. 7B dargestellt, an der der Benutzer die Bewegung des Cursors beendet hat. Das Steuerflächenmanagerprogramm der Fig. 6 bestimmt, dass der Benutzer die Cursorbewegung durch Freigeben der gerichteten Steuerung 322 beendet hat (Schritt 680) und übergibt die Steuerung an das Cursorpositionierungsprogramm der Fig. 11 (Schritt 690).

Das Cursorpositionierungsprogramm der Fig. 10 bestimmt die ideale Steuerfläche zur Positionierung des Cursors nachdem der Benutzer einen Schalter der gerichteten Steuervorrichtung 322 freigegeben hat (z. B., wenn der Benutzer eine zuvor gedrückte gerichtete Pfeiltaste frei gibt). In dem Beispiel beginnt das Cursorpositionierungsprogramm mit der Bestimmung der letzten Cursorposition (z. B. die kartesischen Koordinaten für die Position auf dem Schirm, auf den durch den Cursor gezeigt wird, wenn der Benutzer die gerichtete Steuerung 322 frei gibt) (Schritt 1010). Zusätzlich bestimmt das Cursorpositionierungsprogramm eine letzte Richtung eines Bewegungsweges des Cursors (Schritt 1020). Üblicherweise sind sowohl die letzte Cursorposition als auch die letzte Richtung des Bewegungsweges sofort als Parameter verfügbar, die in der Anzeigeansteuervorrichtung 360 enthalten sind. Nach Feststellung des Freigabepunktes der letzten Richtung des Bewegungsweges ruft das Cursorpositionierungsprogramm ein Programm zur Bestimmung der idealen Steuerfläche der Fig. 11 auf (Schritt 1030).

Das Programm zur Bestimmung der idealen Steuerfläche der Fig. 11 bestimmt die optimale Steuerfläche, auf der der Cursor zu positionieren ist. Die bevorzugte Ausführungsform beginnt mit dem Bestimmungsvorgang durch Einstellen eines Parameters, der das aktuelle Minimum der gewichteten Distanz angibt, auf einen beliebig großen Wert (Schritt 1105). Für das Beispiel sei angenommen, dass der Parameter, der das aktuelle Minimum der gewichteten Distanz eingibt, auf 65.535 eingestellt wird. Anschließend prüft die bevorzugte Ausführungsform die Positionierung und den Status jeder Steuerfläche (Schritte 1110-1170). In dem Beispiel gibt es sieben aktive Steuerflächen:

die nicht verdeckten Steuerflächen des nachträglich wiedergegebenen Fensters 750 und die verdeckten Steuerflächen 760 des Videorecorderprogrammieroptionsfenster 705. Im Interesse der Kürze werden die drei verdeckten Steuerflächen 760 des Fensters 705 bei einem einzigen Durchlauf der Schleife behandelt, die durch die Schritte 1110 und 1120 der Fig. 11 gebildet wird. Die bevorzugte Ausführungsform der vorliegenden Erfindung stellt durch Aufrufen der kartesischen Koordinaten, die in dem Positionsidentifizierer 441 der CPSI gespeichert sind, fest, dass die Steuerflächen 760 verdeckt sind. Nach dem Aufrufen der kartesischen Koordinaten leitet die bevorzugte Ausführungsform der vorliegenden Erfindung die aufgerufenen Koordinaten an ein Programm, das ein Fenster aufgrund eines Punktes angibt. Daraufhin gibt das Programm, das für einen Punkt das Fenster angibt, den Balken des aktiven Fensters zurück, das den Punkt umgibt, der durch die weitergeleitete Mittenkoordinate dargestellt wird. In dem Beispiel gibt das Programm, das für einen Punkt das Fenster angibt, den Fensterbalken des nachträglich wiedergegebenen Fensters 750 zurück. Die bevorzugte Ausführungsform vergleicht anschließend den nachträglich wiedergegebenen Fensterbalken mit dem Fensterbalken, der als Identifizierer 442 des Registrierenden für die zugeordnete Steuerfläche gespeichert ist. Wie zuvor erläutert, stellt ein Fensterbalken einen eindeutig numerischen Identifizierer dar. Ein solcher bestimmter Fensterbalken des Videorecorderprogrammieroptionsfensters 705 stimmt nicht mit dem Fensterbalken des nachträglich wiedergegebenen Fensters 750 überein. Dementsprechend betrachtet die bevorzugte Ausführungsform keine der verdeckten Steuerflächen 760 als gültige Ruheposition für den Cursor (Schritte 1110 und 1220).

Anschließend wertet das Programm zur Feststellung einer idealen Steuerfläche die AM/PM-Steuerung 754 der Fig. 7B aus (Schritte 1110-1130 der Fig. 11). In diesem Fall jedoch ist der Winkel, der zwischen (1) der letzten Richtung des Cursorbewegungsweges 770 und (2) dem AM/PM-Steuerflächen-Weg 774 gebildet wird, gleich 180º. Wie zuvor erläutert, hat der Anwendungsprogrammierer den Auslassungswinkel auf 175º festgelegt. Deshalb sieht die bevorzugte Ausführungsform die AM/PM-Steuerfläche 754 nicht als gültige Ruheposition für den Cursor an (Schritte 1110 und 1130 der Fig. 11).

An dieser Stelle wertet das Programm zur Bestimmung der idealen Steuerfläche der Fig. 11 die Zeiteingabe der Steuerfläche 753 der Fig. 7B aus. In diesem Fall stellt die bevorzugte Ausführungsform fest, dass die zugeordnete absolute Distanz 793 für die Zeiteingabesteuerfläche 753 gleich 500 Einheiten beträgt (Schritt 1140). Die absolute Distanz zur der Zeiteingabesteuerfläche ist somit größer als der Distanzauslassungswert von 450. Daher zieht das Programm zur Bestimmung der idealen Steuerfläche die Zeiteingabesteuerfläche 753 nicht als gültigen Ruhepunkt für den Cursor in Betracht.

Zusätzlich überprüft das Programm zur Bestimmung der idealen Steuerfläche der Fig. 11 die OK-Steuerfläche 752 und die Löschen-Steuerfläche 751 der Fig. 7B (Schritte 1110-1170). Im Gegensatz zu den zuvor untersuchten Steuerflächen sind diese beiden Steuer-flächen weder verdeckt noch außerhalb der jeweiligen Distanz- oder Winkelbereiche. Deshalb berechnet die bevorzugte Ausführungsform die gewichtete Distanz für diese beiden verbleibenden Steuerflächenkandidaten (Schritt 1150). Insbesondere sei angenommen, dass der Steuerflächenwinkel 781 für die Löschen-Steuerfläche 751 gleich 20º ist und dass die absolute Distanz, die den Freigabepunkt 780 mit der Mitte der Löschen-Steuerfläche 751 verbindet, 300 Einheiten beträgt, die dazugehörige gewichtete Distanz gleich 360 ist. [Gewichtete Distanz = absolute Distanz + Steuerflächenwinkel/gewichteter Winkel x absolute Distanz = 300 + (20 · 300)/100 = 360] (Schritt 1150). Da die Löschen-Steuerfläche eine zugeordnete gewichtete Distanz aufweist, die kleiner als der Wert (65.535) besitzt, die in dem Parameter für das aktuelle Minimum der gewichteten Distanz enthalten ist (Schritt 1160), setzt die bevorzugte Ausführungsform den Parameter des aktuellen Minimums der gewichteten Distanz auf die gewichtete Distanz, die der Löschen-Steuerfläche 751 zugeordnet ist (Schritt 1170). In ähnliche Weise sei angenommen, dass die zugeordnete absolute Distanz für die OK-Steuerfläche 752 der Fig. 7B 400 Einheiten beträgt und der zugeordnete gewichtete Winkel 45º ist, dann berechnet die bevorzugte Ausführungsform eine zugeordnete gewichtete Distanz von 580 (Schritt 1110-1150). In diesem Fall jedoch ist die berechnete gewichtete Distanz nicht kleiner als der Wert, der in dem Parameter des aktuellen Minimums der gewichteten Distanz enthalten ist (Schritt 1160). Deshalb kehrt das Programm zur Bestimmung der idealen Steuerfläche zu dem Cursorpositionierungsprogramm der Fig. 10 mit der Löschen-Steuer-fläche 751 der Fig. 7B zurück, die als Steuerfläche festgestellt wurde, die die kleinste zugeordnete gewichtete Distanz aufweist. Zu diesem Zeitpunkt positioniert das Cursorpositionierungsprogramm den Cursor auf der Löschen-Steuerfläche 751 (Schritt 1140). Auf diese Weise platziert die bevorzugte Ausführungsform der vorliegenden Erfindung einen Cursor automatisch auf einer idealen Steuerfläche. Durch Feststellung einer idealen Steuer-fläche in dieser Weise ermöglicht die bevorzugte Ausführungsform dem Benutzer, leicht zwischen Steuerfläche zu navigieren, wobei nur eine grobe Positionierungseinrichtung verwendet wird. Beispielweise bei Verwendung entweder einer Tastatur mit vier Pfeilen oder eines Joysticks kann der Benutzer effektiv zu einer gewünschten Steuerfläche nur durch eine momentane Aktivierung der gewichteten Steuereinrichtung inder Richtung der gewichteten Steuerfläche springen.

Wie oben erläutert, bestimmte die bevorzugte Ausführungsform der Erfindung die ideale Steuerfläche, nachdem der Benutzer die gerichtete Steuereinrichtung freigegeben hat. Es ist jedoch für den Fachmann selbstverständlich, dass die bevorzugte Ausführungsform leicht modifiziert werden kann, um die ideale Steuerfläche zu bestimmen, während der Benutzer den Cursor bewegt. In dieser alternativen Ausführungsform berechnet die vorliegende Erfindung periodisch die gewichteten Distanzen der Steuerflächen und bezeichnet die Steuerfläche mit kleinsten gewichteten Distanz als ideale aktuelle Steuerfläche. Die alternative Ausführungsform positioniert anschließend den Cursor auf der idealen aktuellen Steuerfläche, wenn der Benutzer die gerichtete Steuereinrichtung freigibt.

Zusätzliche Vorteile und Modifikationen der bevorzugten Ausführungsform der vorliegenden Erfindung sind dem Fachmann sofort offensichtlich. Deshalb sind die allgemeineren Aspekte der vorliegenden Erfindung nicht auf die bestimmten Details der beschriebenen bevorzugten Ausführungsform beschränkt. Dementsprechend sind verschiedene Modifikationen der bevorzugten Ausführungsform möglich, ohne vom Geist und vom Schutzumfang der vorliegenden Erfindung abzuweichen. Die vorliegende Erfindung an sich wird nur durch die beigefügten Ansprüche und ihre Äquivalenz beschränkt.

Gemäß einem weiteren Aspekt der vorliegenden Erfindung wird ein Verfahren zum Positionieren eines Cursors auf einer Vielzahl von Steuerflächen vorgeschlagen, wobei die Vielzahl von Steuerflächen auf einem Schirm bzw. Bildschirm eines Computersystems angezeigt werden und das Computersystem lediglich über eine grobe Positioniervorrichtung zum Steuern von Cursorbewegungen verfügt und die grobe Positioniervorrichtung Cursorbewegungen auslöst, wenn sie betätigt wird und Cursorbewegungen beendet, wenn sie freigegeben wird, wobei das Verfahren die Schritte des Bestimmens einer aktuellen Cursorposition, des Identifizierens einer letzten Richtung des Cursorbewegungsweges, des Bestimmens eines Steuerflächen-Weges und eines Steuerflächen- Winkels für jede der Vielzahl von Steuerflächen, wobei der Steuerflächen-Weg ein Weg ist, der die aktuelle Cursorposition mit einer entsprechenden Steuer-fläche verbindet und der Steuerflächen-Winkel ein Winkel ist, der zwischen der letzten Richtung des Cursorbewegungsweges und dem Steuerflächen-Weg ausgebildet ist, und des Berechnens eines gewichteten Abstandes als einer Funktion des bestimmten Steuerflächen-Weges und des bestimmten Steuerflächen-Winkels, des Bestimmens eines kleinsten gewichteten Abstandes aus den berechneten gewichteten Abständen und des automatischen Positionierens des Cursors auf der Steuerfläche mit dem bestimmten kleinsten gewichteten Abstand umfasst.

Bei einer bevorzugten Ausführung weist ein Computersystem eine gerichtete Steuereinrichtung auf, die Bewegungen eines Cursors steuert, wobei die gerichtete Steuereinrichtung Cursorbewegungen auslöst, wenn sie betätigt wird, und keine Cursorbewegungen bewirkt, wenn sie freigegeben wird, wobei das Computersystem des Weiteren eine Videoanzeigeeinrichtung aufweist und die Videoanzeigeeinrichtung einen Bildschirm aufweist, der eine Vielzahl von Steuerflächen anzeigt, sowie ein Verfahren zum Positionieren des Cursors auf dem Bildschirm der Videoanzeigevorrichtung, wobei das Verfahren die Schritte des Identifizierens einer Position auf dem Bildschirm, auf die der Cursor zeigt, des Bestimmens einer letzten Richtung des Cursorbewegungsweges, wobei die letzte Richtung des Cursorbewegungsweges eine Richtung identifiziert, in der sich der Cursor unmittelbar vor dem Freigeben der gerichteten Steuereinrichtung bewegt hat, des Bestimmens eines Steuerflächen-Weges, wobei der Steuerflächen-Weg die identifizierte Position und die Steuerfläche verbindet, und des Berechnens eines Winkels, der zwischen dem Steuer-flächen-Weg und der letzten Richtung des Bewegungsweges ausgebildet ist, für jede Steuerfläche, des Bestimmens einer Zahl gültiger Ruhepositions- Steuerflächen aus der Vielzahl von Steuer-flächen, des Bestimmens eines kleinsten berechneten Winkels unter den berechneten Winkeln der gültigen Ruhepositions-Steuerflächen und des Positionierens des Cursors auf der gültigen Ruhepositions-Steuerfläche mit dem kleinsten bestimmten berechneten Winkel umfasst.

Bei einer weiteren bevorzugten Ausführung umfasst der Schritt des Bestimmens einer Zahl gültiger Ruhepositions-Steuerflächen die Schritte des Angebens eines Auslassungs-Winkels und des Identifizierens lediglich der Steuerflächen, die einen berechneten Winkel haben, der kleiner ist als der Auslassungs-Winkel, als eine gültige Ruhepositions-Steuerfläche.

Gemäß einem weiteren Aspekt weist ein Computersystem eine gerichtete Steuereinrichtung zum Steuern von Bewegungen eines Cursors auf, wobei die gerichtete Steuerbewegung Cursorbewegungen auslöst, wenn sie betätigt wird, und keine Cursorbewegungen bewirkt, wenn sie freigegeben wird, wobei das Computersystem des Weiteren eine Videoanzeigeeinrichtung aufweist und die Videoanzeigeeinrichtung einen Bildschirm aufweist, der eine Vielzahl von Steuerflächen anzeigt, sowie ein Verfahren zum Positionieren eines Cursors auf dem Bildschirm der Videoanzeigeeinrichtung, wobei das Verfahren die Schritte des Identifizierens einer Position auf dem Bildschirm, auf die der Cursor zeigt, des Bestimmens einer letzten Richtung des Cursorbewegungsweges, wobei die letzte Richtung des Cursorbewegungsweges eine Richtung identifiziert, in der sich der Cursor unmittelbar vor einem Freigeben der gerichteten Steuereinrichtung bewegt hat, des Berechnens eines absoluten Abstandes für einen Weg, der die identifizierte Position und die Steuerfläche verbindet, für jede Steuerfläche, des Bestimmens einer Zahl gültiger Ruhepositions-Steuerflächen aus der Vielzahl von Steuerflächen, des Bestimmens eines kleinsten absoluten Abstandes unter den berechneten absoluten Abständen der gültigen Ruhepositions-Steuerflächen und des Positionierens des Cursors auf der Steuerfläche mit dem bestimmten kleinsten absoluten Abstand umfasst.

Vorzugsweise umfasst der Schritt des Bestimmens einer Zahl gültiger Ruhepositions- Steuerflächen die Schritte des Angebens eines Auslassungs-Abstandes und des Identifizierens nur der Steuerflächen, die einen berechneten absoluten Abstand aufweisen, der kleiner ist als der Auslassungs-Abstand, als eine gültige Ruhepositions-Steuerfläche aus der Liste gültiger Ruhepositions-Steuerflächen.

Gemäß einem weiteren Aspekt der Erfindung weist ein Computersystem eine Videoanzeigeeinrichtung auf, wobei die Videoanzeigeeinrichtung einen Bildschirm aufweist, wobei ein Verfahren die Schritte des Empfangens einer Anforderung zum Registrieren einer Steuerfläche von einem Anwendungsprogramm, des Registrierens einer Steuer-fläche in Reaktion auf die empfangene Anforderung, des Anzeigens der registrierten Steuerfläche auf dem Bildschirm der Videoanzeigeeinrichtung, des Bestimmens eines Punktes der angezeigten Steuerfläche, wobei der Punkt der erzeugten Steuerfläche eine Position der Steuerfläche auf dem Bildschirm der Videoanzeigeeinrichtung identifiziert, des Anzeigens eines folgenden Elementes auf dem Bildschirm der Videoanzeigeeinrichtung, des Feststellens, ob das angezeigte folgende Element den Punkt der erzeugten Steuerfläche verdeckt, und des Bezeichnens der Steuerfläche als einen ungültigen Ruhepunkt für den Cursor, wenn der Punkt des angezeigten folgenden Elementes die erzeugte Steuerfläche verdeckt, umfasst.

Bei einer bevorzugten Ausführung umfasst der Schritt des Feststellens, ob das angezeigte folgende Element den Punkt der erzeugten Steuerfläche verdeckt, die Schritte des Bestimmens eines ursprünglichen numerischen Identifizierers, wobei der ursprüngliche numerische Identifizierer einen Teil des Anwendungsprogramms identifiziert, dass die Registrierung der Steuerfläche anforderte; des Bestimmens eines aktuellen numerischen Identifizierers, wobei der aktuelle numerische Identifizierer eine Entität identifiziert, die momentan den Punkt der angezeigten Steuerfläche umgibt, und des Vergleichens des aktuellen numerischen Identifizierers mit dem ursprünglichen numerischen Identifizierer umfasst.

Gemäß einem weiteren Aspekt weist ein Computersystem eine gerichtete Steuereinrichtung zum Steuern von Bewegungen eines Cursors auf, wobei die gerichtete Steuereinrichtung Cursorbewegungen auslöst, wenn sie betätigt wird, und keine Cursorbewegungen bewirkt, wenn sie freigegeben wird, wobei das Computersystem des Weiteren eine Videoanzeigeeinrichtung aufweist und die Videoanzeigeeinrichtung einen Bildschirm aufweist, der eine Vielzahl von Steuerflächen anzeigt, sowie ein Verfahren zum Positionieren des Cursors auf dem Bildschirm der Videoanzeigevorrichtung, wobei das Verfahren die Schritte des Identifizierens einer Position auf dem Bildschirm, auf die der Cursor zeigt, des Bestimmens einer letzten Richtung des Cursorbewegungsweges, wobei die letzte Richtung des Cursorbewegungsweges eine Richtung identifiziert, in die sich der Cursor unmittelbar vor dem Freigeben der gerichteten Steuereinrichtung bewegt hat, des Berechnens eines absoluten Abstandes für einen Steuerflächen-Weg, wobei der Steuerflächen-Weg die identifizierte Position und die Steuerfläche verbindet, und des Berechnens eines Winkels, der zwischen dem Steuerflächen-Weg und der letzten Richtung des Bewegungsweges ausgebildet ist, für jede Steuerfläche, des Bestimmens einer Zahl gültiger Steuerflächen aus der Vielzahl von Steuer-flächen, wobei jede gültige Steuerfläche eine Steuer-fläche ist, die eine gültige Ruheposition für den Cursor bildet, des Berechnens eines gewichteten Abstandes als einer Funktion des berechneten absoluten Abstandes der gültigen Steuerfläche und des berechneten Winkels der gültigen Steuerfläche für jede bestimmte gültige Steuerfläche, des Bestimmens des kleinsten gewichteten Abstandes und des Positionierens des Cursors auf der Steuer-fläche umfasst, die mit dem kleinsten gewichteten Abstand verbunden ist.

Bei einer bevorzugten Ausführung umfasst der Schritt des Bestimmens einer Anzahl gültiger Steuerflächen die Schritte des Auswählens eines Auslassungs-Winkel-Wertes sowie des Identifizierens nur der Steuerflächen, die einen berechneten Winkel aufweisen, der kleiner ist als der Auslassungs-Winkel-Wert, als eine gültige Steuerfläche.

Bei einer weiteren bevorzugten Ausführung umfasst der Schritt des Bestimmens einer Zahl gültiger Steuer-flächen den Schritt des Auswählens eines Auslassungs-Abstands- Wertes und des Identifizierens nur der Steuerflächen, die einen berechneten absoluten Abstand aufweisen, der kleiner ist als der Auslassungs-Abstands-Wert, als eine gültige Steuerfläche.

Vorzugsweise handelt es sich bei dem absoluten Abstand um einen euklidischen Abstand.

Vorzugsweise wird mit dem Verfahren des Weiteren ein Winkelwichtigkeits-Wert ausgewählt, wobei der Winkelwichtigkeits-Wert eine Wichtigkeit bestimmt, die dem berechneten Winkel im Verhältnis zu dem berechneten absoluten Abstand bei den Berechnungen des gewichteten Abstandes zukommt.

Vorzugweise umfasst der Schritt des Bestimmens einer Zahl gültiger Steuerflächen die Schritte des Auswählens eines Auslassungs-Winkel-Wertes, des Auswählens eines Auslassungs-Abstands-Wertes und des Identifizierens nur der Steuerflächen, die einen berechneten absoluten Abstand aufweisen, der kleiner ist als der Auslassungs-Abstands-Wert, als eine gültige Steuer-fläche.

Gemäß einem weiteren Aspekt der vorliegenden Erfindung wird eine Vorrichtung zum Positionieren eines Cursors auf einer Videoanzeigeeinrichtung vorgeschlagen, wobei die Vorrichtung enthält: eine Vielzahl von Steuerflächen, wobei jede Steuerfläche auf einem Bildschirm einer Videoanzeigeeinrichtung angezeigt wird, einen Computer, wobei der Computer mit der Videoanzeigeeinrichtung verbunden ist, einen Speicherbereich, der in dem Computer ausgebildet ist, eine gerichtete Steuereinrichtung zum Bewegen des Cursors auf dem Bildschirm der Videoanzeigeeinrichtung, wobei die gerichtete Steuereinrichtung mit dem Computer verbunden ist, einen Steuerflächen-Abstands-Identifizierer zum Speichern eines Steuerflächen-Abstandes in dem Speicherbereich, wobei der Steuerflächen-Abstand einen entsprechenden absoluten Abstand zwischen einer aktuellen Cursorposition und einer entsprechenden Steuerfläche definiert, und einen Steuerflächen-Manager, der eine ideale Steuerfläche aus der Vielzahl von Steuerflächen bestimmt und den Cursor automatisch auf der bestimmten idealen Steuerfläche positioniert, wobei der Steuerflächen-Manager in dem Speicherbereich enthalten ist.

Bei einer bevorzugten Ausführung enthält der Steuerflächen-Manager eine Auswähleinrichtung, die eine Steuerfläche aus der Vielzahl von Steuerflächen auswählt, wobei die ausgewählte Steuerfläche einen kleinsten entsprechenden absoluten Abstand zu der aktuellen Cursorposition aufweist.

Bei einer weiteren bevorzugten Ausführung enthält die Vorrichtung des Weiteren einen Steuerflächen-Winkel-Identifizierer zum Speichern eines Steuerflächen-Winkels in dem Speicherbereich, wobei der Steuerflächen-Winkel einen entsprechenden Winkel definiert, der zwischen einer letzten Richtung des Cursorbewegungsweges und einem entsprechenden Steuerflächen-Weg ausgebildet ist, und wobei der Steuerflächen-Winkel in dem Speicherbereich gespeichert wird.

Vorzugsweise enthält die Vorrichtung des Weiteren einen Auslassungs-Winkel-Identifizierer zum Speichern eines Winkel-Schwellenwertes in dem Speicherbereich, wobei der Winkel-Schwellenwert für den Vergleich mit dem Steuerflächen-Winkel genutzt wird und wobei der Steuerflächen-Manager eine Einrichtung zum Berechnen des gewichteten Abstandes umfasst, die gewichtete Abstände für jede der Vielzahl von Steuerflächen berechnet, wobei die Einrichtung zum Berechnen des gewichteten Abstandes die gewichteten Abstände unter Verwendung der absoluten Abstände und der Steuerflächen- Winkel als Parameter berechnet, und wobei der Steuerflächen-Manager jede Steuerfläche nicht als eine Ruheposition für den Cursor berücksichtigt, die einen Steuerflächen- Winkel aufweist, der größer ist als der Auslassungs-Winkel.

Vorzugsweise enthält der Steuerflächen-Manager eine Einrichtung zum Berechnen eines gewichteten Abstandes, die einen gewichteten Abstand für jede der Vielzahl von Steuerflächen berechnet, wobei der gewichtete Abstand einen entsprechenden Abstand angibt, der die aktuelle Cursorposition mit einer entsprechenden Steuerfläche als einer Funktion eines entsprechenden Steuerflächen-Winkels und eines entsprechenden absoluten Abstandes für jede Steuerfläche angibt.

Vorzugsweise enthält die Vorrichtung des Weiteren einen Winkelwichtigkeits-Identifizierer zum Speichern eines Winkelwichtigkeits-Gewichtungswertes in dem Speicherbereich, wobei der Winkelwichtigkeits-Wert ein Gewicht zuweist, das dem entsprechenden Steuerflächen-Winkel im Verhältnis zu dem entsprechenden Steuerflächen-Abstand beim Berechnen des gewichteten Abstandes für jede Steuerfläche zukommt.

Bei einer bevorzugten Ausführung enthält die Vorrichtung des Weiteren einen Auslassungs-Abstands-Identifizierer, der einen Abstands-Schwellenwert für den Vergleich mit dem Steuerflächen-Abstand identifiziert, wobei der Steuerflächen-Manager jede Steuerfläche nicht als eine abschließende Ruheposition für den Cursor berücksichtigt, die einen Steuerflächen-Abstand aufweist, der größer ist als der Auslassungs-Abstand.

Vorzugsweise enthält die Vorrichtung des Weiteren ein Betriebssystem, wobei das Betriebssystem in den Speicherbereichen enthalten ist und wobei das Betriebssystem den Steuerflächen-Manager enthält.

Insbesondere enthält das Betriebssystem einen Treiber, der sich zwischen dem Computer und der Videoanzeigeeinrichtung befindet, wobei der Steuerflächen-Manager in dem Treiber enthalten ist.

Gemäß einem weiteren Aspekt der vorliegenden Erfindung wird eine Vorrichtung vorgeschlagen, die feststellt, ob ein Punkt, der eine Steuerfläche definiert, durch ein anschließend angezeigtes Element verdeckt wird, wobei die Steuerfläche auf einer Videoanzeigeeinrichtung eines Computersystems angezeigt wird und die Steuerfläche in Reaktion auf eine Anforderung von einem Anwendungsprogramm angezeigt wird, wobei das anschließend angezeigte Element eine begrenzte Fläche aufweist und auf der Videoanzeigeeinrichtung angezeigt wird, und wobei die Vorrichtung einen in dem Computer enthaltenen Speicherbereich und eine in der begrenzten Fläche des anschließend angezeigten Elementes enthaltene Prüfvorrichtung enthält.

Vorzugsweise enthält die Prüfvorrichtung einen ursprünglichen Identifizierer, wobei der ursprüngliche Identifizierer einen Teil des Anwendungsprogramms identifiziert, der für die Anforderung zum Anzeigen der Steuerfläche verantwortlich war, einen aktuellen Identifizierer, der eine Entität identifiziert, die momentan die registrierte Steuerfläche umgibt, sowie eine Vergleichseinrichtung, die den aktuellen Identifizierer mit dem ursprünglichen Identifizierer vergleicht.

Gemäß einem weiteren Aspekt wird eine Vorrichtung zum Positionieren eines Cursors auf einer Videoanzeigeeinrichtung vorgeschlagen, wobei die Videoanzeigeeinrichtung mit einem Computersystem verbunden ist und das Computersystem eine gerichtete Steuereinrichtung aufweist, wobei die Videoanzeigeeinrichtung eine Vielzahl von Steuerflächen anzeigt und die Vorrichtung einen Speicher, der in dem Computersystem enthalten ist, einen Absolutabstands-Identifizierer, der in dem Speicher des Computersystems enthalten ist, wobei der Absolutabstands-Identifizierer einen absoluten Abstand eines Steuerflächen-Weges speichert und der Steuerflächen-Weg eine aktuelle Cursorposition mit einer der Vielzahl von Steuerflächen verbindet, einen Steuerllächen-Winkel- Identifizierer, der in dem Speicher des Computersystems enthalten ist, wobei der Steuerllächen-Winkel-Identifizierer einen Winkel speichert, der zwischen dem Steuerflächen- Weg und einer letzten Richtung des Cursorbewegungsweges ausgebildet ist, eine Berechnungseinrichtung, die in dem Speicher-Computersystem enthalten ist und einen gewichteten Abstand berechnet, wobei der gewichtete Abstand einen Abstand von der aktuellen Cursorposition zu einer der Vielzahl von Steuerflächen identifiziert und wobei die Berechnungseinrichtung den gewichteten Abstand unter Verwendung des absoluten Abstandes und des Steuerflächen-Winkels als Parameter berechnet, und eine Positioniereinrichtung enthält, die in dem Speicher des Computersystems enthalten ist, um den Cursor auf einer idealen Steuerfläche zu positionieren, wobei die ideale Steuerfläche eine der Vielzahl von Steuerflächen ist und die ideale Steuerfläche einen gewichteten Abstand aufweist, der kleiner ist als der jeder anderen Steuerfläche.

Vorzugsweise enthält die Berechnungseinrichtung einen Winkelwichtigkeits-Wert, der in dem Speicher des Computersystems enthalten ist, wobei der Winkelwichtigkeits-Wert eine Wichtigkeit bestimmt, die dem Steuerflächen-Winkel im Verhältnis zu dem absoluten Abstand bei den Berechnungen des gewichteten Widerstandes zukommt.

Vorzugsweise enthält die Vorrichtung des Weiteren einen Auslassungs-Winkel-Wert, der in dem Speicher des Computersystems enthalten ist, sowie einen Bezeichner für einen ungültigen Winkel, der in dem Speicher des Computersystems enthalten ist, wobei der Bezeichner für einen ungültigen Winkel jede Steuerfläche, deren berechneter Winkel größer ist als der Auslassungs-Winkel-Wert, als einen ungültigen Ruhepunkt für den Cursor bezeichnet.

Vorzugsweise enthält die Vorrichtung des Weiteren einen Auslassungs-Abstands-Wert, der in dem Speicher des Computersystems enthalten ist, sowie einen Bezeichner für einen ungültigen Abstand, der in dem Speicher des Computersystems enthalten ist, wobei der Bezeichner für den ungültigen Abstand jede Steuerfläche, deren absoluter Abstand größer ist als der Auslassungs-Abstands-Wert, als einen ungültigen Ruhepunkt für den Cursor bezeichnet.

Gemäß einem weiteren Aspekt weist ein Computersystem eine gerichtete Steuereinrichtung zum Steuern von Bewegungen eines Cursors auf, wobei die gerichtete Steuereinrichtung Cursorbewegungen auslöst, wenn sie betätigt wird, und keine Cursorbewegungen bewirkt, wenn sie freigegeben wird, und das Computersystem des weiteren eine Videoanzeigeeinrichtung aufweist, wobei die Videoanzeigeeinrichtung einen Bildschirm aufweist, der eine Vielzahl von Steuerflächen anzeigt, sowie ein Verfahren zum Positionieren des Cursors auf dem Bildschirm der Videoanzeigeeinrichtung, wobei das Verfahren die Schritte des Berechnens eines gewichteten Abstandes für jede der Vielzahl von Steuerflächen, des Identifizierens einer Steuerfläche mit einem kleinsten berechneten gewichten Abstand als eine ideale Steuerfläche und des Positionierens des Cursors auf der idealen Steuerfläche, wenn die gerichtete Steuereinrichtung freigegeben wird, umfasst.

Bei einer bevorzugten Ausführung umfasst der Schritt des Berechnens eines gewichteten Abstandes für jede der Vielzahl von Steuerflächen die folgenden Schritte: Identifizieren einer Position auf dem Bildschirm, auf die der Cursor zeigt, Bestimmen einer Richtung der Cursorbewegung gegenüber der identifizierten Position, Bestimmen einer Richtung zu der Steuerfläche gegenüber der identifizierten Position; Berechnen eines Winkels, der zwischen der bestimmen Richtung der Cursorbewegung und der bestimmten Richtung der Steuerfläche ausgebildet ist, Berechnen eines Abstandes zu der Steuerfläche gegenüber der identifizierten Position und Berechnen des gewichteten Abstandes für die Steuerfläche als einer Funktion des berechneten Winkels und des berechneten Abstandes.

Bei einer bevorzugten Ausführung umfasst der Schritt des Berechnens eines gewichteten Abstandes für jede der Vielzahl von Steuerflächen die Schritte des Identifizierens einer Position auf dem Bildschirm, auf die der Cursor zeigt, des Bestimmens einer Richtung der Cursorbewegung gegenüber der identifizierten Position, des Bestimmens einer Richtung zu der Steuerfläche gegenüber der identifizierten Position, des Berechnens eines Winkels, der zwischen der bestimmten Richtung der Cursorbewegung und der bestimmten Richtung der Steuerfläche ausgebildet ist, und des Berechnens des gewichteten Abstandes für die Steuer-fläche als einer Funktion des berechneten Winkels.

Vorzugsweise umfasst der Schritt des Berechnens eines gewichteten Abstandes für jede der Vielzahl von Steuerflächen die Schritte des Identifizierens einer Position auf dem Bildschirm, auf die der Cursor zeigt, des Berechnens eines Abstandes zu der Steuerfläche gegenüber der identifizierten Position und des Berechnens des gewichteten Abstandes für die Steuer-fläche als einer Funktion des berechneten Abstandes.


Anspruch[de]

1. Verfahren zum Aktivieren von Steuerflächen (374) auf einem Bildschirm einer Bildanzeigevorrichtung (370) eines Computersystems (305), wobei das Verfahren die folgenden Schritte umfasst:

Bereitstellen einer Vielzahl von Steuerflächen (374) auf dem Bildschirm der Bildanzeigevorrichtung (370),

Identifizieren einer Steuerflächen-Gruppe, wobei die Steuerflächen-Gruppe aus wenigstens zwei Steuerflächen (374) besteht,

dadurch gekennzeichnet, dass es die folgenden zusätzlichen Schritte umfasst:

Darstellen der Steuerflächen-Gruppe mit einem einzelnen Statusindikator (406) und

Anweisen der Aktivierung der Steuerflächen (374) der Steuerflächen-Gruppe durch Speichern eines aktiven Wertes in dem einzelnen Statusindikator (406).

2. Verfahren nach Anspruch 1, wobei das Computersystem (305) des Weiteren einen Cursor (372) enthält, der auf dem Bildschirm der Bildanzeigevorrichtung (370) angezeigt wird, wobei das Verfahren des Weiteren die folgenden Schritte umfasst:

Identifizieren einer Stelle auf dem Bildschirm, auf die der Cursor (372) zeigt, und

Identifizieren einer Steuerflächen-Position für jede Steuerfläche (374) der Steuerflächen-Gruppe, wobei die Steuerflächen-Position eine Stelle auf dem Bildschirm für die aktivierte Steuerfläche (374) definiert, Bestimmen eines Steuerflächen-Abstandes, wobei der Steuerflächen-Abstand einen Steuerflächen-Verbindungsweg definiert, der die identifizierte Stelle mit der Steuerflächen-Position verbindet, Berechnen eines Steuerflächen-Winkels, wobei der Steuerflächen- Winkel ein Winkel ist, der zwischen dem Steuerflächen-Verbindungsweg und wenigstens einer Richtung eines Cursor-Bewegungsweges gebildet wird, und Berechnen eines gewichteten Abstandes.

3. Vorrichtung zum Aktivieren und Deaktivieren einer Steuerflächen-Gruppierung, wobei die Steuerflächen-Gruppierung aus wenigstens zwei Steuerflächen (374) besteht und auf einem Bildschirm einer Bildanzeigevorrichtung (370) eines Computersystems (305) angezeigt wird, wobei die Vorrichtung enthält:

einen Speicher (340), der in dem Computersystem (305) ausgebildet ist, und gekennzeichnet durch:

eine Steuerflächen-Gruppierungs-Kennung (446), die in dem Speicher (340) enthalten ist, wobei die Steuerflächen-Gruppierungs-Kennung (446) einen aktiven Zustand und einen inaktiven Zustand aufweist, und wobei die Steuerflächen- Gruppierungs-Kennung (446) die Steuerflächen (374) der Steuerflächen- Gruppierung darstellt.

4. Vorrichtung nach Anspruch 3, wobei die Steuerflächen-Gruppierungs-Kennung (446) ein Bit eines Steuerflächen-Wortes (405) ist.







IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com