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.
Ü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.
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.
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.