-
HINTERGRUND DER ERFINDUNG
-
Die
vorliegende Erfindung betrifft eine Eingabevorrichtung für ein Computersystem.
Insbesondere betrifft die vorliegende Erfindung eine Eingabevorrichtung
zum Liefern von Positionsinformationen an das Computersystem basierend
auf der Bewegung der Eingabevorrichtung.
-
Eine
herkömmliche
Computereingabevorrichtung, wie beispielsweise eine Maus, weist
ein Gehäuse
auf, wobei eine Kugel in dem Gehäuse
befestigt ist. Die Kugel ist entweder auf herkömmliche Art ausgestaltet, wobei
sich die Kugel in der normalen Arbeitsposition in Eingriff mit einer
Arbeitsoberfläche befindet
und basierend auf der Bewegung, die der Benutzer mit der Maus über die
Arbeitsoberfläche ausführt, rotiert.
Die Kugel kann auch als Rollkugel vorgesehen sein, welche durch
digitale Einwirkung seitens des Anwenders rotiert wird. In beiden
Fällen werden
zur Erfassung der Rotation der Kugel in der Maus sowie zur Lieferung
von Positionsinformationen, die diese Rotation anzeigen, an den
Computer, Stellungsgeber verwendet. In vielen Fällen werden die Positionsinformationen
zur Regelung der Bewegung eines visuellen Bildes (wie beispielsweise
eines Mauscursors) auf dem Anzeigeschirm des Computers verwendet.
-
Auch
ist in einer Vorrichtung nach dem Stand der Technik eine Maus mit
der oben beschriebenen Rollkugel-Anordnung aufgebaut. Die Rollkugel
ist im Voraus mit einem gleichmäßigen, vorgegebenen
Bild bedruckt. Eine ladungsgekoppelte Vorrichtung wird verwendet,
um das Bild auf der Rollkugel zu erfassen und die Bewegung des Bildes
zu erfassen. Die Bewegung des vorgegebenen Bildes wird verwendet,
um Positionsinformationen an den Computer zu liefern.
-
Jedoch
weist die Computermaus des Standes der Technik, die den ladungsgekoppelten
Vorrichtungsaufbau verwendet, eine Reihe bedeutender Nachteile auf.
Zunächst
ist die Reaktionszeit von ladungsgekoppelten Vorrichtungen ziemlich
lang. Zusätzlich
ist die Verarbeitung eines Bildsignals von einer ladungsgekoppelten
Vorrichtung rechenintensiv und erfordert einen relativ großen und
teuren Prozessor. Auch sind ladungsgekoppelte Vorrichtungen extrem
anfällig
für Sättigung.
Anders gesagt arbeiten ladungsgekoppelte Vorrichtungen nicht gut,
wenn die Lichtbedingungen in der Umgebung Schwankungen unterliegen.
Zusätzlich
können
die ladungsgekoppelten Vorrichtungen leicht gesättigt werden und ihre Leistung
sich dann rasch abschwächen,
wenn eine externe Lichtquelle, wie beispielsweise ein relativ helles
Licht, auf die bilderzeugende Oberfläche gerichtet wird.
-
Weiter
wies eine andere Computermaus des Standes der Technik, die auf dem
Markt von Mouse Systems of California erhältlich ist, eine Maus mit einer
Leuchtdiode oder LED auf, die in Verbindung mit einem Mauspad mit
einem vorgegebenen, gleichmäßigen Muster
darauf verwendet wurde. Das Muster wurde durch ein gleichmäßiges Gitter
blauer und roter Linien gebildet. Die Abstrahlungen der LED wurden
vom Mauspad zu einem Detektor reflektiert, der ein analoges Ausgangssignal
lieferte. Das Signal lag als Wellenform mit Maxima vor, die den
verschiedenfarbigen Gitterlinien entsprachen. Von dieser Wellenform
wurden die Linien gezählt
und interpoliert, um Positionsinformationen zu erhalten. Ein derartiges Maussystem
erfordert ein Mauspad mit einem darauf realisierten speziellen,
gleichförmigen
Muster.
-
Zusätzlich werden
typische Maus-Schreibmarkensteuervorrichtungen unter Verwendung
einer festen Skala und Auflösung
betrieben. Eine feste Skala bedeutet, dass die Maus immer eine vorgegebene
Distanz über
eine Arbeitsfläche
bewegt werden muss, um das Cursorzeichen auf dem Computerbildschirm
eine vorgegebene Anzahl von Pixeln weit zu bewegen. Um beispielsweise
den Cursor auf einem Computerbildschirm mit einer Auflösung von
200 Bildpunkten pro Zoll (dpi) um 200 Pixel weiter zu bewegen, muss
die Maus über
eine bestimmte Distanz, wie beispielsweise 2 Zoll oder 5 cm, auf
der Arbeitsfläche
bewegt werden. Jedes Mal, wenn die Maus 5 cm weit bewegt wird, entspricht
diese Bewegung unabhängig
von der Oberfläche, über die
sie bewegt wird, immer der Bewegung des Cursorzeichens um 200 Pixel.
-
Die
feste Auflösung
bezieht sich auf die Auflösung
des Computerbildschirms, für
den die kleinste erfassbare diskrete Bewegung der Maus die Cursorposition
auf dem Computerbildschirm um nur einen einzigen Pixel verändert. Beispielsweise
verfügen
einige herkömmliche
Mäuse über eine
Auflösung,
die im Allgemeinen im Bereich von 200 bis 400 dpi liegt. Das bedeutet,
dass die kleinste diskrete Bewegung der Maus, die durch den Stellungsgeber-Mechanismus in der
Maus erfassbar ist, die Cursorposition auf dem Anzeigeschirm bei
Bildschirmen mit einer Auflösung
im Bereich von 200 bis 400 dpi um nur einen einzigen Pixel verändert. Weist
der Computerbildschirm jedoch eine höhere Auflösung auf, wie beispielsweise
1200 dpi, so kann die kleinste erfassbare diskrete Bewegung der
Maus eine Bewegung des Cursorzeichens auf dem Anzeigeschirm um 4
bis 6 Pixel bewirken. Einige derzeitige Mäuse können mit hochpräzisen Stellungsgeber-Mechanismen
eine Auflösung
von 1200 dpi erreichen.
-
Wie
vorstehend angeführt,
sind die Skala und Auflösung
herkömmlicher
Maus-Schreibmarkensteuervorrichtungen festgelegt. Um die Skala oder Auflösung zu ändern, muss
der Anwender gewöhnlich
einen anderen Maustreiber laden, der das Verhalten der Maus modifiziert,
um die Auflösung
zu ändern
oder um die Skala zu ändern.
Alternativ kann ein Anwender auch ein separates Steuerfeld-Applet
verwenden, um den Software-Vorrichtungstreiber dazu zu veranlassen,
die Skala und Auflösung
zu ändern. Die
Verwendung eines Steuerapplets zur Änderung der Skala oder Auflösung kann
recht mühsam
sein.
-
In
einigen Anwendungen sind auf dem Bildschirm auszuwählende Symbole
relativ klein. Es kann daher schwierig sein, Symbole auszuwählen, wenn
ein Monitor mit hoher Auflösung
verwendet wird. In einigen Fällen
kann eine Abweichung um einen einzigen Pixel die Auswahl von einem
anvisierten Symbol (oder einer Option) auf ein anderes (oder eine
andere) ändern.
Ein Verfahren, das verwendet werden kann, um diese Schwierigkeit
in derartigen Anwendungen zu überwinden,
besteht darin, die Auflösung
und Vergrößerung des
Computerbildschirms auf ihrem Nominalpegel zu halten und die Auflösung der
Schreibmarkensteuervorrichtung zu senken. Wie oben angezeigt, können herkömmliche
Verfahren zur Änderung
der Auflösung
der Schreibmarkensteuervorrichtung jedoch recht mühsam sein,
insbesondere dann, wenn ein Anwender die Auflösung während der Arbeit innerhalb
einer einzigen Anwendung mehrere Male ändern möchte.
-
Die
WO 94/10652 ist auf eine Computereingabevorrichtung (einen Abtaststift)
gerichtet, die in Kombination mit einem transparenten Lineal verwendet
wird, welches die Bewegung des Stifts während der Abtastung führt.
-
Der
Beitrag "Variable
Grid Pattern For Optical Mouse Contact Surfaces" (Variables Gittermuster für optische
Mauskontaktflächen)
im IBM Technical Disclosure Bulletin, Bd. 31, Nr. 8, Januar 1989 (1989-01),
Seiten 237 bis 240, Armonk, New York, USA offenbart eine Technik,
durch die ein optisches Mauspad unterschiedliche Gittermuster aufweist. Dies
ermöglicht
es dem Anwender, grobe und feine Cursorpositionierung auf unterschiedlichen Gittermustern
durchzuführen,
ohne dass die Notwendigkeit einer Änderung der Softwarebefehle
besteht.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Entsprechend
stellt die Erfindung ein Computereingabesystem zum Liefern von Eingabeinformationen
an einen Computer, wie in Anspruch 1 beschrieben, sowie ein Verfahren
zum Liefern einer Anwendereingabe an einen Computer, wie in Anspruch 6
beschrieben, bereit. In einer Ausführungsform erfasst eine Computereingabevorrichtung
Bilder auf einer Oberfläche.
Die Computereingabevorrichtung erzeugt Eingabeinformationen, die
ein Änderungsereignis
anzeigen, wenn die Vorrichtung vom Lesen eines vorgegebenen Musters
auf das Lesen eines anderen vorgegebenen Musters umschaltet. In
einer anderen Ausführungsform
ist ein Verfahren zur Verwendung der Eingabevorrichtung oder des
bedruckbaren Mediums mit den darauf angebrachten vorgegebenen Mustern
beschrieben.
-
KURZBESCHREIBUNG
DER ZEICHNUNGEN
-
1 ist
ein Blockdiagramm einer beispielhaften Umgebung für die Implementierung
einer Eingabevorrichtung in Übereinstimmung
mit einer erfindungsgemäßen Ausführungsform;
-
2A ist
ein funktionales Blockdiagramm eines Computers und einer Eingabe-Schreibmarkensteuervorrichtung,
wie sie in einer Ausführungsform der
vorliegenden Erfindung verwendet wird;
-
2B stellt
ein durch eine Eingabe-Schreibmarkensteuervorrichtung für die Übertragung
zum Computer erzeugtes Informationspaket dar;
-
3 stellt
eine Computereingabevorrichtung, die teilweise im Schnitt und teilweise
in Form eines Blockdiagramms gezeigt ist, in Übereinstimmung mit einer Ausführungsform
der vorliegenden Erfindung dar;
-
4 ist
ein Blockdiagramm, das die Verwendung der in 3 gezeigten
Schreibmarkensteuervorrichtung in Verbindung mit einem Mauspad oder einer
Arbeitsoberfläche
mit einem vorgegebenen Muster darauf darstellt;
-
5A und 5B stellen
den Betrieb der Eingabevorrichtung beim Erkennen des in 4 gezeigten
vorgegebenen Musters dar;
-
6 stellt
ein Mauspad oder eine Arbeitsoberfläche mit einer Vielzahl an vorgegebenen
Mustern dar, die darauf angeordnet sind, um eine Eingabevorrichtung
mit einer variablen Auflösung
zu schaffen;
-
7 ist
eine Ansicht eines Mauspads oder einer Arbeitsoberfläche mit
darauf angeordneten vorgegebenen codierten Bildern;
-
8 ist
ein Diagramm, das die Projektion der vorgegebenen codierten Bilder
auf ein X-Y-Koordinatensystem darstellt;
-
9 stellt
ein durch eine Eingabevorrichtung erzeugtes Informationspaket dar;
-
10A und 10B zeigen
ein Ablaufdiagramm, das den Betrieb einer Eingabevorrichtung darstellt,
die das in 9 dargestellte Datenpaket verwendet;
-
11 ist
ein Blockdiagramm, das die Verwendung einer Eingabevorrichtung zur
Lieferung spezialisierter Nachrichten an den Computer darstellt;
-
12A und 12B zeigen
ein Ablaufdiagramm, das den Betrieb der in 11 gezeigten
Eingabevorrichtung darstellt;
-
13 ist
ein Ablaufdiagramm, das den Betrieb einer Anwendung in Verbindung
mit einer Eingabevorrichtung zeigt, wobei die Anwendung ein Blatt mit
darauf angeordneten anwendungsspezifischen Bildern erzeugt;
-
14 stellt
ein anderes Mauspad oder eine Arbeitsoberfläche mit einer Vielzahl von
darauf angeordneten Mustern oder Bildern dar;
-
15A ist ein funktionales Blockdiagramm, das die
Verwendung einer Eingabevorrichtung in einem Lernmodus darstellt;
-
15B stellt eine veranschaulichende Ausführungsform
eines Ausrichtungs-Ausgleichs-Codes dar; und
-
16 ist
ein Ablaufdiagramm, das den Betrieb einer Eingabevorrichtung und
eines Computers in einem Lernmodus darstellt.
-
AUSFÜHRLICHE BESCHREIBUNG DER DARGESTELLTEN
AUSFÜHRUNGSFORMEN
-
Eine
Ausführungsform
der Erfindung stellt eine Anwendereingabevorrichtung zum Erzeugen von
Positionsinformationen und Liefern dieser Informationen an ein Computersystem
bereit. Die Positionsinformationen werden basierend auf der erfassten
Bewegung der Anwendereingabevorrichtung, oder eines Teils davon,
erzeugt. Die Bewegung wird durch Identifikation eines Musters oder
Bildes auf einer relativ zur Anwendereingabevorrichtung bewegbaren
Oberfläche
und Überwachung
der relativen Bewegung des Musters erzeugt.
-
Überblick
-
1 und
die Ausführungen
im Zusammenhang damit sollen eine kurze, allgemeine Beschreibung
einer geeigneten Rechenumgebung liefern, in der die Erfindung implementiert
werden kann. Zwar ist dies nicht erforderlich, dennoch werden Ausführungsformen der
Erfindung, zumindest teilweise, im allgemeinen Kontext von computerausführbaren
Anweisungen, wie beispielsweise Programmmodulen, die von einem Personalcomputer
oder einer anderen Rechenvorrichtung ausgeführt werden, beschrieben. Im
Allgemeinen schließen
Programmmodule Routinenprogramme, Objekte, Komponenten, Datenstrukturen
usw. ein, die spezielle Aufgaben durchführen oder spezielle abstrakte
Datentypen implementieren. Weiterhin versteht sich für Fachleute,
dass Ausführungsformen
der Erfindung mit anderen Computersystemkonfigurationen, einschließlich tragbarer
Geräte,
Multiprozessorsysteme, Verbraucherelektronik auf Mikroprozessorbasis
oder programmierbarer Verbraucherelektronik, Netzwerk-PCs, Minicomputern, Mainframecomputern
und ähnlichem
realisiert werden kann. Die Erfindung ist auch in verteilten Rechenumgebungen
anwendbar, in denen Aufgaben durch entfernte Verarbeitungsvorrichtungen
durchgeführt werden,
die durch ein Kommunikationsnetzwerk verbunden sind. In einer verteilten
Rechenumgebung können
sich Programmmodule sowohl in lokalen als auch entfernten Speichervorrichtungen
befinden.
-
Mit
Bezug auf 1 weist eine beispielhafte Umgebung
für eine
Ausführungsform
der Erfindung eine Rechenvorrichtung für allgemeine Zwecke in Form
eines herkömmlichen
Personalcomputers 20, einschließlich einer Zentraleinheit 21,
eines Systemspeichers 22 und eines Systembusses 23 auf,
der die unterschiedlichen Systembauteile einschließlich des Systemspeichers
mit der Zentraleinheit 21 verbindet. Der Systembus 23 kann
eine beliebige von mehreren Arten von Busaufbauten sein, einschließlich eines Speicherbusses
oder einer Speicherregelung, eines Peripheriebusses und eines Internbusses,
wobei eine beliebige einer Vielzahl von Busarchitekturen verwendet
wird. Der Systemspeicher weist einen Nur-Lese-Speicher (ROM) 24 sowie
einen Direktzugriffspeicher (RAM) 25 auf. Ein Ein-Ausgabe-Werk (BIOS) 26,
das die Basisroutine enthält,
die die Informationsübertragung
zwischen Elementen innerhalb des Personalcomputers 20 unterstützt, wie
beispielsweise während
des Hochfahrens, ist im ROM 24 gespeichert. Der Personalcomputer 20 weist
weiter ein Festplattenlaufwerk 27 zum Lesen von und Schreiben
auf eine Festplatte (nicht gezeigt), ein Magnetplattenlaufwerk 28 zum
Lesen von oder Schreiben auf eine entnehmbare Magnetplatte 29,
sowie ein Bildplattenlaufwerk 30 zum Lesen von oder Schreiben
auf eine entnehmbare Bildplatte 31, wie beispielsweise
eine CD-ROM oder einen anderen optischen Datenträger, auf. Das Festplattenlaufwerk 27, das
Magnetplattenlaufwerk 28 und das Bildplattenlaufwerk 30 sind
durch eine Festplattenlaufwerk-Schnittstelle 32, eine Magnetplattenlaufwerk-Schnittstelle 33 und
eine Bildplattenlaufwerk-Schnittstelle 34 jeweils mit dem
Systembus 23 verbunden. Die Laufwerke und die dazugehörigen computerlesbaren
Medien liefern eine nichtflüchtige Speicherung
computerlesbarer Anweisungen, Datenstrukturen, Programmmodule und
anderer Daten für
den Personalcomputer 20.
-
Obwohl
die hierin beispielhaft beschriebene Umgebung eine Festplatte, eine
entnehmbare Magnetplatte 29 und eine entnehmbare Bildplatte 31 verwendet,
sollte es sich für
Fachleute verstehen, dass andere Arten computerlesbarer Datenträger, welche für einen
Computer zugängliche
Daten speichern können,
wie beispielsweise Magnetkassetten, Flash-Speicher-Karten, digitale
Video-CDs, Bernoulli-Kassetten, Direktzugriffspeicher (RAMs), Nur-Lese-Speicher
(ROMs) und ähnliches,
in der beispielhaften Betriebsumgebung ebenfalls verwendet werden
können.
-
Eine
Reihe von Programmmodulen kann auf der Festplatte, der Magnetplatte 29,
der Bildplatte 31, dem ROM 24 oder RAM 25 gespeichert
werden, einschließlich
eines Betriebssystems 35, einem oder mehrerer Anwenderprogramme 36,
anderer Programmmodule 37 und Programmdaten 38.
Ein Anwender kann Befehle und Informationen in den Personalcomputer 20 über Eingabevorrichtungen,
wie beispielsweise eine Tastatur 42 und Zeigevorrichtung 40,
eingeben. Andere Eingabevorrichtungen (nicht gezeigt) können unter
anderem ein Mikrophon, ein Joystick, ein Game Pad, eine Satellitenantenne,
ein Scanner oder ähnliches
sein. Diese und andere Eingabevorrichtungen sind mit der Zentraleinheit 21 oft durch
eine Seriellanschluss-Schnittstelle 46 verbunden, die an
den Systembus 23 gekoppelt ist, können aber auch durch andere
Schnittstellen, wie beispielsweise eine Soundkarte, einen paral lelen
Anschluss, einen Game-Port oder einen USB-Standard verbunden sein.
Ein Monitor 47 oder eine andere Art von Anzeigevorrichtung
ist ebenfalls über
eine Schnittstelle, wie beispielsweise eine Graphikkarte 48,
mit dem Systembus 23 verbunden. Zusätzlich zum Monitor 47 können Personalcomputer
typischerweise andere periphere Ausgabevorrichtungen, wie beispielsweise den
Lautsprecher 45 und Drucker (nicht gezeigt), aufweisen.
-
Der
Personalcomputer 20 kann in einer vernetzten Umgebung arbeiten,
die logische Verbindungen zu einem oder mehreren entfernten Computern, wie
beispielsweise einem entfernten Computer 49, verwendet.
Der entfernte Computer 49 kann ein anderer Personalcomputer,
ein Server, ein Router, ein Netzrechner, ein gleichrangiger Computer
oder ein anderer Netzwerkknoten sein und weist typischerweise viele
oder alle der vorstehend im Zusammenhang mit dem Personalcomputer 20 beschriebenen Elemente
auf, auch wenn in 1 nur eine Speichervorrichtung 50 dargestellt
ist. Die in 1 abgebildeten logischen Verbindungen
sind unter anderem ein lokales Netz (LAN) 51 und ein weiträumiges Netz (WAN) 52.
Derartige vernetzt zusammenarbeitende Umgebungen sind in Büros, in
unternehmensweiten Computernetz-Intranetzen und im Internet allgemein üblich.
-
Wenn
der Personalcomputer 20 in einer vernetzt zusammenarbeitenden
LAN-Umgebung verwendet wird, ist er mit dem lokalen Netz 51 durch eine
Netzwerkschnittstelle oder einen -adapter 53 verbunden.
Wenn der Personalcomputer 20 in einer vernetzt zusammenarbeitenden
WAN-Umgebung verwendet wird, weist er typischerweise ein Modem 54 oder
eine andere Einrichtung zum Herstellen von Kommunikation über das
weiträumige
Netz 52, wie beispielsweise das Internet, auf. Das Modem 54,
das intern oder extern sein kann, ist mit dem Systembus 23 über die
Seriellanschluss-Schnittstelle 46 verbunden.
In einer Netzwerkumgebung können
im Zusammenhang mit dem Personalcomputer 20 dargestellte Programmmodule
oder Teile davon in den entfernten Speichervorrichtungen gespeichert
sein. Es versteht sich, dass die gezeigten Netzwerkverbindungen
beispielhaft sind und andere Einrichtungen zur Her stellung einer
Kommunikationsverbindung zwischen den Computern verwendet werden
können.
-
Zum
besseren Verständnis
der Ausführungsformen
der Erfindung wird nun eine kurze Erläuterung der Mausnachrichten-Verarbeitung
gegeben. 2A ist ein Funktions-Blockdiagramm
des Computers 20, der mit der Eingabevorrichtung 42 in Übereinstimmung
mit einer Ausführungsform
der vorliegenden Erfindung verwendet wird. Die Maus 42 weist in
der Darstellung eine rechte und eine linke Taste sowie ein herunterdrückbares,
rotierbares Rad 103 zwischen diesen auf. Das in 2A gezeigte
Blockdiagramm des Computers 20 weist einige der Elemente auf,
die in Zusammenhang mit 1 erläutert wurden, und diese Elemente
sind mit ähnlichen
Bezugszeichen bezeichnet. Jedoch zeigt das Blockdiagramm in 2A auch
detaillierter eine Reihe von Bauteilen, die bei der Verarbeitung
einer Mausnachricht verwendet werden. Der Computer 20 weist
den Maustreiber 60, die Nachrichten-Programmeinstiegsprozedur 62 sowie
die Fokusanwendung 64 auf. Für ein besseres Verständnis des
Betriebs der Eingabevorrichtung 42 in dem in 2A gezeigten
Computersystem 20 werden die Bauteile dieses Systems in Verbindung
mit einer in 2B dargestellten Datenstruktur
erläutert.
-
2B stellt
ein 4-Byte-Mauspaket 66 in einem Reihen-Spalten-Format dar, wobei
die Bytes 68, 70, 72 und 74 in
Reihen gezeigt sind und die einzelnen Bits jedes Bytes in Spalten
gezeigt sind. Das Byte 68 ist das erste von der Eingabevorrichtung 42 gelieferte
Byte, das Byte 70 ist das zweite Byte, das Byte 72 ist
das dritte Byte und das Byte 74 ist das vierte Byte. Die
Bitspalten sind so aufgebaut, dass die niedrigstwertigen Bits ganz
rechts und die höchstwertigen
Bits ganz links angeordnet sind. Somit weist die Spalte 76 die
niedrigstwertigen Bits jedes der vier Bytes auf und Spalte 78 weist
die höchstwertigen
Bits der vier Bytes auf.
-
Innerhalb
des Mauspakets 66 weist das erste Byte 68 das
Bit 80 der linken Taste, das Bit 82 der rechten
Taste und das Bit 84 der mittleren Taste auf. Eine eins
im Bit 80 der linken Taste zeigt an, dass die linke Taste
gedrückt
ist, und eine Null im Bit 80 der linken Taste zeigt an,
dass die linke Taste nicht gedrückt ist.
Auf ähnliche
Weise zeigt eine eins im Bit 82 der rechten Taste bzw.
dem Bit 84 der mittleren Taste an, dass die rechte Taste
bzw. die mittlere Taste gedrückt ist,
und eine Null in jedem dieser Bits zeigt an, dass die entsprechende
Taste nicht gedrückt
ist.
-
Das
vierte Bit 86 ist auf eins eingestellt.
-
Das
fünfte
Bit 88 des Bytes 68 ist das neunte Bit eines 9-Bit-Werts mit Vorzeichen,
der durch das Byte 70 komplementiert wird. Der durch die
Kombination des Bits 88 mit dem Byte 70 erzeugte
9-Bit-Wert stellt die Richtung und Größe der Bewegung der Maus entlang
der X-Koordinate dar. Da der 9-Bit-Wert im Zweier-Komplementärformat
ist, zeigt das Bit 88 die Richtung der Mausbewegung derart an,
dass, wenn es einen Wert von null hat, die Mausbewegung in eine
positive X-Richtung erfolgt, und wenn es einen Wert von eins hat,
die Mausbewegung in die negative X-Richtung erfolgt .
-
Das
sechste Bit 90 des ersten Bytes 68 ist das neunte
Bit eines 9-Bit-Werts mit Vorzeichen, der durch das Byte 72 komplementiert
wird. Die Kombination des Bits 90 mit dem dritten Byte 72 erzeugt
einen Wert, der die Größe und Richtung
der Bewegung der Maus entlang der Y-Koordinate anzeigt. Da dieser
Wert ein Zweier-Komplementärwert
mit Vorzeichen ist, zeigt Bit 90 die Bewegungsrichtung
entlang der Y-Koordinate derart an, dass, wenn es einen Wert von
eins hat, die Mausbewegung in eine negative Y-Richtung erfolgt, und wenn es einen
Wert von null hat, die Mausbewegung in eine positive Y-Richtung erfolgt.
-
Das
siebte Bit 92 und das achte Bit 94 des ersten
Bytes 68 zeigen an, ob die durch Bit 88 und Byte 70 bzw.
durch Bit 90 und Byte 72 gebildeten 9-Bit-Werte
einem Übertragfehler
ausgesetzt waren. Dies geschieht, wenn mehr als neun Bewegungsbits durch die
Maus erfasst wurden. In diesem Zustand sollte der entsprechende
9-Bit-Wert auf seine maximale Größe für die Bewegungsrichtung
gesetzt werden.
-
Die
vier niedrigstwertigen Bits 96, 98, 100 und 101 des
vierten Bytes 74 stellen die Richtung und Stärke der
Bewegung des Rades 103 (in 2A dargestellt)
dar. Der durch die Bits 96 bis 101 repräsentierte
Wert ist ein Wert mit Vorzeichen, wobei ein positiver Wert eine
Radbewegung auf den Anwender zu anzeigt, und ein negativer Wert
eine Radbewegung vom Anwender weg anzeigt.
-
Die
Bits 105 und 107 sind das fünfte bzw. sechste Bit des Bytes 74 und
zeigen ein Schließen von
der linken bzw. rechten Taste der Maus 42 entsprechenden
Schaltern an. Wenn das Bit 105 also einen Wert von eins
hat, ist der mit der linken Taste zusammenhängende Schalter geschlossen,
wodurch angezeigt wird, dass die entsprechende Maustaste gedrückt worden
ist. Das Bit 107 gibt ein Schließen des mit der rechten Maustaste
zusammenhängenden
Schalters auf ähnliche
Weise wieder.
-
Die
Bits 109 und 111 des vierten Bytes 74 sind
für spätere Nutzung
reserviert und sind auf null gesetzt. Fachleute werden erkennen,
dass das in 2B dargestellte Mauspaket 66 und
die nachstehend beschriebene serielle Schnittstelle 46 in
PS/2 und seriellen Mausverbindungen verwendet werden. Für USB-Verbindungen
werden die Mausinformationen mit Hilfe im Handel erhältlicher
USB-Protokolle für
Mäuse an
den Maustreiber gesendet.
-
Zur
Beschreibung der Verarbeitung einer herkömmlichen Mausnachricht wird
auf 2A wie auch 2B Bezug
genommen. Um eine Mausnachricht zu initiieren, betätigt der
Anwender zunächst
die Maus 42. Basierend auf dieser Betätigung erzeugt die Maus 42 ein
Mauspaket, das zur seriellen Schnittstelle 46 geleitet
wird, und das das Betätigungsereignis
anzeigt. Wenn die serielle Schnittstelle 46 das Mauspaket 66 empfängt, wandelt
es die seriellen Informationen im Mauspaket 66 in einen
Satz paralleler Pakete um und liefert die parallelen Pakete an den
Maustreiber 60. Der Maustreiber 60 erzeugt basierend
auf dem Betätigungsereignis
eine Mausnachricht. Die Erzeugung der Mausnachricht ist identisch
mit der Art und Weise, in der existierende Mäuse Mausnachrichten erzeugen.
-
Die
Mausnachricht wird dann zum Betriebssystem 35 übertragen.
In einer dargestellten Ausführungsform
ist das Betriebssystem 35 ein "WINDOWS NT®"-, ein "WINDOWS 95®"- oder ein "WINDOWS 98®"-Marken-Betriebssystem (das von der Microsoft Corporation,
Redmond, Washington bereitgestellt wird). Das Betriebssystem 35 enthält eine
Mausnachricht-Programmeinstiegsliste, die eine Reihe von Mausnachricht-Programmeinstiegsprozeduren 62 identifiziert.
Wenn das Betriebssystem 35 die Mausnachricht vom Maustreiber 60 empfängt, untersucht
es die Mausnachricht-Programmeinstiegsliste, um zu bestimmen, ob
sich Mausnachricht-Programmeinstiegsprozeduren im Betriebssystem 35 registriert
haben. Hat sich mindestens eine Mausnachricht-Programmeinstiegsprozedur
im Betriebssystem 35 registriert, so leitet das Betriebssystem 35 die Mausnachricht
an die registrierte Mausnachricht-Programmeinstiegsprozedur 62 weiter,
die als erste auf der Liste erscheint.
-
Die
aufgerufene Mausnachricht-Programmeinstiegsmöglichkeit führt einen wert aus und sendet
ihn zurück
an das Betriebssystem 35, der das Betriebssystem anweist,
die Mausnachricht an die nächste
registrierte Mausnachricht-Programmeinstiegsmöglichkeit weiterzuleiten.
-
Die
Mausnachricht kann beispielsweise einen Befehl an eine Anwendung
darstellen, der das Fenster angehört, das augenblicklich im Computer 20 fokussiert
ist. In diesem Augenblick gibt die Nachrichten-Programmeinstiegsprozedur 62 den
Befehl an die Fokusfenster-Anwendung aus. Darauf ansprechend führt die
Fokusfenster-Anwendung 64 die gewünschte Funktion durch.
-
Nachdem
die Nachrichten-Programmeinstiegsprozedur 62 den Befehl
an die Fokusanwendung 64 ausgibt, konsumiert die Nachrichten-Programmeinstiegsprozedur 62 die
Mausnachricht, indem sie die Nachricht aus der Nachrichtenkette
entfernt. Dies wird durch Rücksendung
eines Werts an das Betriebssystem 35 geleistet, der dem
Betriebssytem anzeigt, dass es die Mausnachricht nicht an andere
Nachrichten-Programmeinstiegsprozeduren weiterleiten sollte.
-
3 ist
ein detaillierteres Diagramm, teilweise in Blockform und teilweise
in Schemaform, das eine Anwender-Eingabevorrichtung, wie beispielsweise
die Maus 42, in Übereinstimmung
mit einer Ausführungsform
der vorliegenden Erfindung darstellt. Die Maus 42 weist
das Gehäuse 102,
die elektromagnetische Strahlungsquelle (die einfach eine Lichtquelle,
wie beispielsweise eine LED, sein kann) 104, die Apertur 106,
die in der Unterseite des Gehäuses 102 angeordnet
ist, die Linse 108, den Bild- oder Musterdetektor 110,
die Regelvorrichtung 112, sowie den Stromtreiber 114 auf.
In 3 ist die Maus 42 relativ zur Arbeitsfläche 116 angebracht
gezeigt. Der Musterdetektor 110 kann jeder geeignete Detektor
sein, der in der Lage ist, Bilder oder Muster aus Informationen,
die durch darauf auftreffende elektromagnetische Strahlung getragen
wird, zu erkennen und ein dies anzeigendes Signal zu liefern, und
kann beispielsweise ein Musterdetektor mit künstlicher Retina sein, wie
er nachstehend noch ausführlicher
beschrieben wird.
-
Die
Lichtquelle 104 kann jede beliebige geeignete Quelle elektromagnetischer
Strahlung sein, die dazu verwendet werden kann, Strahlung zum Auftreffen
auf ein Muster oder Bild zu liefern, und die dann durch den Musterdetektor 110 erfasst
werden kann. In einer dargestellten Ausführungsform weist die Lichtquelle 104 die
LED 118 und die Linse 120 auf. Von einer LED 118 emittierte
Strahlung wird durch die Linse 120 so übertragen, dass sie die Apertur 106 im
Gehäuse 102 passiert
und auf die Arbeitsfläche 116 auftrifft,
die ein vorgegebenes Muster oder Bild darauf aufweisen kann. Das
Licht reflektiert dann von der Arbeitsfläche 116 in Richtung
der Linse 108. Die Linse 108 sammelt die von der
Oberfläche 116 reflektierte
Strahlung und leitet sie zum Bilddetektor (beispielsweise zur künstlichen
Retina) 110. Es sollte sich verstehen, dass die Linse 108 durch
den Zusatz von Linsen entweder auf der LED 118, dem Bilddetektor 110 oder
beiden überflüssig wird.
Auf ähnliche Weise
kann die Linse einfach weggelassen werden, wenn die Strahlung durch
den Detektor erfassbar ist, so dass das Bild oder Muster ohne eine
Linse erfasst werden kann.
-
Der
Bilddetektor 110 erzeugt ein Bildsignal, das ein Bild oder
Muster auf der Arbeitsfläche 116 anzeigt.
Das Bildsignal wird zur Regeleinrichtung 112 geliefert,
die basierend auf dem Bildsignal Positionsinformationen berechnet.
Die Positionsinformationen zeigen die Bewegung der Maus 42 relativ
zur Arbeitsfläche 116 an,
wie nachstehend noch ausführlicher beschrieben
wird. Positionsinformationen werden durch die Regeleinrichtung 112 in
Form eines Informationspakets durch einen Ausgang, wie beispielsweise
ein Kabel (nicht gezeigt), an den in 1 und 2A dargestellten
Computer 20 geliefert. Die Maus 42 kann auch das
Ausgangssignal von der Regeleinrichtung 112 durch eine
drahtlose Übertragungsstrecke,
wie beispielsweise eine Infrarot-, eine Ultraschall- oder eine Funkfrequenzstrecke,
liefern. Die von der Regeleinrichtung 112 gelieferten Positionsinformationen
werden gemäß einem
herkömmlichen
Format, wie beispielsweise durch eine serielle Schnittstelle, eine
USB-Schnittstelle oder ein beliebiges anderes geeignetes Schnittstellenformat,
geliefert.
-
Der
Bilddetektor 110 ist in einer dargestellten Ausführungsform
eine von Mitsubishi Electric Corporation hergestellte künstliche
Retina und weist ein zweidimensionales Feld von Photodetektoren
mit variabler Empfindlichkeit (Variable Sensitivity Photo Detectors,
VSPDs) auf, das auf eine bekannte Weise arbeitet. Kurz gesagt werden
die VSPDs durch ein Paar nebeneinanderliegender Dioden gebildet,
die auf einer halbisolierten GaAs-Schicht (pn-np-Struktur) integriert und durch diese
getrennt sind. In einer Ausführungsform
ist das Feld ein 32 × 32-Element-Feld, könnte aber
je nach Wunsch größer oder
kleiner sein. Der Photodetektorstrom hängt sowohl in Vorzeichen als
auch Stärke
von der angelegten Spannung ab. Derartige VSPDs weisen einen analogen
Memoryeffekt auf, der Leitfähigkeitsinformationen
speichert, wenn eine Spannung in Anwesenheit eines optischen Schreibimpulses
angelegt wird. Diese Information wird durch Einbringung eines optischen
Ausleseimpulses abgerufen.
-
Bildbearbeitung
in derartigen Vorrichtungen basiert auf optischer Matrix-Vektor-Multiplikation.
Ein eingegebenes Bild wird als Gewichtungsmatrix auf die Vorrichtung
projiziert. Alle VSPDs weisen eine Elektrode auf, die entlang von
Reihen verbunden ist, wobei ein Empfindlichkeits-Steuerungsvektor
erhalten wird. Somit kann die Empfindlichkeit der VSPDs in jeder
Reihe innerhalb eines bestimmten Bereichs auf beliebige Werte eingestellt
werden. Zusätzlich
ist die verbleibende VSPD-Elektrode entlang von Spalten verbunden,
wodurch ein durch das Matrix-Vektorprodukt der gewichteten Matrix
mal dem Empfindlichkeits-Steuerungsvektor definierter Ausgangsstromvektor
erhalten wird.
-
In
einem dargestellten Beispiel wird der Bilddetektor 110 gesteuert,
um Kantenextraktionsvorgänge
durchzuführen.
Die Empfindlichkeiten zweier benachbarter Detektorreihen werden
auf +1 bzw. -1 gesetzt, während
alle anderen Empfindlichkeiten auf 0 gesetzt werden. In dieser Ausführungsform
ist der Ausgangsstrom proportional zu der Differenz zwischen den
Lichtintensitäten
der beiden aktiven Reihen. Durch Verschieben des Regelspannungsmusters
in zyklischer Weise (0, +1, -1, 0, 0, etc.) werden die horizontalen
Kanten des Eingangsbildes erfasst. Somit arbeitet das System in
einem Zeitsequenz- und Semiparallel-Modus.
-
In
einem dargestellten Beispiel weist die Maus 42 auch den
Stromtreiber 114 auf, der an die Quelle 104 gekoppelt
ist. In dieser Ausführungsform erfasst
die Regeleinrichtung 112 periodisch die Intensität der durch
die Quelle 104 erzeugten Strahlung und stellt durch den
Stromtreiber 114 den an die Quelle 104 gelieferten
Strom ein. Anders gesagt liefert die Regeleinrichtung 112,
wenn die gemessene Intensität
niedriger ist als ein erwünschter
Bereich, ein Rückkopplungssignal
an den Stromtreiber 114, den an die Quelle 104 gelieferten
Strom zu erhöhen, um
die Intensität
der von der Quelle 104 ausgehenden elektromagnetischen
Strahlung zu erhöhen.
Ist andererseits die Intensität
der Strahlung höher
als ein erwünschter
Bereich, so liefert die Regeleinrichtung 112 das Rückkopplungssignal
an den Stromtreiber 114, den an die Quelle 104 gelieferten
Strom zu reduzieren, um dadurch die Intensität der von der Quelle 104 ausgesandten
Strahlung zu reduzieren. Dies kann beispielsweise erfolgen, um den
Gesamtenergieverbrauch der Maus 42 zu reduzieren.
-
4 und 5A bis 5B stellen
den Betrieb der Maus 42 in Übereinstimmung mit einer Ausführungsform
der Erfindung dar. Die Regeleinrichtung 112 weist den A/D-Wandler 122,
das Regelbauteil 124, das Bildabgleichungs-Bauteil 126 sowie die
Bildtabelle 128 auf. 4 stellt
auch den Bilddetektor 110 dar, der das 32 × 32 VSPD(Pixel)-Feld 123 zeigt,
auf das das Bild von der Oberfläche 116 gerichtet
ist. Das gesamte Gesichtsfeld 123 des Bilddetektors 110 stimmt
mit dem 32 × 32-Pixel-Feld überein. Innerhalb
des gesamten Gesichtsfeldes 123 ist jedoch der Abtastbereich 125 definiert.
Der Abtastbereich 125 ist kleiner als das Gesichtsfeld
und weist in einer dargestellten Ausführungsform einen ca. 10 Pixel
mal 10 Pixel großen
Bereich auf, der im Allgemeinen zentral um ein Zentrum 127 des
Gesichtsfeldes 123 herum angeordnet ist. In der in 4 gezeigten Ausführungsform
ist das Bild auf der Oberfläche 116 einfach
ein Gittermuster.
-
Im
Betrieb aktiviert die Regeleinrichtung 112 zunächst die
Quelle 104, so dass Strahlung auf die Arbeitsfläche 116 auftrifft.
Die Maus 42 kann auf einer Oberfläche mit einem vordefinierten
Muster (wie beispielsweise der Gitterstruktur) oder ohne ein vordefiniertes
Muster arbeiten. Beispielsweise weist im Wesentlichen jede Oberfläche Unregelmäßigkeiten
oder Oberflächenrauheit
auf, wenn auch nur auf mikroskopischer Ebene. Eine handelsübliche künstliche
Retina ist in der Lage, Bilder aufzulösen, deren Größe nur einige
Mikrometer beträgt,
vorausgesetzt, dass die Lichtquelle stark genug ist. Die Strahlung
wird also von der Oberfläche 116 zurück reflektiert,
um auf das Gesichtsfeld 123 aufzutreffen, wobei sie Informationen
mit sich trägt,
die entwe der ein vorbestimmtes Muster auf der Oberfläche 116 oder
ein durch die Oberflächenrauheit
auf der Oberfläche 116 gebildetes
Muster anzeigen.
-
In
dem Betriebsmodus, in dem die Regeleinrichtung 112 nicht
nach einem vorgegebenen Muster auf der Arbeitsfläche 116 sucht, wird
das analoge Signal, welches das durch die Oberflächenrauheit der Oberfläche 116 gebildete
Muster anzeigt, an den A/D-Wandler 122 geliefert. Der A/D-Wandler 122 wandelt
das Signal in einen digitalen Wert um, der an das Regelbauteil 124 geliefert
wird. Das Regelbauteil 124 führt einen einer beliebigen
Anzahl geeigneter Algorithmen aus, wie beispielsweise den oben erwähnten Kantenextraktions-Algorithmus,
um ein Muster oder Bild von der Oberfläche 116 zu identifizieren,
welches auf den Abtastbereich 125 reflektiert wird. Diese
Information wird durch das Regelbauteil 124 in einem damit
zusammenhängenden
Speicher gespeichert. Das Regelbauteil 124 wartet dann
eine vorgegebene Auszeit-Periode lang, die in der Darstellung basierend
auf einer erwarteten Maximalgeschwindigkeit der Maus über die
Oberfläche 116 bestimmt
wird. In einem dargestellten Operationsmodus beträgt die Dauer
der Auszeit ca. 1 bis 10 Millisekunden.
-
Nach
der Auszeit-Periode reaktiviert das Regelbauteil 124 die
Quelle 104 (falls sie deaktiviert war) und bestimmt, ob
das Bild innerhalb des Abtastbereichs 125 sich bewegt hat.
Eine Bewegung des Bildes innerhalb des Abtastbereichs 125 zeigt
eine Bewegung der Maus 42 relativ zur Oberfläche 116 an.
Basierend auf der erfassten Bewegung stellt das Regelbauteil 124 Positionsinformationen
in einem üblichen
und akzeptablen Format (wie beispielsweise dem in 2B dargestellten
Datenpaket 66) an einem Ausgang bereit (beispielsweise
durch ein Kabel). Diese Informationen dienen für eine beliebige Anzahl von
Dingen, einschließlich
der Bewegung eines Mauscursors auf der Computeranzeige.
-
Nachdem
die Bewegung des Bildes oder Musters innerhalb des Gesichtsfeldes 125 erfasst wurde,
wird ein neues Bild oder Muster innerhalb des Abtastbereichs 125 erfasst.
Bilddaten, die das neue Bild anzeigen, werden dann durch das Regelbauteil 124 gespeichert.
Das Regelbauteil 124 wartet dann wieder für eine weitere
Auszeit-Periode und bestimmt, ob sich das neue Bild bewegt hat.
Dieser Prozess setzt sich fort, so dass die Maus 42 weiterhin Positionsinformationen
liefert, welche die relative Bewegung zwischen der Maus 42 und
der Arbeitsfläche 116 anzeigen.
-
Die
Detektion einer Bewegung des Bildes im Abtastbereich 125 kann
auf eine Reihe von Arten erfolgen. Derartige Verfahren sind unter
anderem Kreuzkorrelation, Zirkularharmonik, Muster-Momentcharakteristika
und Sehnenhistogramm-Detektion. Eine Drehbewegung der Maus 42 bezüglich der Oberfläche 116 kann,
wenn erwünscht,
ebenfalls erfasst werden. In einer dargestellten Ausführungsform ist
die Linse 120 so geformt, dass sie Strahlung in einem langgestreckten,
oder elliptischen, Muster überträgt. Daher
kann, wenn die Maus gedreht wird, die Drehung der elliptischen Form
ebenfalls erfasst werden.
-
Die
Regeleinrichtung 112 kann auch so konfiguriert sein, dass
sie ein vorgegebenes Muster (wie beispielsweise die Gitterstruktur)
innerhalb des Gesichtsfeldes 123 erfasst, und die Bewegung
des vorgegebenen Musters relativ zur Maus 42 erfasst. Beispielsweise
stellen 5A und 5B die
Bewegung eines vorgegebenen Musters innerhalb des Abtastbereichs 125 dar.
In 5A und 5B ist
das vorgegebene Gittermuster (das aus Gründen der Klarheit nur mit vertikalen
Linien gezeigt ist) aus alternierenden blauen und roten Linien gebildet,
so dass die Strahlung, die zum Bilddetektor 110 zurück reflektiert
wird, Informationen darüber
mit sich trägt,
ob blaue oder rote Gitterlinien innerhalb des Abtastbereichs 125 liegen.
Natürlich
könnten
die alternierenden Gitterlinien mit alternierender Dicke oder unterschiedlichen
Schattierungen ausgebildet sein oder andere unterscheidende Merkmale
aufweisen, die es dem Regelbauteil 124 ermöglichen,
bei der Detektion des Bildes die alternierenden Gitterlinien zu
identifizieren.
-
In 5A liegen
zwei blaue Linien 132 und 134 innerhalb des Abtastbereichs 125,
und eine rote Linie 136 liegt innerhalb des Abtastbereichs 125,
zwischen den blauen Linien 132 und 134. Nach der
Bewegung der Maus befindet sich ein neues Muster innerhalb des Abtastbereichs 125,
wie in 5B dargestellt. Das neue Muster
zeigt, dass die Linien 132, 134 und 136 relativ
zum Abtastbereich 125 nach links verschoben wurden, und
dass eine andere rote Linie 138 auf der rechten Seite in
den Abtastbereich 125 eingetreten ist.
-
Die
Abtastrate des Bilddetektors 110 ist in der Darstellung
hoch genug, wiederum basierend auf der erwarteten Maximalgeschwindigkeit
der Maus, dass die Maus 42 nicht um einen vollen Gitterabstand weiterbewegt
werden kann, bevor ein neues Bild aufgenommen wird. In einer dargestellten
Ausführungsform
nimmt das Regelbauteil 124 einen vorgegebenen, konstanten
Abstand zwischen den Gitterlinien an. Auf diese Weise muss das Regelbauteil 124 lediglich
die Anzahl von Gitterlinien verfolgen, die durch den Abtastbereich 125 verlaufen,
sowie die Bewegungsrichtung dieser Gitterlinien, um den Abstand und
die Richtung zu bestimmen, in die sich die Maus 42 relativ
zur Oberfläche 116 bewegt
hat. Natürlich wird
dies in der Darstellung im Bezug auf die Gitterlinien sowohl in
X- als auch in Y-Richtung ausgeführt. Das
Regelbauteil 124 erzeugt dann ein Mauspaket ähnlich dem
in 2B dargestellten, das die Bewegung der Maus 42 relativ
zur Oberfläche 16 anzeigt.
-
BETRIEB MIT
VARIABLLR AUFLÖSUNG
-
6 stellt
ein Mauspad, oder eine Oberfläche 116 mit
vier unterschiedlichen, darauf angeordneten Zonen 140, 142, 144 und 146 dar.
Die Zone 140 auf der Oberfläche 116 weist kein
vorgegebenes Muster darauf auf. Der Abschnitt 142 weist
ein Gitterlinienmuster aus gleichmäßig beabstandeten Gitterlinien
auf. Die Zone 144 weist ein hochaufgelöstes Gitterlinienmuster auf,
in welchem die Gitterlinien gleichmäßig beabstandet sind, jedoch
näher aneinander
angeordnet sind, als diejenigen in der Zone 142. Die Zone 146 weist
ebenfalls ein Gitterlinienmuster auf, doch das Muster ist insofern
nicht orthogonal, als die Beabstandung zwischen den Gitterlinien
von einer Seite der Zone 146 zu einer anderen Seite der
Zone 146 variiert. Die Zonen 140 bis 146 ermöglichen
den Betrieb der Maus 42 mit variabler Auflösung ohne
einen Austausch eines Vorrichtungstreibers zu erfordern und ohne
ein Steuerfeld-Applet aufzurufen.
-
Wenn
die Maus 142 sich über
der Zone 140 befindet, liefert das Regelbauteil 124 Positionsinformationen
basierend auf willkürlichen
(oder jedenfalls nicht vorher festgelegten) Mustern wie oben beschrieben.
In anderen Worten macht das Regelbauteil 124 periodische "Schnappschüsse" von Mustern oder
Bildern, die innerhalb des Abtastbereichs 125 basierend
auf der Oberflächenrauheit
in der Zone 140 identifiziert werden, und bestimmt die
Bewegung dieser Bilder relativ zum Abtastbereich 125, um
Positionsinformationen zu liefern.
-
Wenn
die Maus 42 über
die Auflösungszone 142 bewegt
wird, identifiziert das Regelbauteil 124 jedoch die Gitterlinienstruktur
unter der Maus 42. Da die Gitterlinien in der Darstellung
weit betonter sind als die Oberflächenrauheit der Oberfläche 116,
kann das Regelbauteil 124 leicht identifizieren, dass die Maus 42 sich über einer
Zone mit einem vorgegebenen Muster darauf befindet. Wenn sich die
Maus 42 daher über
der Zone 142 befindet, verarbeitet das Regelbauteil 124 einfach
die Bilder wie oben mit Bezug auf 5A und 5B beschrieben,
indem es die Gitterlinien entlang beider Achsen zählt, die
den Abtastbereich 125 passieren, um die Bewegung der Maus 42 zu
bestimmen.
-
Auf ähnliche
Weise kann, wenn die Maus 42 über die hochaufgelöste Zone 144 bewegt
wird, das Regelbauteil 124 schnell bestimmen, dass die
Maus 42 sich über
einer Zone mit einem vorgegebenen Muster darauf befindet, und arbeitet
in dem mit Bezug auf Zone 142 beschriebenen Modus. Es sollte nicht
vergessen werden, dass das Regelbauteil 124 so konfiguriert
ist, dass es einen vorgegebenen Abstand zwischen Gitterlinien annimmt.
Zwar sind Gitterlinien in Zone 144 gleichmäßig beabstandet,
sie liegen jedoch viel näher
aneinander als diejenigen in Zone 142 (z. B. weisen die
Gitterlinien in Zone 144 eine Beabstandung auf, die halb
so groß ist
wie die der Gitterlinien in Zone 142). Das Regelbauteil 124 zählt lediglich
die Anzahl von Linien, die den Abtastbereich 125 passieren.
Daher liefert das Regelbauteil 124 für eine bestimmte Bewegungsmenge
der Maus 42 relativ zu Zone 144 Positionsinformationen,
die anzeigen, dass die Maus 42 sich zwei Mal so weit bewegt
hat wie die selbe relative Bewegungsmenge der Maus 42 mit
Bezug auf Zone 142. Einfach durch Bewegung der Maus 42 von
der Zone 142 in die Zone 144 kann der Anwender
die Skala der Maus 42 effektiv halbieren und ihre Auflösung verdoppeln,
ohne irgendwelche Software zu wechseln und ohne auf das Steuerfeld
zuzugreifen.
-
Die
Zone 146 weist ebenfalls ein darauf angeordnetes Gittermuster
auf. Anders als bei den Zonen 142 und 144 variiert
die Beabstandung der Gitterlinien in Zone 146 jedoch über die
Zone. Wie in 6 dargestellt, ist die Beabstandung
der Gitterlinien in einem zentralen Bereich der Zone 146 am
größten, während die
Beabstandung der Gitterlinien an jedem Ende der Zone 146 (und
von oben nach unten) in Richtung der Kanten der Zone 146 abnimmt.
Wie mit Bezug auf die Zonen 142 und 144 beschrieben, erfasst
das Regelbauteil 124, dass sich die Maus 42 über einem
Bereich mit einem vorgegebenen Muster darauf befindet. Die Auflösung und
Skala der Maus 42 ändert
sich mit der Bewegung über
die Zone 146 basierend auf der Änderung der Beabstandung der Gitterlinien
in der Zone 146. Der Anwender kann daher die Maus 42 in
eine Eingabevorrichtung mit variabler Skala und variabler Auflösung konvertieren,
indem er die Maus einfach über
Zone 146 platziert, wiederum ohne irgendwelche Veränderungen
am Vorrichtungstreiber vorzunehmen und ohne ein Steuerfeld-Applet
aufzurufen.
-
ERFASSUNG SPEZIELL CODIERTER
BILDER
-
Die
Regeleinrichtung 112 ist in Verbindung mit dem Bildsensor 110 in
der Darstellung so konfiguriert, dass sie im Wesentlichen jedes
beliebige Bild auf der Oberfläche 116 erfasst,
ob es sich nun um ein vorgegebenes Bild oder ein zufälliges Bild
handelt, das die Oberflächenrauheit
anzeigt. Daher können die
Mausregeleinrichtung 112 und der Bilddetektor 110 auch
speziell codierte Bilder erfassen, die eine besondere Bedeutung
haben, und die auf der Oberfläche 116 angeordnet
sind.
-
7 stellt
ein sehr einfaches codiertes Muster dar, das in einer bestimmten
Zone auf der Oberfläche 116 wiederholt
werden kann. In einem dargestellten Beispiel werden die codierten
Muster durch das Regelbauteil 124 mit Hilfe einer in 8 dargestellten
einfachen Projektionstechnik identifiziert. Das Pixelfeld im Bildsensor 110 kann
so gesteuert werden, dass es ein Ausgangssignal liefert, welches
eine Summe der aktiven Pixel in jeder Reihe und in jeder Spalte
darstellt. Diese Informationen werden wie in 8 dargestellt
auf die XY-Achsen projiziert.
-
Anders
gesagt ist das in 7 und 8 dargestellte
Muster ein umgekehrtes Dreiecksmuster, das, wenn es auf das Detektorfeld
reflektiert wird, drei Pixel an seiner Basis und eines an seinem
umgekehrten spitzen Ende aktiviert. Das Muster kann auf eine einzige
Achse projiziert und durch ein Spannungssignal 150 auf
der X-Achse und ein Spannungssignal 152 auf der Y-Achse
dargestellt werden. Das Signal 150 weist einen ersten Pegel 154 auf,
der keine aktiven Pixel im Gesichtsfeld anzeigt. Das Signal 150 weist
auch einen zweiten Pegel 156 auf, der ein einzelnes aktives
Pixel im Gesichtsfeld anzeigt. Weiter weist das Signal 150 einen
dritten Pegel 158 auf, der zwei aktive Pixel im Gesichtsfeld
anzeigt. Somit repräsentieren
die Signalpegel 154, 156 und 158 eine
Summe der durch die aktiven Pixel im Zusammenhang mit dem Bild bei
einer Projektion auf die X-Achse erzeugten Signale.
-
Das
Signal 152 stellt die Projektion des Bildes auf die Y-Achse
dar. Das Signal 152 weist einen ersten Pegel 160 auf,
der drei aktive Pixel anzeigt, sowie zweite und dritte Pegel 162 bzw. 164,
die zwei aktive Pixel bzw. ein aktives Pixel anzeigen.
-
Auf
den Empfang dieser digitalisierten Signale hin identifiziert das
Regelbauteil 124 das codierte Muster und liefert es an
das Abgleichungsbauteil 166. Das Abgleichungsbauteil 166 greift
auf eine Bildtabelle 128 zu, die Daten speichert, welche
alle codierten Bilder anzeigen, die durch die Regeleinrichtung 112 erkannt
werden können.
Das Abgleichungsbauteil 126 verwendet jeden beliebigen
geeigneten, und bevorzugt einfachen, Abgleichungsalgorithmus, um
das durch das Regelbauteil 124 identifizierte Bild mit
einem vorgegebenen, in der Bildtabelle 128 gespeicherten
codierten Bild abzugleichen. In der Darstellung speichert die Bildtabelle 128 nicht nur
Daten, die die zu erkennenden Bilder anzeigen, sondern enthält auch
einen Wert im Zusammenhang mit dem erkannten Bild, der in dem durch
das Regelbauteil 124 erzeugten Mauspaket bei der Weiterleitung
der gewünschten
Informationen zurück
zum Computer 20 verwendet werden kann.
-
Zur
Erzeugung des Mauspakets erzeugt das Regelbauteil 124 bevorzugt
ein neues Mauspaket, das allgemein durch das Bezugszeichen 170 in 9 dargestellt
ist. Das Paket 170 ähnelt
dem in 2B dargestellten Paket 66,
mit der Ausnahme, dass es ein zusätzliches Byte 172 mit
Informationen enthält.
Das Byte 172, wie auch die anderen Bytes im Datenpaket 170,
enthält
bevorzugt acht Bit mit Informationen, die zum Codieren der Tatsache
verwendet werden, dass das Regelbauteil 124 in der Tat
ein vorgegebenes Bild erkannt hat, welches in der Bildtabelle 128 existiert,
und welches auch den Wert in der Bildtabelle 128 im Zusammenhang
mit dem codierten Muster aufweist, das identifiziert wurde.
-
Beispielhaft
kann das in 7 dargestellte codierte Muster
wiederholt auf der Oberfläche 116 angeordnet
sein, um anzuzeigen, dass der Computer 20 in einem bestimmten
Modus arbeiten soll, oder dass er den Modus wechseln soll. In einer
dargestellten Ausführungsform
zeigt, wenn das in 7 dargestellte co dierte Muster
erfasst wird, ein Funktions-/Modus-Änderungswert im Zusammenhang
mit diesem Muster in der Bildtabelle 128 an, dass der Computer 20 in
einem Sehbeeinträchtigten-Modus arbeiten
soll, in dem alle Fonts über
einen Nominalpegel hinaus drastisch vergrößert werden.
-
10A und 10B zeigen
ein Ablaufdiagramm, das den Betrieb der Maus 42 und des
Computers 20 unter derartigen Umständen darstellt. Zunächst manipuliert
der Anwender die Maus, wie durch Block 174 angezeigt. Anders
gesagt bewegt oder platziert der Anwender die Maus einfach über einem
Bereich oder einer Zone der Oberfläche 116, der oder
die die wiederholten codierten Muster aufweist. Als Nächstes erfasst
der Bildsensor 110 das Bild und leitet die das erfasste
Bild anzeigenden Daten an das Regelbauteil 124 weiter.
Das Regelbauteil 124 identifiziert dann das Bild, wie vorstehend
beschrieben, und leitet das Bild zum Abgleichungsbauteil 126. Dies
wird durch die Blöcke 176 und 178 angezeigt.
-
Das
Abgleichungsbauteil 126 greift auf die Bildtabelle 128 zu
und gleicht das identifizierte Bild (wenn möglich) mit einem in der Bildtabelle 128 enthaltenen
Bild ab. Dies wird durch Block 128 angezeigt. Die Abgleichungstabelle 126 leitet
den Funktions-/Modus-Änderungswert
im Zusammenhang mit dem abgeglichenen Bild aus der Bildtabelle 128 an das
Regelbauteil 124. Das Regelbauteil 124 wiederum
erzeugt das Mauspaket, wobei der Funktions-/Modus-Änderungswert
in Byte 5 des Pakets enthalten ist. Dies wird durch Block 182 angezeigt.
-
Das
Regelbauteil 124 leitet das Datenpaket dann zur seriellen
Schnittstelle 46, wie durch Block 184 angezeigt.
Die serielle Schnittstelle 46 wandelt das serielle Mauspaket
in parallele Mauspaketinformationen um und liefert diese Informationen
an den Maustreiber 60. Der Maustreiber 60 überprüft die Informationen
in Byte 5 und erzeugt eine Mausnachricht basierend auf den Funktions-/Modus-Änderungsinformationen,
welche wiederum auf dem vorgegebenen codierten Muster basieren,
das identifiziert worden ist. Dies wird durch die Blöcke 186 und 188 angezeigt.
Der Maustreiber 60 leitet die Mausnachricht an das Betriebssystem 35,
wie durch Block 190 angezeigt.
-
Es
sollte sich verstehen, dass die Mausnachricht eine spezielle Nachricht
sein kann, die für
das Betriebssystem gedacht ist. Beispielsweise kann die Mausnachricht
für einen
Betrieb in einem Sehbeeinträchtigten-Modus
dem Betriebssystem anzeigen, dass die Fontgröße erhöht werden muss. Die Bestimmung,
ob die Mausnachricht eine spezielle Nachricht ist, wird durch Block 192 angezeigt.
Wenn die Mausnachricht eine Nachricht ist, die für das Betriebssystem gedacht
ist, so unternimmt das Betriebssystem die nötigen Schritte, um den Betriebsmodus
des Computers 20 basierend auf den Informationen in der Mausnachricht
zu ändern.
Dies ist durch Block 194 angezeigt. In dem Moment, wenn
der Computer 20 in einen Sehbeeinträchtigten-Modus wechseln soll,
ruft das Betriebssystem eine Steuerfeldänderung der Fontgröße auf einen
gewünschten
Pegel auf, wie beispielsweise durch Aufrufen einer Anwendungsschnittstelle
(API). Das Betriebssystem konsumiert dann die Mausnachricht. Dies
wird durch die Blöcke 194 und 196 angezeigt.
-
Wird
bei Block 192 bestimmt, dass die Mausnachricht keine spezielle,
für das
Betriebssystem gedachte Nachricht ist, so leitet das Betriebssystem
die Mausnachricht einfach an registrierte Mausnachricht-Programmeinstiegsmöglichkeiten
weiter. Dies wird durch Block 198 angezeigt. Die Nachrichten-Programmeinstiegsmöglichkeit
kann durch eine Anwendung registriert sein, die so konfiguriert
ist, dass sie die in der Mausnachricht enthaltenen Informationen
nutzt. Solche Informationen können
beispielsweise anzeigen, dass ein Befehl zu der Anwendung weitergeleitet
werden soll, der das momentan fokussierte Fenster im Computer 20 angehört. Daher führt die
Nachrichten-Programmeinstiegsmöglichkeit durch
Identifikation des Fokus aus, wie durch die Blöcke 200 und 202 angezeigt.
Die Nachrichten-Programmeinstiegsmöglichkeit gibt dann den gewünschten
Befehl an die Fokusanwendung aus und konsu miert die Mausnachricht.
Dies wird durch die Blöcke 204 und 196 angezeigt.
-
Obwohl
die obige Beschreibung im Hinblick auf eine Änderung des Betriebsmodus des
Computers 20 von einem Modus für normal Sehende in einen Sehbeeinträchtigten-Modus
erfolgt ist, kann die vorliegende Technik verwendet werden, um im
Wesentlichen alle beliebigen Änderungen
des Betriebsmodus des Computers 20 vorzunehmen. Die Änderung
der Fontgröße ist lediglich
ein Beispiel. Es sollte sich ebenfalls verstehen, dass, während die
Maus 42 codierte Bilder auf der Oberfläche 116 identifizieren kann,
sie gleichzeitig Positionsinformationen entweder basierend auf einer
Bewegung der codierten Bilder innerhalb des Abtastbereichs 123 oder
basierend auf einer Bewegung durch die Oberflächenrauheit der Oberfläche 116 innerhalb
des Abtastbereichs 123 erzeugter Bilder liefern kann, wobei
beides vorstehend beschrieben ist. In diesem Fall enthält das Mauspaket 170 nicht
nur im Byte 5 enthaltene Informationen, sondern enthält auch
Positionsinformationen, die die Bewegung der Maus 42 in
die X- und Y-Richtung anzeigen. Natürlich kann die Maus 42 auch
gleichzeitig Informationen im Paket 170 liefern, die die
Betätigung
von Tasten und die Rotation des Rades auf der Maus 42 anzeigen.
-
Weiter
werden in der Darstellung Mauspads verwendet, welche verschiedene
codierte Nachrichten auf ihren gegenüberliegenden Seiten aufweisen. Anders
gesagt kann der Sehbeeinträchtigten-Code auf
einer Seite des Mauspads vorgesehen sein und über die gesamte Oberfläche des
Mauspads wiederholt werden, zusammen mit Gitterlinien mit unterschiedlichen
Zonen, wie beispielsweise den in 6 gezeigten.
In diesem Fall liefert eine einzige Seite des Mauspads eine Anzeige
an den Computer 20, dass er in dem Sehbeeinträchtigten-Modus
arbeiten soll, und liefert auch dem Anwender die vorstehend mit
Bezug auf 6 beschriebene Fähigkeit
einer variablen Auflösung.
Gleichzeitig kann die gegenüberliegende
Seite des Mauspads die selben variablen Auflösungszonen (oder ein beliebiges
anderes geeignetes Muster) ohne die codierten Sehbeeinträchtigten-Symbole
darauf aufweisen. Ist der Anwen der daher sehbeeinträchtigt,
so kann der Anwender einfach das Mauspad umdrehen, die Maus 42 auf dem
Pad platzieren, und der Computer 20 schaltet automatisch
in einen Sehbeeinträchtigten-Modus.
-
Die
oben beschriebene Vorrichtung kann auch zur Ausführung anderer gewünschter
Funktionen verwendet werden. Beispielsweise kann die Maus 42 auch
als Anwender-Eingabevorrichtung zur Eingabe einer Anwenderkennnummer
oder eines Anwenderkennworts zur Durchführung eines Anmeldevorgangs
verwendet werden. 11 ist ein Blockdiagramm ähnlich dem
in 4 gezeigten, und ähnliche Hauteile tragen entsprechende
Bezugszeichen. 11 stellt jedoch ein anderes
Bild 210 dar, das auf der Oberfläche 116 angeordnet
ist. In 11 ist das Bild 210 als
Strichcode dargestellt. Es könnte
jedoch jedes beliebige andere erkennbare Bild verwendet werden.
Das Bild 210 kann auf einem personalisierten Mauspad aufgebracht
sein, oder auf einer Kennkarte, die ein Anwender aus Sicherheitsgründen mit sich
trägt,
oder aber auf einem anderen ähnlichen personalisierten
Gegenstand.
-
In
manchen herkömmlichen
Computersystemen ist eine Anmeldungsprozedur erforderlich, bevor der
Anwender Zugang zu gewissen Aspekten des Computersystems erhält. Wenn
ein Computer gebootet wird, kann die Bootfolge es erforderlich machen,
dass das Betriebssystem eine Anmeldungsanwendung aufruft, welche
eine Anwenderschnittstelle erzeugt, die den Anwender auffordert,
Identifikationsinformationen, wie beispielsweise einen Namen oder eine
Kennnummer, sowie ein Passwort einzugeben. Basierend auf diesen
Anwender-Eingabeinformationen kann die Anmeldungsanwendung dem Anwender
vollständigen
Zugriff auf das Computersystem, nur teilweisen Zugriff (bei einer
Implementierung unterschiedlicher Sicherheitsstufen) oder gar keinen Zugriff
(beispielsweise, wenn aus den Anwender-Eingabeinformationen hervorgeht,
dass der Anwender nicht autorisiert ist, Zugang zu dem System zu
erhalten) gewähren.
-
Beispielsweise
erlauben manche Finanz- oder Rechnungs-Systemanwendungen nur autorisierten
Anwendern Zugriff auf bestimmte Datenbanken mit vertraulichen finanziellen
Informationen. Auf ähnliche
Weise steuern in einer Netzwerkumgebung einige Anmeldungsanwendungen
den Zugriff auf die Netzwerk-Laufwerke basierend auf der Identität und der
Sicherheitsstufe des Anwenders. Weiter fordern in Systemen, die
die Betriebssysteme der Marke "WINDOWS" verwenden, automatische
Anmeldungsprozeduren den Anwender auf, den Computer neu zu starten
(beispielsweise durch Ausführung
der Tastenfolge STRG-ALT-ENTF), bevor die Anmeldungsprozedur ausgeführt wird.
Derartige Anmeldungsvorgänge
können
recht mühsam
sein.
-
Die
Anmeldung kann erfolgen, indem die Maus 42 einfach über einem
codierten Bild platziert wird, das die persönlichen Anmeldungsinformationen des
Anwenders enthält,
oder indem die Maus 42 über ein
Bild (beispielsweise den in Bild 210 dargestellten Strichcode)
geführt
wird, in dem die persönlichen
Anmeldungsinformationen des Anwenders codiert sind.
-
In
Fällen,
in denen das codierte Bild klein genug ist, um durch die Regeleinrichtung 112 ohne
Bewegung der Maus 42 erkannt zu werden (d. h. wenn es klein
genug ist, um in seiner Gesamtheit innerhalb des Gesichtsfeldes 123 zu
erscheinen), wird das Bild einfach wie jedes andere codierte Bild
wie oben beschrieben verarbeitet. Anders gesagt wird das Bild durch
den Bilddetektor 110 aufgenommen, an den A/D-Wandler 122 geliefert,
der das Bildsignal in ein digitales Signal umwandelt, und zum Regelbauteil 124 weitergeleitet.
Das Regelbauteil 124 identifiziert das Bild dann und liefert
es zum Abgleichungsbauteil 126, welches das identifizierte
Bild mit einem entsprechenden, in der Bildtabelle 128 gespeicherten Bild
abgleicht. In diesem Fall enthält
die Bildtabelle 128 auch einen damit zusammenhängenden
Bildwert, der das Bild als Anmeldungsinformation eines Anwenders
identifiziert.
-
Diese
Information wird zurück
zum Regelbauteil 124 geliefert, welches das Mauspaket erzeugt und
das Mauspaket über
die seri elle Schnittstelle 46 an den Maustreiber 60 liefert.
Der Maustreiber 60 wiederum erzeugt eine Mausnachricht,
die zum Betriebssystem 35 übertragen wird. In einer Anordnung, in
der das Betriebssystem 35 Anmeldungsvorgänge handhabt,
ist die Mausnachricht als spezielle Mausnachricht für das Betriebssystem 35 bezeichnet.
In einer anderen Anordnung, in der eine separate Anwendung die Anmeldungsprozeduren
handhabt, ist die Mausnachricht einfach als normale Mausnachricht
bezeichnet, die an die registrierten Nachrichten-Programmeinstiegsprozeduren 62 weitergeleitet werden
soll. In diesem Fall leitet das Betriebssystem 35 die Mausnachricht
an die Nachrichten-Programmeinstiegsmöglichkeiten weiter, bis sie
die Anmeldungsanwendung erreicht. Die Anmeldungsanwendung gibt Befehle
an andere Bauteile des Computers 20 aus, um den Computer 20 so
einzustellen, dass er dem Anwender eine gewünschte Zugangsstufe erlaubt
oder dass er dem Anwender den Zugang verweigert und einfach eine
Fehlernachricht an den Anwender ausgibt.
-
In
einer Anordnung, in der die Maus 42 über das Bild 210 geführt wird
(beispielsweise wenn das Bild 210 ein Strichcode ist),
wird der Betrieb im Allgemeinen durch die in 12A und 12B dargestellten Ablaufdiagramme angezeigt. Es
ist von Anfang an von Bedeutung, dass die Maus 42 so konfiguriert
sein kann, dass sie eine Auswahleingabe vom Anwender empfängt (beispielsweise
durch Drücken einer
der Tasten), welche anzeigt, dass der Anwender in einen Anmeldungsmodus
eintreten möchte.
-
Der
Anwender führt
die Maus 42 dann über das
Bild 210, wie durch Block 212 angezeigt. Durch das
Führen
der Maus 42 über
das Bild 210 wird eine Folge diskreter Bilder erzeugt,
welche die im Strichcodebild 210 codierten Informationen
anzeigen. Der Bilddetektor 110 nimmt diese Bildsequenz
auf und liefert sie wiederum zum A/D-Wandler 122, der die Bildsequenz
anzeigende digitale Informationen an das Regelbauteil 124 liefert.
Dies wird durch Block 214 angezeigt.
-
Das
Regelbauteil 124 identifiziert jedes Bild in der Bildsequenz,
wie durch Block 216 angezeigt, und liefert die Bildsequenz
an ein Abgleichungsbauteil 126. Das Abgleichungsbauteil 126 gleicht
die Bildsequenz mit einer in der Bildtabelle 128 gespeicherten
Bildsequenz ab, wie durch Block 218 angezeigt. Das Regelbauteil 124 empfängt die
damit zusammenhängenden
Informationen von der Bildtabelle 128 und erzeugt das Mauspaket
einschließlich
der mit der abgeglichenen Bildsequenz zusammenhängenden Anmeldungsinformationen.
Dies wird durch Block 220 angezeigt. Das Regelbauteil 124 leitet
das Mauspaket zur seriellen Schnittstelle 46, wie durch Block 222 angezeigt.
Die serielle Schnittstelle 46 wandelt das serielle Mauspaket
dann in parallele Mauspaketinformationen um und liefert die parallelen Mauspaketinformationen
an den Maustreiber 60, wie durch Block 224 angezeigt.
-
Der
Treiber 60 erzeugt basierend auf den empfangenen Anmeldungsereignis-Informationen eine
Mausnachricht, wie durch Block 226 angezeigt, und leitet
die Mausnachricht an das Betriebssystem 35 weiter, wie
durch Block 228 angezeigt. In der Anordnung, in der die
Anmeldungsprozeduren durch eine vom Betriebssystem 35 getrennte
Anwendung zu handhaben sind, muss die Anmeldungsanwendung sich selbst
bereits beim Betriebssystem 35 als Mausnachricht-Programmeinstiegsmöglichkeit
registriert haben. Dies wird durch Block 230 angezeigt.
-
Das
Betriebssystem 35 leitet die Mausnachricht dann an eine
nächste
registrierte Mausnachricht-Programmeinstiegsmöglichkeit weiter, wie durch
Block 232 angezeigt, und die Nachrichten-Programmeinstiegsmöglichkeits-Prozeduren
werden wie durch Block 234 angezeigt ausgeführt. In
einer Anordnung gibt die Nachrichten-Programmeinstiegsmöglichkeit einfach Befehle an
die Anmeldungsanwendung aus, die die Anmeldungsanwendung auffordern,
die Kennungs- und Passwortinformationen in der Mausnachricht zu überprüfen. Dies
wird durch Block 236 angezeigt. Es werden dann Befehle
von der Anmeldungsanwendung ausgegeben, welche den Computer 20 so
einstellen, dass er dem Anwender einen entsprechenden Zugang erlaubt.
Dies wird durch Block 238 angezeigt. Die mit der Anmeldungsanwendung
zusammenhängende
Nachrichten-Programmeinstiegsmöglichkeit
konsumiert dann die Mausnachricht, wie durch Block 240 angezeigt.
-
ERZEUGUNG
VON ANWENDERSPEZIFISCHEN SCHABLONEN
-
Die
Eingabevorrichtung kann auch mit erzeugten anwenderspezifischen
Schablonen, oder bedruckten Oberflächen, 116, welche
anwenderspezifisch angepasste codierte (auf Papier, Mylar usw. aufgedruckte)
Bilder darauf aufweisen, die dazu dienen, das System für einen
bestimmten Anwender oder eine bestimmte Anforderung anzupassen.
Beispielsweise enthüllen
manche Spielanwendungen zusätzliche
Funktionen, wenn der Anwender höhere Ebenen
im Spiel erreicht. Anders gesagt liefert die Spielanwendung, wenn
der Anwender eine bestimmte Punktzahl erzielt oder einen bestimmten
Bildschirm überquert,
dem Anwender zusätzliche "Leben" oder "Munition" oder gewährt ihm
Zugang zu zusätzlichen "Waffen" oder anderen Werkzeugen
oder Instrumenten, die in dem Spiel verwendet werden können. Auf ähnliche
Weise löst
die Anwendung in einigen derartigen Anwendungen, nachdem der Anwender
eine bestimmte Ebene erreicht hat, bei der Verwendung eines bestehenden
Werkzeugs eine andere Erwiderung aus. Die vorstehend beschriebene Vorrichtung
kann zur Verbesserung der Funktionen derartiger Spiele verwendet
werden.
-
Zur
Verbesserung der Funktionen ist die Anwendung so konfiguriert, dass
sie eine anwenderspezifisch angepasste Schablone zur Anordnung auf
der Oberfläche 116 ausdruckt.
Die Schablone weist anwenderspezifisch angepasste codierte Bilder
auf, die von der Maus 42 gelesen werden und zur Erzeugung einer
Mausnachricht führen,
welche durch die Anwendung so interpretiert wird, dass sie die Funktionen
der Anwendung modifiziert. Dieser Prozess wird allgemein durch das
in 13 abgebildete Ablaufdiagramm angezeigt.
-
Zunächst empfängt die
Anwendung ein Auslöseereignis
zum Ausdruck einer neuen anwenderspezifisch angepassten Schablone,
welche die anwenderspezifisch angepassten codierten Bilder enthält. Dies
wird durch Block 242 angezeigt. Wie vorstehend beschrieben,
kann dieses Ereignis einfach darin bestehen, dass der Anwender eine
bestimmte Ebene in einem Spiel erreicht. Das Auslöseereignis kann
auch der Eingabe oder dem Einlesen eines geheimen Codes durch den
Anwender entsprechen, wobei der Code dem Anwender durch die Anwendung
enthüllt
wurde. In dem Fall, in dem der Anwender einen derartigen geheimen
Code mit der Maus 42 einliest, wird der Code an die Anwendung
mit Hilfe (beispielsweise) des vorstehend mit Bezug auf 10A und 10B angeführten Ablaufs übertragen.
-
Die
Anwendung gibt dann Befehle zum Ausdrucken der anwendungsspezifischen
und anwenderspezifisch angepassten Schablone aus. Dies wird durch
Block 244 angezeigt. Auch muss die Anwendung natürlich sämtliche
anderen erforderlichen Mausnachricht-Programmeinstiegsmöglichkeiten beim
Betriebssystem 35 registrieren, so dass sie Mausnachrichten
erhält,
die Informationen enthalten, welche die anwenderspezifisch angepassten
codierten Bilder auf der neuen Schablone anzeigen. Dies wird durch
Block 246 angezeigt. Die neue Schablone wird dann auf der
Oberfläche 116 platziert
und vom Anwender benutzt.
-
VERWENDUNG EINER MAUS
42 ALS ABSOLUTE POSITIONSVORRICHTUNG
-
Ausführungsformen
der Erfindung werden verwendet, um die Maus 42 wahlweise
aus einer relativen Positionsvorrichtung in eine absolute Positionsvorrichtung
zu konvertieren. Dies ist in 14 dargestellt. 14 stellt
ein Mauspad oder eine Schablone 248 dar, welches oder welche
drei getrennte, darauf bereitgestellte Zonen 250, 252 und 254 aufweist.
In einer Ausführungsform
weist die Zone 250 entweder kein vorgegebenes Muster darauf
auf, oder weist ein Gitterstrukturmuster oder ein anderes ähnliches
Muster, wie beispielsweise das mit Bezug auf 5A und 5B beschriebene, auf.
Wenn die Maus 42 sich daher über der Zone 250 befindet,
agiert sie einfach als relative Positionierungsvorrichtung.
-
Die
Zone 252 weist einen darauf bereitgestellten, sich wiederholenden
Code auf. Anders gesagt weist die Zone 252 eine Reihe von
Zellen 256 auf, wobei jede Zelle das selbe codierte Symbol 258 enthält. Der
sich wiederholende, codierte Bereich in der Zone 254 kann
dazu dienen, den Computer 20, wie oben beschrieben, in
einen gewünschten
Betriebsmodus zu bringen, kann aber auch dazu dienen, Informationen über die
relative Position zu erzeugen, die der Bewegung der Maus 42 über die Zone 252 entsprechen.
-
Die
Schablone 248 weist jedoch auch die Zone 254 auf,
welche eine Vielzahl von Zellen 260 enthält, von
denen jede mit einem einmaligen codierten Bild 262 belegt
ist. Da jedes codierte Bild 262 in den Zellen 260 sich
von den anderen codierten Bildern 262 in anderen Zellen 260 unterscheidet,
kann die Platzierung der Maus 42 über der Zone 254 dazu dienen,
die Maus 42 in eine absolute Positionierungsvorrichtung
zu konvertieren.
-
Jedes
der einmaligen codierten Bilder 262 ist in der Bildtabelle 128 gespeichert.
Jedes der codierten Bilder weist auch einen damit zusammenhängenden
Wert (in der Bildtabelle 128) auf, welcher eine absolute
Position der Maus 42 innerhalb der Zone 254 anzeigt.
Wenn daher ein codiertes Bild 262 durch das Regelbauteil 124 identifiziert
wird, wird es an das Abgleichungsbauteil 126 weitergeleitet,
welches das codierte Bild mit einem entsprechenden Bild in der Bildtabelle 128 abgleicht.
Die Bildtabelle 128 liefert dann die Information über die
absolute Position an das Regelbauteil 124, welches das
an den Computer 20 geleitete Mauspaket erzeugt, das die
Information bezüglich
der absoluten Position enthält.
Diese absolute Positionsinformation kann zur Platzierung eines Cursors
auf dem Anzeigeschirm des Computers 20 an einer vordefinierten
Position dienen, die der absoluten Positionsinformation entspricht,
ungeachtet der relativen Bewegung der Maus 42. Auf diese
Weise kann die Maus 42 angehoben, von der Schablone 248 weg
bewegt und an einer anderen Position innerhalb der Zone 254 abgesetzt
werden. Der Cursor wird dann auf eine andere Position auf dem Bildschirm
bewegt, die der absoluten, von Zone 254 abgelesenen Position
entspricht, über
der die Maus dann platziert ist.
-
ERZEUGUNG VON BILDERN
IN DER BILDTABELLE 128
-
Es
versteht sich, dass vor dem Abgleich identifizierter Bilder mit
Bildern in der Bildtabelle 128 die Bilder irgendwie erzeugt
und in der Bildtabelle 128 platziert werden müssen. 15A, 15B und 16 stellen
eine Reihe von Schemata zu diesem Zweck dar.
-
Zu
Beginn können
die Bilder vorgeformte Bilder sein, die einfach in den Computer 20 geladen werden.
Die vorgeformten Bilder werden dann auf das Regelbauteil 124 in
der Regeleinrichtung 112 heruntergeladen, welches die Bilder
in der Bildtabelle 128 platziert. Das Herunterladen der
Bilder kann mit Hilfe eines beliebigen geeigneten Protokolls erfolgen. Beispielsweise
kann ein Bildladebauteil im Computer 20 auf die im Computer 20 gespeicherten
vorgeformten Bilder zugreifen und Bildpakete erzeugen, die zum Betriebssystem 35 geleitet
werden. In diesem Fall verfügt
der Maustreiber 60 über
ein Bildpaket-Übertragungsbauteil,
welches die Bildpakete vom Betriebssystem 35 empfängt und
sie in paralleler Form an die serielle Schnittstelle 46 liefert.
Die serielle Schnittstelle 46 serialisiert die Pakete dann
und liefert sie über
eine geeignete Verbindung an das Regelbauteil 124, welches
die Bilder einfach in der Bildtabelle 128 platziert. Diese
Bilder werden dann vom Abgleichungsbauteil 126 für den Abgleich
von Bildern verwendet, die durch den Bilddetektor 110 aufgenommen
und durch das Regelbauteil 124 identifiziert wurden.
-
Während vorgeformte
Bilder im Wesentlichen jede Form annehmen können, sind sie in einer Anordnung
Ausrichtungs-Ausgleichscodes. Beispielsweise sind die Codes durch
das Regelbauteil 124 ungeachtet der Winkelausrichtung der
Maus 42 in der Ebene der Oberfläche 116, über der
sie platziert ist, erkennbar. Wenn der Anwender die Maus 42 in
der Ebene der Oberfläche 116 daher leicht
dreht, wenn der Anwender die Maus 42 relativ zur Oberfläche 116 bewegt,
wird das codierte Bild so aufgebaut, dass es ungeachtet der speziellen
Ausrichtung der Maus 42 identifiziert werden kann.
-
15B ist ein Beispiel für ein derartiges codiertes
Bild. 15B zeigt ein codiertes Bild 264,
das ein Paar konzentrischer Kreise 266 und 268 sowie eine
Ausrichtungsmarkierung 270 enthält. Das Bild 264 enthält auch
eine Vielzahl codierter Bildzellen 272, welche durch eine
codierte Nachricht 264 angezeigte Informationen enthalten.
Wenn die das Bild 264 anzeigenden Bildsignale an das Regelbauteil 124 geliefert
werden, verwendet das Regelbauteil 124 einen einfachen
Algorithmus, um die konzentrischen Kreise 266 und 268 sowie
die Markierung 270 zu identifizieren. Basierend auf der
Position der Markierung 270 kann das Regelbauteil 124 einfach
die Ausrichtung des Bildes 264 relativ zur Maus 42 bestimmen
und kann dann mit der Untersuchung des restlichen Bildes 264 nach
Informationen in den Zellen 272 fortfahren.
-
Einige
Ausrichtungs-Ausgleichscodes sind auf dem Markt erhältlich und
mit dem Begriff USS-MaxiCode-System bezeichnet. Codes, die dieses
System verwenden, weisen auch bestimmte Fehlertoleranz-Merkmale
auf, welche erwünscht
sein können.
-
Die
codierten Bilder können
nicht nur vorgeformt sein und vom Computer 20 auf die Maus 42 heruntergeladen
werden, sondern sie können
auch vom Computersystem 20 sowie der Maus 42 gelernt
werden. 15A ist ein funktionelles Blockdiagramm, das
den Computer 20 darstellt. 15A entspricht
in etwa 2A, und ähnliche Bauteile sind entsprechend
bezeichnet. Jedoch zeigt 15A,
dass der Computer 20 auch über ein Lernmodus-Bauteil 274 verfügt. Das
Lernmodus-Bauteil 274 steht in der Darstellung in Verbindung
mit einer Lernmodus-Anwendung, welche eine Nachrichten-Programmeinstiegsmöglichkeit
beim Betriebssystem 35 registriert hat.
-
16 ist
ein Ablaufdiagramm, welches den Betrieb der Maus 42 und
des Computers 20 im Lernmodus darstellt. Zuerst leitet
der Anwender den Lernmodus ein. Dies kann einfach durch Platzieren
der Maus über
einem vorcodierten Muster auf dem Mauspad, durch Drücken einer
Bedientaste auf der Maus, durch Drücken einer Taste oder Tastenfolge
auf der Tastatur usw. erfolgen. Auf die Einleitung des Lernmodus
hin ruft das Betriebssystem 35 das Lernmodus-Bauteil 274 auf,
das dem Anwender eine Anwenderschnittstelle zur Verfügung stellt,
welche die spezielle Funktions- oder Modusänderung anzeigt, die dem nächsten durch
die Maus 42 aufgenommenen und gelernten codierten Bild
zugewiesen werden soll. Die Einleitung des Lernmodus bei Benennung
der Funktions-/Modusänderung
wird durch die Blöcke 276 und 278 in 16 angezeigt.
-
Der
Anwender führt
die Maus dann über
einen ausgewählten
Bereich auf der Oberfläche 16,
der das aufzunehmende codierte Bild enthält. Alternativ kann der Anwender
die Maus 42 einfach auf diesen Bereich setzen, wenn die
codierten Bilder auf der Oberfläche 116 wiederholt
werden und so eng zusammen angeordnet sind, dass, egal wo der Anwender
die Maus 42 absetzt, mindestens eines der codierten Bilder
durch den Bilddetektor 110 aufgenommen wird. Dies wird
durch Block 280 angezeigt.
-
Die
Bilder werden dann vom Bilddetektor 110 aufgenommen, und
die das Bild anzeigenden Bilddaten werden durch das Regelbauteil 124 in
der Maus 42 bereitgestellt. Ein Mauspaket wird zur seriellen Schnittstelle 46 und
zum Maustreiber 60 übertragen, wo
eine Mausnachricht, welche die Bilddaten trägt, erzeugt und zum Betriebssystem 35 geliefert
wird. Dies wird durch die Blöcke 282 und 284 angezeigt. Das
Betriebssystem 35 überträgt die Mausnachricht zu
Nachrichten-Programmeinstiegsmöglichkeits-Prozeduren,
die sich beim Betriebssystem 35 registriert haben, so dass
die Mausnachricht schließlich
zum Lernmodus-Bauteil 274 geliefert wird. Dies wird durch
Block 286 angezeigt.
-
Das
Lernmodus-Bauteil 274 kennzeichnet das Bild durch Zuordnung
eines Musterschlüssels oder
Muster-Signaturschlüssels
zu dem Bild, der von dem Regelbauteil 124 bei der Identifikation
des Bildes und von dem Abgleichungsbauteil 126 beim Abgleich
des Bildes mit anderen in der Bildtabelle 128 gespeicherten
Bildern verwendet werden kann. Dies wird durch die Blöcke 286 und 288 angezeigt.
Das Lernmodus-Bauteil 274 assoziiert den erzeugten Musterschlüssel dann
mit einem Wert, der die Funktions- oder Modusänderung anzeigt, welche durch das
codierte Bild darzustellen ist. Dieser Wert wird mit dem Bildschlüssel assoziiert,
um einen Bildtabellen-Eintrag zur Eintragung in die Bildtabelle 128 in der
Maus 42 zu bilden. Dies wird durch Block 290 angezeigt.
-
Der
Bildtabellen-Eintrag wird dann mit Hilfe eines beliebigen geeigneten
Protokolls, wie beispielsweise dem für das Senden vorgeformter codierter
Bilder vom Computer 20 an die Maus 42 beschriebenen,
zurück
zur Maus 42 übertragen.
Dies wird durch Block 292 angezeigt. Die Bildtabelleneinträge, die
an die Maus 42 gesendet werden, werden ebenfalls zu einem
Speicherplatz im Computer 20 gesendet, so dass sie später auf
eine andere Maus 42 heruntergeladen werden können, wenn
beispielsweise eine Maus während
des Betriebs des Computers 20 gegen eine andere Maus ausgetauscht
wird.
-
Es
sollte sich verstehen, dass, während
die vorliegende Beschreibung des Lernmodus lediglich mit Bezug zur
Aufnahme eines einzelnen Bildes, das mit einer vorgegebenen Funktion
assoziiert werden soll, erfolgt ist, auch andere Verfahren angewendet werden
könnten.
Beispielsweise kann das Lernmodus-Bauteil den Anwender anweisen,
die Maus erneut über
dem selben zu lernenden codierten Bild zu platzieren, so dass zwei
Mal das gleiche codierte Bild aufgenommen werden kann. Aus den beiden
Aufnahmen wird dann durch das Lernmodus-Bauteil 274 der
Durchschnitt gebildet, um einen Durchschnittswert zu erhalten, der
die zu lernende codierte Nachricht anzeigt. Dieser Prozess wird
in der Darstellung einige Male wiederholt, um eine Reduktion der
Aus wirkungen von Rauschen oder anderen Anormalitäten auf den Bildaufnahmeprozess
zu unterstützen.
-
SCHLUSSFOLGERUNG
-
Es
ist also ersichtlich, dass Ausführungsformen
der Erfindung einen Mechanismus schaffen, durch den Musterinformationen
für einen
Computer bereitgestellt werden können.
Die Musterinformationen können
von dem Computer für
zahlreiche verschiedene Zwecke verwendet werden. Der Computer kann
so konfiguriert sein, dass Betriebsmerkmale des Computers basierend
auf den Musterinformationen geändert
werden können.
Die Betriebsmerkmale können
im Wesentlichen jede beliebige Änderung
der Betriebsweise des Computers darstellen. Die Änderung der Betriebsmerkmale
kann als ein basierend auf Bildern (einschließlich Teilbildern oder Mustern), welche
von der Oberfläche 116 gelesen
werden, erzeugtes Änderungsereignis
bezeichnet werden. Das Änderungsereignis
kann beispielsweise Änderungen der
Verhaltensmerkmale der Computereingabevorrichtung, der Betriebsmodi
des Computers, an den sie angeschlossen ist, der Betriebsmerkmale
des Betriebssystems des Computers, der Befehle an Anwendungen oder
die Eingabe von Anwenderidentifikationsinformationen reflektieren.
Da das Änderungsereignis
basierend auf einer "Ablesung" von einer Schablone
oder einem Muster, die auf der Oberfläche 116 bereitgestellt
werden, durch eine optische Abtastvorrichtung, wie beispielsweise
eine Maus, erzeugt und an den Computer 20 geliefert wird, überwinden
die erfindungsgemäßen Ausführungsformen bedeutende
Nachteile im Zusammenhang mit Systemen des Standes der Technik,
in denen Softwaretreiber oder Steuerfeld-Applets manipuliert oder
aufgerufen werden mussten, um derartige Änderungen vorzunehmen.
-
Obwohl
bevorzugte Ausführungsformen
der Erfindung beschrieben wurden, werden Fachleute erkennen, dass Änderungen
an Form und Detail vorgenommen werden können, ohne von dem in den Ansprüchen definierten
Schutzumfang der Erfindung abzuweichen.