← ST-Computer 11 / 1991

Der MausMixer - Doppel gemoppelt...

Hardware

Es gibt viele Situationen, in denen zwei Leute gemeinsam und gleichberechtigt einen Rechner benutzen. Dies kann beim Programmieren, beim Testen neuer Software oder auch im normalen Betrieb der Fall sein (CAD-Programme, Simulationen, Kursanalysen). Auch im FachgeschĂ€ft sitzen oft HĂ€ndler und Kunde gleichzeitig vor dem Computer. Durch die GEM-OberflĂ€che ist die Maus das meistgebrauchte Eingabemedium; die Tastatur wird (außer zur Texteingabe) nur gelegentlich genutzt. Nun können zwar beide gut die Tastatur erreichen, doch die Maus ist entweder rechts oder links, und „wer die Maus hat, hat das Sagen“. Also muß die Maus herĂŒbergereicht werden; man greift nach der Maus und versperrt dem anderen die Sicht auf den Monitor etc. Das ist umstĂ€ndlich und störend fĂŒr flĂŒssiges und kreatives Arbeiten.

Der MausMixer fĂŒhrt Informationen von zwei MĂ€usen zusammen und gibt die Summe an den Computer weiter. Man hat also nicht etwa zwei Mauszeiger, sondern kann den gewohnten Zeiger mit zwei MĂ€usen steuern und dies simultan, ohne Umschalten. Es gibt kein „Ruckeln“, man kann die Bewegungen auch gegenseitig aufheben (wenn der Tisch groß genug ist). So kann man auch noch eingreifen, wenn der Nachbar den Mauszeiger auf den Weg zu gefĂ€hrlichen MenĂŒpunkten („Alles beenden“, „Datei löschen“, „Formatieren“) schickt. Übrigens kann man so auch einen Trackball parallel zur Maus betreiben.

Die Maus

Über die Funktionsweise der Maus ist schon viel geschrieben worden. Eine mit Gummi ĂŒberzogene Stahlkugel rollt ĂŒber die GrundflĂ€che. Zwei senkrecht zueinander stehende MetallrĂ€dchen tasten die Kugel ab und zerlegen die Bewegung in die x- und y-Richtung. Jedes StahlrĂ€dchen sitzt auf einer Welle mit einer Scheibe aus schwarzem Kunststoff, die kleine Schlitze aufweist. Zwei Lichtschranken tasten die Bewegung der Scheibe ab. Nach etwas VerstĂ€rkung gelangen diese Daten zum Tastaturprozessor, der die aktuelle Cursor-Position berechnet.

Die Kombination zweier gegenlÀufiger Mausbewegungen

Wie funktioniert das?

Normalerweise entstehen bei der Mischung (Multiplikation) zweier Frequenzen immer Summen- und Differenzfrequenz gleichzeitig. Im analogen Bereich kann man dies durch die Erzeugung von um 90° verschobenen Signalen, getrennte Multiplikation der 0°- und 90°-Anteile und anschließende Addition erzielen (Stichwort: Frequenz-Shifter, GerĂ€t gegen akustische RĂŒckkopplung). Im Digitalen bietet sich das Prinzip des „Phasensteppers“ an. Aus den verschobenen Impulsfolgen der Maus werden durch Invertierung vier Signale erzeugt, die jeweils eine viertel Periode einander nacheilen. Zwei aufeinanderfolgende Signale beinhalten die notwendige Bewegungsinformation. Wenn man (mit einem Schalter mit vier Kontakten und zwei Ebenen) auf eine vor- oder nacheilende Impulsfolge umschaltet, hat man einen Bewegungsimpuls hinzugefĂŒgt oder unterdrĂŒckt. Nichts anderes machen die Multiplexer! Zu beachten ist, daß die vier Signale nicht in ihrer eigentlichen Reihenfolge am Multiplexer anliegen. Die Maus zĂ€hlt an den SelektionseingĂ€ngen A und B nicht von Null bis drei hoch (runter), sondern in der Folge 0-1-3-2-0-1-3-...

Übrigens gibt es noch einen anderen Ansatz, der zu einer funktionell gleichen Lösung fĂŒhrt. Wenn man die phasenverschobenen Impulsfolgen an X1 und X2 als BinĂ€rzahlen auffaßt, so zĂ€hlt die Maus bei einer Bewegung die Folge 0-1-3-2-0-1 -3-2- ... durch. Bei einer Umkehr der Bewegungsrichtung wird 3-1-0-2-3-1-0-2-... durchgezĂ€hlt. Durch eine XOR-VerknĂŒpfung kann man dies in die ZĂ€hlfolge 0-1-2-3-0-1-2-... umwandeln. Diese ZĂ€hlfolgen von Maus A und Maus B gibt man auf einen 2-Bit-Addierer. Dessen Ausgang fĂŒhrt nun die Summe der Bewegungen, und mit einem weiteren XOR-Gatter wird wieder die Folge 0-1-3-2-0-1-3-2-... gebildet, die der Tastaturprozessor im ST entsprechend auswertet. Da man fĂŒr diese Lösung aber mehr ICs braucht, habe ich diesen Ansatz nicht verwirklicht.

Das Schaltbild von Mausmixer

Ich habe einen Logikschaltplan fĂŒr eine Koordinate (z.B. x-Achse) beigelegt. XI und X2 sind dann Pin 3 und 4 bei Maus A; X3 und X4 entsprechend Pin 3 und 4 bei Maus B. X5 und X6 kommen zum Computer an Pin 3 und 4. Die beiden X-Multiplexer sind im linken 4052; die Y-Multiplexer sind im rechten IC. Die X-Inverter sind in der linken HĂ€lfte vom 4049; die fĂŒr Y in der rechten; die beiden mittleren sind unbenutzt. Ohne die Pull-up-WiderstĂ€nde gibt es Schwierigkeiten, wenn nur eine Maus angeschlossen ist. Die Pins 6,7,8,9 sind durchverbunden. Anstelle des Analog-Schalters 4052 hatte ich zuerst einen Digital-Multiplexer 4539 eingesetzt. Dieser ist aber nicht ĂŒberall erhĂ€ltlich; daher ist der 4052 vorzuziehen.

Die Umsetzung in eine „richtige“ Platine ist nicht besonders schwierig; sollte aber erst nach Auswahl eines geeigneten GehĂ€uses erfolgen, da die mechanischen Probleme (Befestigung der Buchsen im GehĂ€use und entsprechende Positionierung auf der Platine) grĂ¶ĂŸer sind als die elektronischen.

Der Stecker mit der Flachbandleitung kommt in die Mausbuchse; die MĂ€use werden an die beiden Buchsen angeschlossen. Die Schaltung arbeitet auch mit nur einer Maus.

Dann sollte alles funktionieren. Es gibt aber eine HĂ€rteprĂŒfung: Sie stellen beide MĂ€use nebeneinander, drehen eine um 180“ und greifen beide zugleich. Eigentlich sollte der Mauszeiger nun ruhig bleiben; er wird sich aber dennoch bewegen. Dies hat mehrere GrĂŒnde. So ist meistens die Übersetzung der MĂ€use nicht gleich, da u.a. die Kugeln etwas rutschen. Vor allem aber liegt dies an der fast Deckungsgleichheit der Impulsfolgen fĂŒr „vorwĂ€rts“ und „rĂŒckwĂ€rts“. Die Impulse des MausMixers werden dann extrem kurz, und der Tastaturprozessor kann diesen nicht mehr folgen. Normalerweise sind die Bewegungen aber ungleich, so daß dieser Effekt nicht auftritt.

Der Verdrahtungsplan von Mausmixer
Klaus Schönhoff