Mechanische Tastaturen: Marketinghype oder Wunderwaffe? Theorie, Praxis und 5 Tastaturen im Härtetest

Was ist Ghosting und wie äußert es sich?

Unter “Ghosting” versteht man das Problem, dass einige Tastenkombinationen auf der Tastatur nicht mehr eindeutig funktionieren, wenn mehrere nebeneinander im Block liegende Tasten gleichzeitig gedrückt werden. Dies ist eigentlich ein rein logisches Problem bei den als Spalten-Zeilen-Matrix verschalteten Tastaturen, welches sich im Endeffekt darin äußert, dass im Eifer des Spiels manche Tasten nicht oder nur noch sehr träge zu funktionieren scheinen oder eine Taste gemeldet wird, die gar nicht gedrückt wurde (“Ghost”). Als Beispiel kann man hier eine schräge Linksbewegung aus A und W nehmen, bei der man gleichzeitig mit Q eine weitere Funktion aufrufen möchte, was aber entweder “irgendwie nicht geht” oder mit einem zusätzlichen S quittiert wird. Die Tasten scheinen dann entweder faktisch “ausgeblendet”, oder es gibt den eben erwähnten Buchstabensalat mit ungedrückten Tasten.

Auch Tastaturen mit beworbenen Anti-Ghosting können betroffen sein!

Wenn eine Tastatur mit “Anti-Ghosting” vermarktet wird, dann heißt dies jedoch noch lange nicht, dass wirklich alle Tasten auf der Tastatur problemfrei gleichzeitig miteinander arbeiten können. Oft wird nur eine bestimmte Teilmenge des Tasten (z.B. der WASD-Block und/oder die Richtungstasten) auf das perfekte Funktionieren abgestimmt! Das ist einfacher, kostengünstiger und arbeitet aus Sicht des unbeteiligten Betrachters auch sichtbar problemfrei. Offensichtlich werden diese Teillösungen aber dann, wenn man bestimmte Tasten wie den WASD-Block verlegt und plötzlich Fehler auftreten. Doch dazu etwas später mehr.

Oft liest man die Aussage, dass eine Tastatur beim Ati-Ghosting “bis zu” einer bestimmten Anzahl von gleichzeitigen Tastenbefehlen ermöglicht. Hier werden meistens die USB-Beschränkung und das Tastaturproblem durcheinandergeworfen, Marketingsprech eben.

Was sind aber nun die Ursachen dafür, dass Eingaben verloren gehen?

Auftretende Probleme sind in der Regel das Ergebnis einer oder mehrerer von insgesamt drei möglichen Ursachen: die Hardware kann die angegebene Tastenkombination nicht auswerten (Ghosting), die Software auf dem Computer unterstützt mehrere gleichzeitige Tastenanschläge nicht (Softwareproblem) oder das Kommunikationsprotokoll zwischen der Hardware und Software begrenzt die Anzahl der gleichzeitig übertragbaren Tastenanschläge (USB vs. PS/2). 

Warum kann eine Tastatur manche Kombinationen nicht lesen?

Da wir über die Schnittstellen im vorigen Kapitel schon geschrieben haben, befassen wir uns jetzt mit den Problemen, die tastaturseitig auftreten können. Wo also liegt die Ursache? Die Kontakte einer Tastatur werden in der Regel ja nicht einzeln und getrennt voneinander ausgewertet, sondern ergeben in der Verschaltung eine Art Matrix aus aus Spalten und Zeilen (siehe Abbildung). So spart man einzelne Leitungen für jede Taste und erkennt die jeweils gedrückte Taste(n) anhand des sich ergebenden Musters (Pattern) aus kurzgeschlossenen (verbundenen) Spalten und Zeilen. Betrachten wir nun anhand ganz einfacher Beispiele, wie diese Methode im Detail funktioniert:

1.) Das Drücken einer einzelnen Taste

Das Drücken einer Taste kann als ein Resultat aus einer bestimmten Spalte und Zeile aufgefasst werden (Kombination), wo die Leiterbahn einer Spalte X mit der Leiterbahn einer Zeile Y kurzgeschlossen werden:

Drücken einer Taste, das Verdrahtungsschema ist vereinfacht.Drücken einer Taste, das Verdrahtungsschema ist vereinfacht.

Wenn der Controller der Tastatur prüft, welche Taste gerade gedrückt ist, wird ein ausgelöster “Kurzschluss” anhand von Spalte und Zeile einer eindeutigen Kennung zugeordnet. Es gibt für jede der einzelnen Tasten nur eine mögliche Kombination, das so entstehende Muster (Pattern) ist eindeutig interpretierbar.

2.) Das gleichzeitige Drücken von zwei (oder mehr) Tasten mit unterschiedlichen Spalten und Zeilen

Hier liegt der Fall auch noch eindeutig auf der Hand:
Zwei Tasten in unterschiedlichen Spalten und Zeilen gedrückt (Quelle: Microsoft)Zwei Tasten in unterschiedlichen Spalten und Zeilen gedrückt (Quelle: Microsoft)
Anhand der unterschiedlichen Spalten bzw. Zeilen lassen sich die beiden Kombinationen eindeutig auseinander halten, die Logik funktioniert eindeutig: für jede der gedrückten Tasten existiert jeweils nur eine Verbindung von einer Spalte mit einer Zeile (Kurzschluss). Das lässt sich solange fortsetzen, solange die Verbindungen bisher völlig unbeteilige X- oder Y-Leiterbahnen (Spalten und Zeilen) betreffen.

3.) Das gleichzeitige Drücken von zwei Tasten in gleicher Spalte oder Zeile

Hier liegt der Fall schon etwas komplizierter, ist aber ebenfalls noch lösbar:

Zwei Tasten in einer Spalte gedrückt.Zwei Tasten in einer Spalte gedrückt.
Anhand des Musters ist ebenfalls noch eine eindeutige Zuweisung möglich. Auch wenn nur eine Spalte mit geschlossenen Kontakten gemeldet wird, kann anhand der zwei Reihen eine eindeutige Unterscheidung getroffen werden. Zurückgemeldet werden bei zwei Tasten auf einer “Linie” also nicht mehr 4 beteiligte Leiterbahnen (je 2 pro Taste), sondern nur noch 3, denn eine Leiterbahn wird gemeinsam genutzt. Dies nennt man auch kollinear.

Extremfall: selbst 5 kollineare Tastenklicks sind problemlos auswertbar!Extremfall: selbst 5 kollineare Tastenklicks sind problemlos auswertbar!

4.) Das gleichzeitige Drücken von drei im Block liegenden Tasten

Drei nebeneinanderliegende Tasten ergeben ein nicht mehr eindeutiges Muster.Drei nebeneinanderliegende Tasten ergeben ein nicht mehr eindeutiges Muster.
Hier bekommt die einfache Logik einen Knacks: der Controller registriert beim Abtasten nun insgesamt jeweils zwei miteinander kurzgeschlossene Spalten und Zeilen. Betrachtet man jedoch das Schema, sieht man, dass insgesamt 4 Tasten auf diesem Raster liegen, die gedrückt sein könnten! Damit ist das entstehende Muster (Pattern) ab jetzt nicht mehr eindeutig. Die nachfolgenden Tasten-Kombinationen lösen nämlich alle das gleiche Resultat für den Controller aus:

5 mögliche Varianten ein und des selben Fehlerbildes.5 mögliche Varianten ein und des selben Fehlerbildes.
Drücken wir z.B. WSD erscheint E als “Ghost”, denn die Tastatur kann zwischen den vier einzelnen Tasten nicht mehr unterscheiden. Noch einmal zusammengefasst: es ist kein USB-Problem, wie oft fälschlich behauptet, sondern ein logisches bei der Verdrahtung der Tastatur. Einige Anbieter garantieren zumindest die Blockadefreiheit des WASD-Blocks mit den umliegenden Tasten bzw. der Richtungstasten und einiger anderer oft genutzten Bereiche. Andere gehen hingegen den vollen Aufwand und gestatten auch ein reales NKRO auf Seiten der Tastatur.

Zusammenfassung

Wir sehen, dass Dinge wie n-key-rollover und PS/2 theoretisch zwar ganz gut aussehen – was aber tun, wenn die Tastatur selbst nicht mitspielt? Fakt ist, dass Tastaturen um so brauchbarer werden, je mehr mehr Tastenbereiche differenzierter ausgewertet werden können und eben nicht nur der WASD-Block! Viele Gamer ziehen z.B. den ESDF-Block vor und belegen die Tasten um – das böse Erwachen ist dann garantiert, egal ob mit oder ohne PS/2-Anschluss: es geht nichts ab der dritten zusammen liegenden Taste ohne spezielle Tastatur mit erweiterter Auswertefunktion! Im Notfall kann sich der Gamer aber behelfen, indem er sich die Tasten so (weit auseinander) belegt, dass Spalten und Zeilen immer eindeutige Pattern ergeben. Wie es geht, wissen wir ja nun.

(Grafiken: Microsoft, Idee: Microsoft Applied Usergroup)

Ebenfalls interessant...