Willkommen

Passwort vergessen? Noch kein Mitglied? Jetzt registrieren

Tech-Review.de

  • Montag, 14. Oktober 2024
Tastatureigenschaften Erklärseite

Tastatureigenschaften Erklärseite

Anti-Ghosting und Jamming

Zu Beginn wollen wir erklären, wobei es sich beim Phänomen "Ghosting" und "Jamming" eigentlich handelt.

Unter den Begriff "Ghosting" versteht man das Problem, dass auf einer Tastatur einige Tastenkombinationen nicht mehr funktionieren, wenn man versucht mehrere Tasten zeitgleich zu drücken. Problematisch sind hier eigentlich alle Tastaturen, dessen Verschaltung der Tasten auf einer Spalten-Zeilen-Matrix basieren. Hierbei zeigen sich die Phänomene, dass sich bestimmte Tasten nicht oder nur sehr träge drücken lassen, oder eine Taste aktiviert wird, die garnicht gedrückt wurde (Ghost). Um ein Beispiel zu nennen: Wenn man die Tasten A und W gedrückt hält und versucht mit Q eine weitere Funktion aufzurufen so wird dies in den meisten Fällen ebenso verschalteter Modelle nicht gehen, oder es wird der Versuch mit der Taste S quittiert. Gefühlt sind die gedrückten Tasten in dem Moment nicht mehr existent (Jamming) oder wie von "Geisterhand", werden andere Tastenaktionen gestartet, welche nicht gewollt waren.

Im Bereich des Marketing werben die Hersteller oftmals mit Anti-Ghost-Technologie, was jedoch nicht bedeutet muss, dass dieses Problem garnicht mehr auftritt, sondern hier wird meist auf favorisierte Tastenbereiche oder bestimmte Tastenlimits gesetzt. So kann sich das Anti-Ghosting auf die Tasten der WASD beschränken oder auf die maximale Anzahl der gleichzeitig zu klickenden Tasten.

Die Ursache dieses Problems liegt in der Schalt-Matrix der Tastatur: So ist es bei normalen Folien-Tastaturen Gang und Gebe, dass man nicht jedem einzelnen Kontakt (Taste) eine separate Leitung zur Klick-Auswertung spendiert, sondern dies in Form von Spalten und Zeilen samt Kontaktflächen auf einer Folie ermittelt. Beim Drücken einer Taste erkennt hierbei ein Controller das sich ergebene Muster (Pattern) anhand der kurzgeschlossenen Spalten und Zeilen und kann diese entsprechend interpretieren da es damit eine direkte Zuordnung gibt.

Eine vereinfachte Darstellung:

Im ersten Bild wird nur eine Taste gedrückt. Der Controller interpretiert den richtigen Befehl anhand des Kurzschlusses der Spalte Y mit der Zeile X. Das Zweite hier soll das Drücken von zwei Tasten darstellen, die alle noch voneinander leitungstechnisch getrennt sind. Beim Drücken von zwei Tasten in einer Spalte, dritte Abbildung, also einer Leitung, ist es schon komplizierter, aber durch die Zeilenkennung noch kein Problem.

Erst beim Drücken von drei beieinander liegenden Tasten, wobei jeweils zwei auf einer Spalte oder Zeile liegen, ist für den Controller die eindeutige Zuweisung schon nicht mehr machbar und das Ghost/Jamming-Phänomen geschieht. Man darf sich so eine Matrix nämlich nicht wie ein Schachfeld vorstellen, wo jede Leitung noch zusätzlich in einzelne Felder unterteilt ist. Zur Erkennung eines Tastenschlages wird bei einer Rubberdome- oder Folientastatur die komplette Leitungen kurzgeschlossen, was bedeutet das mehrere Tastenschläge auf derselben Leitung (z.B. in einer Spalte) nur noch durch die Zusatzangabe der Zeile erkannt wird. Fehlt diese Zusatzinformation, indem zum Beispiel mehr als eine Taste je Leitung gedrückt wird, kann der Controller die Zuordnung nicht mehr umsetzen.

Key Rollover

Um beide Probleme, also Ghosting und Jamming, zu umgehen, müssen die Tasten so verschaltet und aufgebaut sein, dass eine eindeutige Zuweisung möglich ist. Die Lösung heißt hier Key-Rollover: Hierbei sind die Tasten einzeln verschaltet und durch eine Diode zusätzlich entkoppelt, darüber hinaus muss der verbaute Controller all diese Informationen auch entsprechend sauber verarbeiten können. "N-Key" steht in diesem Fall für beliebig viele und "Rollover" für gedrückte Tasten, "6-Key-Rollover" würde demnach heißen, dass sechs gleichzeitige Anschläge der Tastatur ohne Probleme erkannt werden.

Zum selber Ausprobieren, ob ein solches Key Rollover vorhanden ist, gibt es das Program "Aquas Keytest", welches die gerade gedrückten Tasten anzeigt. Noch einfacher geht es mit unserem Mitmachtest, mit jenem können Sie Tastaturen auf das Ghosting-Phänomen hin überprüfen - und dies nur mit einem simplen Texteditor wie ihn Windows zum Beispiel von Haus aus mitbringt. Egal ob Word, Wordpress oder anderweitiger Schreibeditoren, es bedarf hierfür keiner extra Softwareinstallation. Zum Test verwenden wir einen Text, in dem alle Buchstaben des englischen Alphabets vorkommen:

THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG

Öffnen Sie einen einfachen Texteditor und drücken die beiden Shift-Tasten gleichzeitig und lassen diese während der gesamten Eingabe nicht los. Nun schreiben Sie oben stehenden Satz.

Darstellung des Test-Textes im Editor

Als Beispiel für ein vorhandenes Ghosting beziehungsweise Jamming nehmen wir eine alte Logitech G15 zur Hand, bei welcher das Ergebnis folgendermaßen aussah:

Ergebnis des Mitmachtestes einer G15

PS2 / USB und Polling-Rate

<p>Gerätemanager mit simuliertem Human Interface Device (HIP)</p>

Auch hier müssen wir wieder mit langweiliger Theorie nerven: Bei Tastaturen die noch über PS2 angeschlossen wurden, geschah die EVA, also das Eingabe-Verarbeitung-Ausgabe-Prinzip in Echtzeit, da dieses Gerät einem festen Interrupt im System zugeordnet wurde, der durch kein anderes Gerät belegt sein konnte. Hierbei hat das Gerät beim Auftreten eines Ereignisses dieses selbstständig an den Computer in Echtzeit übermittelt. Bei einem USB-Anschluss teilen sich aber viele Geräte diese universelle Schnittstelle. Hier werden nun innerhalb eines gewissen Zeitabstands periodisch alle angeschlossenen Geräte abgefragt, ob neue Befehle vorliegen. Dieser festgelegte Zeitabstand wird Polling-Rate genannt. Bei den Befehlen kann es sich dabei um Tastenschläge, Druckeraufträge und ähnlichem handeln, die von den Geräten chronologisch in eine Art Zwischenpuffer gespeichert werden. Dieses Interrupt-Paket ist in seiner Aufnahmekapazität aber begrenzt. Um diese Begrenzung zu Umgehen und einen möglichst geringen Abtast-Intervall zu erreichen kann man bei USB vom Gerät her nun so tun, als seien es mehrere Geräte (Devices).

Werden mehrere Devices in einem Gerät emuliert, erhöht sich natürlich auch der Abtastvorgang und damit verringert sich die Zeitspanne zwischen Auftreten des Ereignisses (z.B. Tastendruck) und der Weiterleitung an das System.

Bei der Tastatur wird dieser Trick erfolgreich angewendet und im Betriebssystem weitere USB-Geräte emuliert, durch die sich die Abtastrate damit automatisch erhöht hat, ohne direkt im System etwas zu verändern.

Die meisten Controller verwenden eine Polling-Rate von rund 125 Hertz, dies entspricht in etwa einer Zeitspanne von ca. 8 Millisekunden. Im Durchschnitt werden jedoch Intervallzeiten zwischen 0 und 4 Millisekunden erreicht. Wenn man nun also Pech hat kann es passieren, dass die Befehle des Gerätes (hier z.B. die Tastenschläge) nun 8 Millisekunden liegen bleiben. Diese Verzögerung kann natürlich mit zusätzlicher Software oder speziellen Systemeingriffen verringert werden, indem man die Polling-Rate erhöht. Viele Hersteller (speziell im Gaming-Bereich) bieten eine Option an die maximale Abtast-Rate auf 1000 Hertz einzustellen - was dann theoretisch der Echtzeitübertragung von PS2 in nichts nachstehen würde. "Würde" ist hier aber das zu beachtende Wort, denn wenn mehrere an einen USB-Controller angeschlossene, datenintensive Geräte sich eine Leitung teilen müssen, verringert sich als logische Konsequenz die maximale Transfergeschwindigkeit je Gerät. Unter allen Datensendern muss diese Bandbreite fair aufgeteilt werden und so kann es über kurz oder lang zu sogenannten "Daten-Lags" kommen, welche sich in Störungen, Problemen oder eben längeren Verzögerungszeiten zeigen können. Die Polling-Rate lässt sich nämlich nicht auf ein Gerät beschränken, sondern umfasst den Controller an sich und damit alle verbundenen Geräte. So wäre das Abtastintervall auch beim Drucker oder Scanner erhöht, was im Fazit bedeutet das im blödesten Fall die Zeit für die Ereignismeldung länger dauert als bei normal eingestellter Polling-Rate, oder es sogar zu fehlerhaften Übertragungen kommt. Dennoch ist die Kompatibilität zur dieser hohen Abtastrate als sehr positiv zu werten.

Diese Seite verwendet Cookies zur Darstellung und für Funktionen aller angebotenen Inhalte. Nutzt du diese Website ohne Einstellungen zu setzen weiter, erklärst du dich mit den gesetzten Einstellungen einverstanden. Ausführliche Informationen und Hinweise sind unter Datenschutz beziehungsweise im Impressum nachlesbar.

Datenschutzeinstellungen

Einige Cookies sind essenziell und können nicht deaktiviert werden. Ohne diese würde die Webseite zu keinem Zeitpunkt funktionieren. Andere hingegen helfen zwar zur Optimierung, können allerdings nachstehend per Klick aktiviert oder deaktiviert werden.

Notwendig
Statistiken
Details

Cookies sind kleine Textdateien, die von Webseiten verwendet werden, um die Benutzererfahrung effizienter zu gestalten. Laut Gesetz können Cookies auf deinem Gerät gespeichert werden, wenn diese für den Betrieb dieser Seite unbedingt notwendig sind. Für alle anderen Cookie-Typen kann deine Erlaubnis gegeben oder entzogen werden.

Notwendige Cookies

Name Anbieter Zweck Ablauf Typ
PHPSESSID Tech-Review Dieses Cookie ermöglicht es, die Onlineaktivitäten einer einzelnen Browser-Sitzung bzw. einen Nutzer eindeutig zuordnen. Sitzungsende HTTP
cookieApprovement Tech-Review Speichert, ob der Nutzer den Konfigurationsprozess der Cookies bereits abgeschlossen hat oder nicht. 30 Tage HTML

Optionale Cookies

Name Anbieter Zweck Ablauf Typ
mtm_consent Tech-Review Dieses Cookie wird angelegt, wenn der Erhebung von Statistiken zugestimmt wurde. circa 6 Monate HTML
mtm_consent_removed Tech-Review Dieses Cookie wird angelegt, nachdem die Zustimmung widerrufen wurde. Sitzungsende HTML
_pk_id Tech-Review Dieses Cookie dient zum Speichern einiger Details zum Benutzer, z. B. der eindeutigen pseudonymisierten Besucher-ID. 13 Monate HTML
_pk_ref Tech-Review Attributionsinformationen werden gespeichert, die der Referrer ursprünglich zum Besuch der Website verwendet hat. 6 Monate HTML
_pk_ses, _pk_cvar, _pk_hsr Tech-Review Dieses Cookies speichert Daten für den Besuch vorübergehend. 30 Minuten HTML
_pk_testcookie Tech-Review Dieses Cookie wird einmalig verwendet, um zu überprüfen, ob der Browser des Besuchers Cookies unterstützt. Danach wird dieses sofort gelöscht. 1 Minute HTML