Annahme von mehr gleichzeitigen Tastatureingaben
Manchmal, eine normale computer-Tastatur wird nur akzeptiert Benutzer-Eingaben bis zu einer bestimmten Taste gleichzeitig. Ich habe eine logitech-Tastatur, die akzeptieren kann bis zu 3-4 Tastendrücke zur gleichen Zeit. Der computer akzeptiert keine mehr input wenn Sie die Taste mehr als 4 Tasten für das keyboard. Und es hängt auch davon ab, bestimmte Bereiche der Tastatur als auch. Einige Orte können weitere Taste gedrückt werden (wie die Pfeiltasten), während einige Standorte erlauben Sie drücken nur 1-2 Tasten. Dies unterscheidet sich auch von Tastatur zu Tastatur als gut. Einige ältere Tastaturen akzeptieren nur 1-2 Tasten.
Dies ist nicht problematisch, mit üblichen office-arbeiten, aber wenn es um Spiele geht. Zum Beispiel, stellen Sie sich ein Plattform-Spiel, wo Sie haben zu springen, Angriff und Kontrolle Richtung zur gleichen Zeit. Dies impliziert, dass mehrere Tastendrücke, und einige Tastaturen können nicht akzeptieren, diese gleichzeitige Eingabe. Aber, ich habe versucht, dies über mehrere Spiele und die Höhe der möglichen Tastatureingaben scheinen auch anders sein. Deshalb haben wir zwei Probleme:
- Tastaturen haben unterschiedliche Anzahl von gleichzeitigen Eingaben.
- Einige Spiele akzeptieren können weitere Tastatur-Eingaben als andere Spiele.
Zuerst dachte ich, dies ist nur hardware problem, aber warum haben manche Programme Verhalten sich anders??? Warum können einige Programme akzeptieren, mehr Tastatur-Eingaben als andere Programme? Wie also können wir schreiben unsere Programme zu akzeptieren, mehr Tastatur-Eingaben?
InformationsquelleAutor Karl | 2011-01-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie möchten, dass dieser behoben, müssen Sie kaufen ein teuer-er Tastatur.
Einem Programm namens " GlovePie erlaubt eine programmierbare input aus unterschiedlichen Quellen und dieses problem lösen kann. GlovePie download-Seite Hier.~
Beispielsweise entwickle ich ein RPG-Spiel, und mein laptop die Tastatur nicht erkennen kann, eine Kombination von Laufen + Hoch + Links (run Nordosten). Jedoch, wenn ich die Stecker in meine USB-Logitech-controller und die Karte die genauen Tasten der Tastatur (Oben, Links, B [zu laufen]) zu den controller-Tasten mit GlovePie, ich kann tun, der Befehl zum ausführen von Nordosten mit keine Probleme.
Als für deine Fragen, ich bin mir nicht sicher, genau, warum Programme reagieren anders auf Tastatureingaben, aber es könnte mit wie erkennen Sie Ihre Eingabe. Zum Beispiel: ein Java-basiertes Spiel erkennen kann DirectInput (die Signatur gesendet von deiner Eingabe/Ausgabe-Geräte), während ein emulator (wie z.B. der SNES emulator ZSNES für PC) erkennen kann nur die Instanz der "Up" - Taste verwendet werden.
Ein weiterer input-emulation Programm, AutoHotkey, können nicht kontrollieren, ein java-basiertes Spiel, weil es nicht die gleiche form der Eingabe das Spiel erkennt (kein Java DirectInput).
So, in Reihenfolge zu get mehr Tasten, die ich benutzen würde ein USB-controller mit GlovePie läuft.
Zitat aus einem anderen forum:
"Es ist nicht wirklich ein problem (technisch). Die Lösung ist ganz einfach, aber erhöht die Kosten für die Tastatur. Betrachten Sie dieses einfache problem: Sie haben 64 Tasten. Wie viele Leitungen brauchen Sie, wenn Sie unterscheiden wollen, jeden möglichen gleichzeitigen Taste zu drücken. Antwort: 65, Eine Allgemeine und eine für jede Taste. Allerdings, wenn Sie arrangieren Sie die Schlüssel in einem array mit 8x8 Tasten, die Sie brauchen nur 16 Drähte. 8 für die Spalten und 8 Zeilen. Dies reduziert die Menge des pins auf der Tastatur-controller-chip und macht das keyboard eine viel billiger zu produzieren. Alle Tastaturen, die ich je gesehen sind auf diese Weise produziert."
InformationsquelleAutor Bry
Das Zitat aus dem anderen forum ist völlig falsch...
Tastaturen verwenden Sie immer eine matrix und eine 8x8-Anordnung auf die Taste Membran /Mikroschalter abdecken würde 64 Tasten. Senden power down eine gemeinsame Zeile und Abholung, die Spalte(N) (falls vorhanden) macht verbunden war, ein zu einer Zeit - es ist einfach scannt sehr schnell. Der controller-chip kann leicht feststellen, wie viele Tasten gedrückt, zu einer Zeit, als es Wünsche (auch alle), ohne irgendeine Art von performance-hit (es hat zu Umfrage jeder Schlüssel sowieso, nach oben oder unten).
Info, dass ist dann für serialisierte von der Tastatur zu informieren Sie die Gastgeber, welche Ereignisse aufgetreten sind (limitierende Faktoren, die das design des chip #1 und die Menge des Verkehrs Sie will, um auf den bus #2). Sie sind umgewandelt in die entsprechenden OS-Ereignisse durch den Fahrer (der limitierende Faktor #3). Diese Ereignisse werden dann behandelt, indem Anwendungen, die wiederum Ihre eigenen Grenzen auf die Anzahl der Schlüssel, die Sie verfolgen (#4).
Es gibt eine Menge Los ist, aber Sie noch nicht verwendet 1 Draht pro Taste + Boden seit über 60 Jahren. Und wenn Sie nicht denken, die matrix zu Scannen schnell genug - schaut auf jedem lcd/led-Bildschirm, das ist die gleiche matrix passiert, nur in umgekehrter Richtung.
Vielen Dank für Ihr feedback - Areve s Antwort ist eine praktische demonstration der vielen einschränkenden Faktoren, die hier behandelt werden. Es gibt kein erhalten Weg von der Tatsache, dass eine matrix kann Umfrage mehr als 8x8 oder deutlich mehr schaltet, ohne ein problem, die Menge der Daten, die Sie benötigen, um Umschalttaste für einen 1080p/100Hz display 1920x1080x8x3x100 binären Ereignisse pro Sekunde.
Ich verstehe, dass matrixing ermöglicht eine erstaunlich erhöhte Menge an Daten, die gesendet werden können, in oder out. Am Ausgang gibt es nie ein problem, denn in einem LCD, die er wählt die Spalte, um die Anzeige zu jeder Zeit und nie wählt zwei Spalten gleichzeitig. Am Eingang wenn der computer nicht auswählen können, welche Spalten/Zeilen der Benutzer drückt zur gleichen Zeit, was wiederum mehrdeutig Tastendrücke, wenn zwei Zeilen und zwei Spalten zusammen kurzgeschlossen. Der rest deiner Zusammenfassung ist sehr nützlich, wenn, wie es zeigt, dass selbst wenn der erste hardware-matrixing Problem ist behoben, es gibt noch andere Hürden.
Und die hardware-matrixing Problem wurde behoben, in verschiedener Weise. Hier ist ein Beispiel. "Die interne Elektronik auf die SideWinder X4 verwenden eine Variante von resistiven multitouch-Technologie. Jede Taste hat eine Siebdruck-Widerstand in Serie mit Schalter. Dies ermöglicht es der internen Elektronik zum Lesen des Status der einzelnen Schlüssel-Schalter, unabhängig für sehr große, mehrere-key-Kombinationen." microsoft.com/appliedsciences/content/projects/...
InformationsquelleAutor James Snell
Fand ich einen guten Artikel Tastatur Ghosting Erklärt!, das erklärt alles was ich wissen musste, um auf dieses Problem. Und es hat einen test-Bereich, so dass ich finden konnte, welche Kombinationen von Tasten auf meinem laptop nicht spielen sehr schön zusammen.
Link ist tot. Link rot hat negiert diese Antwort.
Und Web.Archive.org kann es zu beheben! web.archive.org/web/20160302190753/https://www.microsoft.com/... (nützliche kleine test-app auf - es ist oft nicht so einfach wie "max 3" - ich kann in der Regel erhalten Sie 6 Tasten plus Shift/Strg, aber max 2 Pfeile, und bestimmte Kombinationen von numpad tun wird, 3 während andere nur 2 - 1/2/3 ist in Ordnung, 0/1/3 ist in Ordnung, 0/1/2 oder 0/2/3 nicht registrieren der Dritte Schlüssel!)
InformationsquelleAutor areve