Keyboard BUG

Auswahl, Einrichtung und Betrieb von Rechnern und Komponenten
Antworten
Benutzeravatar
YangMimpi
LAN Manager
Beiträge: 220
Registriert: So 8. Dez 2013, 18:31
Wohnort: Leipzig
Kontaktdaten:

Keyboard BUG

Beitrag von YangMimpi »

Hi,

eine Frage zu einem Thema, dass mich schon länger beschäftigt. Mir ist aufgefallen, dass beim Spielen von DOS-Games, egal ob nativ oder über DosBox, bestimmte Tastenkombinationen in Spielen nicht funktionieren.

Zum Beispiel:


Es ist nicht möglich in Sportspielen gleichzeitig die Cursor-Up & Cursor-Links Taste (für nach Linksobenlaufen) zu betätigen und gleichzeitig mit irgendeiner anderern Taste (Space, Enter, Alt) einen Schuss oder Pass abzugeben. Ich bin mir sicher, dass das damals anno 1996 ohne Einschränkung ging.

Wer kennt dieses Phänomen? Woran liegt das? Sind die Billigtastaturen das Problem? Mit welchen Tastaturen funktioniert das?
Benutzeravatar
matze79
DOS-Gott
Beiträge: 5229
Registriert: So 9. Sep 2012, 20:48

Re: Keyboard BUG

Beitrag von matze79 »

Nach der Logik würde ja Strg+Alt+Entfernen nicht funktionieren oder ALT-F4 :D

Das wird wohl der Programmierer des Spiels nicht vorgesehen haben ?
Um welche Software handelt es sich den ?

Spielst du unter Windows oder DOS ?
Benutzeravatar
YangMimpi
LAN Manager
Beiträge: 220
Registriert: So 8. Dez 2013, 18:31
Wohnort: Leipzig
Kontaktdaten:

Re: Keyboard BUG

Beitrag von YangMimpi »

Also dieses Problem tritt bei DOS Spielen unter DOS-BOX auf nem Win7 Rechner auf, aber auch jetzt wieder auf meinem Retro Rechner.

Beispiele:

NHL Hockey 95
Sensible World of Soccer

Bei beiden Spielen kann ich nach oben rechts rennen und Schießen, nach oben links klappt das aber nicht. Er läuft dann nur in die Richtung und bei Betätigung der Leertaste o.ä. macht er die Schussaktion dann halt nicht. In alle 7 anderen Richtungen macht er es ohne Probleme. :-(
Benutzeravatar
matze79
DOS-Gott
Beiträge: 5229
Registriert: So 9. Sep 2012, 20:48

Re: Keyboard BUG

Beitrag von matze79 »

Spielst du unter DOS oder Windows 95 ?
Benutzt du das selbe Keyboard ?

Unter Windows gibts diese Tasteneinrastfunktion die sowas verursachen kann.
Benutzeravatar
philscomputerlab
DOS-Übermensch
Beiträge: 1218
Registriert: Fr 1. Okt 2010, 10:40
Wohnort: Australien
Kontaktdaten:

Re: Keyboard BUG

Beitrag von philscomputerlab »

(semi)-profi Gamer kennen dieses Problem. Nennt sich ghosting glaube ich.

Allgemein sind USB Keyboards schlechter als PS/2.

Es kann gut sein dass fruehere Tastaturen in dieser Hinsicht einfach besser waren.

Fuer USB gibt es daher spezielle gaming Tastaturen. Eine billige PS/2 Tastatur tut es auch oft. Es gibt auch Programme die testen wieviele Tastaturen gleichzeitig funzen.

PS: Am besten ein gamepad verwenden :)
Benutzeravatar
YangMimpi
LAN Manager
Beiträge: 220
Registriert: So 8. Dez 2013, 18:31
Wohnort: Leipzig
Kontaktdaten:

Re: Keyboard BUG

Beitrag von YangMimpi »

Also mir ist dieses Phänomen das erste Mal bei meinem damaligen Athlon 1Ghz Rechner aufgefallen. Seit dem beobachte ich das bei allen Rechner, die ich seitdem hatte.

Ich hatte gehofft, dass sich das Problem bei meinen puren DOS Rechner von alleine löst, dem ist wohl aber leider nicht so.

Der Gag ist ja, dass der Affengriff etc. funktioniert, aber 2 Cursortasten und eine weitere Taste funktionieren nicht bei allen Cursortastenkombinationen.

Gamepad ist natürlich immer eine Alternative, aber es kann doch nicht im Sinne des Erfinders sein, dass man die Spiele nicht in ihrer originalen Steuervariante spielen kann :-(

edit: das Problem tritt momentan bei USB-Tastatur (DosBOX unter Win7 64), sowie bei serieller Tastatur auf (P120 System, nur DOS 6.22)
Benutzeravatar
matze79
DOS-Gott
Beiträge: 5229
Registriert: So 9. Sep 2012, 20:48

Re: Keyboard BUG

Beitrag von matze79 »

Komisch ich hab mit einen 2,99€ USB Keyboard nirgends solche Probleme, nicht mal mit einen billigst PS/2 Ding :)

Im Bios gibts da einige Optionen bei Älteren Rechnern Typematic Rate usw..
Typematic Rate Setting
Angeboten werden "enabled" und "disabled". Bei "enabled" lassen sich "Rate" und "Delay" des Tastaturcontrollers einstellen.
Modernere Betriebssysteme als DOS bieten hierfür eigene Einstellmöglichkeiten und Routinen, die auch komfortabler sind.

Typematic Rate (Chars/Sec)
Hier läßt sich die Wiederholrate des Tastaturcontrollers einstellen, wieviel Zeichen pro Sekunde verarbeitet werden.

Typematic Delay (Msec)
Hier läßt sich die Ansprechverzögerung des Tastaturcontrollers einstellen, die Zeit zwischen Tastatureingabe und Verarbeitung in Millisekunden.

Beschleunigen der Tastatur
Dieser Absatz gilt nur für ältere BIOS-Versionen!
Bei nahezu jedem BIOS läßt sich die Tastaturgeschwindigkeit erhöhen.
Das lohnt sich nicht nur für »Schnelltipper«, sondern vor allem unter DOS: In Listen (beispielsweise der Norton-Commander-Dateiliste) können Sie, indem Sie Tasten gedrückt halten, schneller scrollen.

Im AMI-Setup beschleunigen Sie die Tastatur über folgende Optionen, die im Extended Setup zu finden sind:
Typematic Rate Programming: »enabled«
Typematic Rate Delay (ms) : 250 (bzw. statt 250 der kleinste Wert)
Typematic Rate (chars/s) : 30 (bzw. statt 30 der höchste Wert)
.
AWARD bietet in seinem Setup die gleichen Tastatur-Optionen, lediglich die Options-Bezeichnungen weichen ein wenig ab:
Typematic Rate Setting : »enabled«
Typematic Rate (chars/s): 30 (bzw. statt 30 höchster Wert)
Typematic Delay (ms) : 250 (bzw. statt 250 kleinster Wer
Vieleicht verschafft dir das Milderung.
Benutzeravatar
Dosenware
DOS-Gott
Beiträge: 3218
Registriert: Mi 24. Mai 2006, 20:29

Re: Keyboard BUG

Beitrag von Dosenware »

bevor ich selbst alles schreibe, nehmen wir einfach TweakPC, die haben just dieser Tage einen entsprechenden Artikel geliefert:
http://www.tweakpc.de/hardware/infos/so ... en/s02.php
DOSferatu
DOS-Übermensch
Beiträge: 1145
Registriert: Di 25. Sep 2007, 12:05
Kontaktdaten:

Re: Keyboard BUG

Beitrag von DOSferatu »

Das obengenannte Problem liegt eindeutig und IMMER an der Tastatur selbst.
Viele Tastaturen erlauben nur eine bestimmte Anzahl Tasten zu kombinieren, danach wird jede weitere Taste blockiert. Die "Umschalt"-Tasten (Shift/Ctrl/Alt usw) werden dabei "freundlicher" behandelt, da diese ja bei normaler Arbeitsweise dazu da sind, mit anderen Tasten gemeinsam gedrückt zu werden.

Der Fehler (HOCH+LINKS+CTRL+ALT) ist mit auch schon aufgefallen, daß der manchmal nicht geht (weil man es z.B. bei XPYDERZ manchmal braucht). Daß es eindeutig an der Tastatur liegt, merke ich daran, daß ich mehrere Tastaturen habe und bei den guten geht alles und bei den weniger guten nicht.

(Meine Cherry G80-3000 HAD ist z.B. eine gute.)

Wenn man mit Tastatur spielen will (oder viel tippt, z.B. programmiert), sollte man sich nicht den letzten Schund von Tastaturen besorgen, die Investition in etwas besseres lohnt sich langfristig.

USB.... Naja, da weiß ich nicht, ob der Standard bei der Übertragung der Signale bei USB für diesen Eingabegerätetyp da bestimmte Dinge nicht erlaubt. Ich kenne mich da nicht aus, ging aber davon aus, daß die gleichen Bytes (Scancodes) gesendet werden wie über PS/2 oder DIN - nur eben über eine andere Schnittstelle.

Ich denke eher, daß es bei billigeren Tastaturen an der internen Hardware liegt: Zu wenig Speicher, um "gedrückte Tasten" vorzuhalten oder zu schlechte/dumme interne Programme.

Ich kenne jemanden, der eine originale alte IBM-Tastatur hat und da gehen WIRKLICH alle Tasten gleichzeitig unabhängig voneinander zu bedienen - haben wir mit meinem KEYTEST Programm ausprobiert.

Diesen Standard hat man wahrscheinlich irgendwann "aufgeweicht", weil man davon ausging, daß selten der Fall auftritt, mehr als 10 Tasten gleichzeitig zu drücken, aus anatomischen Gründen...

Da der "Fehler" also im Keyboard selbst liegt, gibt es softwaremäßig keine Chance, diesen auszugleichen. Ab der maximalen gedrückten Tastenanzahl (bzw ab der komischen Kombination) sendet das Keyboard einfach keinen weiteren Scancode an den Computer, bis mindestens eine der Tasten wieder losgelassen wird.

Daß es nicht nur die Tastenanzahl selbst liegt, sondern auch daran, welche Kombinationen funktionieren und welche nicht, liegt daran, daß oft die Tasten in einer Art zweidimensionalen Matrix kombiniert sind und pro "Matrixzeile/Matrixspalte" nur eine begrenze Zahl Tasten abgefragt wird. Keine Ahnung, wie komisch es bei PC-Tastaturen abgefragt wird.

Beim PC weiß ich es nicht, aber beim C64. Ich erkläre mal, wie es beim C64 ungefähr funktioniert.

Der C64 hat 66 Tasten. Die RESTORE Taste ist einzeln verbunden mit dem NMI Eingang der CPU (nicht "direkt", genauere schalttechnische Einzelheiten erspare ich mir). Die linke Shift und SHIFT LOCK (also CAPS) sind schalttechnisch miteinander verbunden, die CAPS rastet einfach ein/aus wie bei einem Kugelschreiber.
Somit sind es für die "normale Abfrage" elektrisch 64 Tasten. Diese werden über eine 8x8 Bitmatrix angesteuert. D.h. jede Taste verbindet eine der 8 Zeilen mit einer der 8 Spalten. Die 8 Zeilen "hängen" an einem Port, die 8 Spalten an einem anderen. Abfrage passiert vom C64 softwareseitig mit diesen zwei Ports.
Einer wird lesend, der andere schreibend geschaltet. Beim schreibenden Port werden nacheinander alle Bits gesetzt (eigentlich gelöscht, weil CMOS und "0" da "Strom" bedeutet) und beim lesenden Port getestet, welche Bits reagieren (von "1" auf "0" gegangen sind). So wird dann der Scancode ermittelt...
Die Ports sind dieselben, die auch die Joysticks abfragen (wohl aus Kostengründen), daher bewirkt das Wackeln am Joystick im Port 1 auch die Ausgabe von Zeichen auf dem Screen... Außerdem ist ein Druck auf das Leerzeichen einem Feuerknopfdruck am Joystick im Port1 nicht unähnlich, d.h. im "Normalzustand", den die Ports normalerweise haben, passiert dies.
(Grund ist wohl, daß nach der Abfrage der Tasten in der entsprechenden, zyklisch aufgerufenen Subroutine, das oberste Bit des einen Ports gesetzt bleibt, und dies eben die entsprechende "Tastenreihe" abdeckt (Wo z.B. die Tasten <-, 1, 2, Leerzeichen und noch ein paar andere dabei sind, soweit ich mich erinnere).

Weil viele Spiele außer der Joysticksteuerung auch die Tastatur abfragen und dafür die "bewährte" Methode benutzen (obwohl die Abfrage auch umgekehrt, mit getauschen Ports möglich wäre), ist dies wohl auch der Grund, wieso standardmäßig bei sehr vielen C64-Spielen immer der Joystick-Port 2 benutzt wird. Lustigerweise hat der Port 2 im Speicher/IO-bereich auch die niedrigere Speicheradresse. (Port 2: 56320dez, Port1: 56321dez). Da praktischerweise in bestimmtem Schaltzustand der Ports der "Feuerknopf" des Port1 der Leertaste entspricht, ist dies wohl der Grund, wieso viele C64-Spiele als "Taste 2" (neben dem Feuerknopf) die gut erreichbare Leertaste nutzen können.
(C64 Joysticks haben nur einen Feuerknopf, bzw 2, die aber beide auf "Button A" geschaltet sind - obwohl beide C64-Joystick-Eingänge eigentlich 3 "Feuertasten" abfragen könnte und eine davon sogar "analog".)

Der PC hat ja eigentlich auch eine "Option eines Joystickports" auf Port 210hex. Manche Soundblasterkarten können den "MIDI"-Port dazu benutzen. Leider hat man wahrscheinlich heutzutage wieder irgendeinen USB-Kram für erfunden, der nicht zusätzlich den Port 210hex "mitbenutzt" - so daß alte PC-Spiele, die prinzipiell per Stick/Pad gesteuert werden könnten, dies dann wieder nicht können.

Ich hatte eigentlich auch angedacht, bei XPYDERZ (und meinen künftigen Spielen) auch die Joystick-Option mit anzubieten, aber leider ist im PC-Bereich "Standard" etwas mit einer sehr kurzen Halbwertzeit.
Und außerdem wirken "Standards" im PC-/Betriebssystem-Bereich auf mich immer eher wie der "Piratenkodex" in "Fluch der Karibik": "Es ist keine richtige Regel, mehr eine grobe Richtlinie..."
Als Programmierer hat man da eigentlich ständig das Bedürfnis, laut "PARLEZ!" zu rufen...

Ähm.... Wo waren wir? - Ach ja. Das nur zur Erklärung, wieso Tastaturen manchmal so doof sind.

Und ja: Ein richtiger Gamer holt sich einen richtigen Computer (oder am besten gleich eine Konsole).
Zu richtigen Computern zählen NICHT: Laptops, Notebooks, Notepads, Webbooks...
Wieso? Komische (und selten erweiterbare) Hardware und natürlich: Zum Zocken völlig unbrauchbare - bis nicht vorhandene - Tastaturen.

Ich stelle mir das gerade im "richtigen Leben" vor: Ein Auto, bei dem man, wenn man gerade Gas gegeben hat, nicht gleichzeitig lenken kann. Oder wenn man gerade links blinkt, das Bremspedal nicht funktioniert... Vielleicht kommt das ja irgendwann mal so, wenn man praktischerweise die Bedienelemente im Auto per USB ansteuert... Da muß man dann eben in einem Kurz den Fahrzeugführerschein mal kurz auffrischen...

Ich bin zwar selbst nicht im Mindesten ein Gamer/Zocker, meine aber trotzdem, es zumindest so beurteilen zu können:
Zur Kategorie "Gamer"/"Zocker" zählen für mich NICHT Leute, die Spiele spielen, die mit EINEM Tastendruck oder mit etwas "Hin-und-her-wischen-auf-Touchscreen" gespielt werden. - Für Kindergarten-Spiele ist selbstredend egal, wie komisch die Hardware ist. Da zählt ja sowieso nur, daß die Grafik so bunt ist, daß man Augenkrebs kriegt und die Musik so nervtötend, daß man Hörsturz bekommt, und das Spielprinzip so einfach, daß jede(r) Mammi/Pappi es auch können, selbst wenn besoffen.
Benutzeravatar
matze79
DOS-Gott
Beiträge: 5229
Registriert: So 9. Sep 2012, 20:48

Re: Keyboard BUG

Beitrag von matze79 »

Naja ein richtiger Computer, wie definiert man das schon... heute steckt ein Computer so gut wie überall drin.

Was früher einen Schrank füllte ist heute ein schlechter Mikrocontroller :D

Tastaturen für 100€ sind Abzocke.
Benutzeravatar
YangMimpi
LAN Manager
Beiträge: 220
Registriert: So 8. Dez 2013, 18:31
Wohnort: Leipzig
Kontaktdaten:

Re: Keyboard BUG

Beitrag von YangMimpi »

Erstmal vielen Dank für eure Antworten!

Wie es auschaut bin ich da für mich auf ein komplett neues Thema (Tastatur Ghosting) gestoßen, über das ich mich erstmal belesen mußte.

Fazit: es muss eine ordentliche Tastatur ohne Ghostingeffekt her. Habe schonmal etwas herum geschaut und diese Tastaturen sind neu schon für sehr deutlich <100€ zu bekommen (teilweise <60€). Ich werde einfach mal schauen, ob ich irgendwo ein Angebot finde oder vllt. sogar eine ältere gebrauchte Tastatur.
freecrac
DOS-Guru
Beiträge: 836
Registriert: Mi 21. Apr 2010, 11:44
Wohnort: Hamburg Horn

Re: Keyboard BUG

Beitrag von freecrac »

matze79 hat geschrieben:Naja ein richtiger Computer, wie definiert man das schon... heute steckt ein Computer so gut wie überall drin.

Was früher einen Schrank füllte ist heute ein schlechter Mikrocontroller :D

Tastaturen für 100€ sind Abzocke.
Das kann schon sein, aber meine Logitech G510 Tastatur mit USB 2.0 kostet neu auch nur noch ca. 50 Euro.
Bild
Die G510 hat Audio-Anschlüse(für Klinke) für Headset, einzelne Stummschalter für Köpfhörer und Mikrofon und ein Stummschalter für den gesamten Ton, ein Drehrad für die Lautstärke(auch für angeschlossen Lautsprecher-Boxen). Ein Schalter zum Dekativieren/Aktivieren der Windows-Tasten und 18 zusätzliche Funktionstasten, eine Taste zum Aufzeichen von Makros + Aufzeichnung beenden, ein monochromes Display und beleuchtete Tasten. Die Farbe des Display und die Farbe der Tastenbeleuchtung kann gemeinsam beliebig verändert werden. Eine Taste zum Wechseln der verschiedenen Display-Funktionen wie z.B. Anzeige von Uhrzeit und Datum, oder CPU-Auslastung und Speicherverwendung. Einige Windowsspiele(wie Borderlands) unterstützen auch dieses Display und zeigen darüber zusätzliche Infos zum Spiel mit an. 3 Tasten zum Wechseln von 3 verschiedenen Belegungsprofilen der 18 Funktions-Tasten, für Mediaplayer eine Start/Pause-Taste, eine Stoptaste, eine Schnellvorlauf und eine Schnellrücklauf-Taste.

Ich meine für ca. 50 Euro Neupreis bekommt man mit dieser Tastatur eine relativ gute Verarbeitung und für Windows XP und Co. bringt sie mit dem Treiber dafür schon viele zusätzliche Funktionen mit, die bei normalen Tastaturen noch nicht vorhanden sind.

Edit: Für DOS habe ich im Mainboard-Bios USB lagacy auf enable gestellt, womit die Tastencodes in den Tastaturcontroller eingespeist werden. Ich habe es aber noch nicht getestet, wie es sich damit verhält, wenn man mehrere Tasten gleichzeitg drückt. Das werde ich bald aber nachholen und ausprobieren.

Dirk
Benutzeravatar
matze79
DOS-Gott
Beiträge: 5229
Registriert: So 9. Sep 2012, 20:48

Re: Keyboard BUG

Beitrag von matze79 »

Naja das mit denn 100€ Tastaturen war auch eher auf Gamertastaturen für Exorbitante Preise bezogen :)
Brueggi

Re: Keyboard BUG

Beitrag von Brueggi »

Ich kenne diesen Effekt von meinem damaligen ESCOM-Pentium :-) Mit der dazugehörigen Tastatur konnte man STRG+SHIFT+ALT+Cursor-Taste vergessen (Doom - Schießen, Seitwärts laufen und Shift für rennen) vergessen. Mit meiner damaligen "Klotz-Tastatur" von IBM gings :-)
freecrac
DOS-Guru
Beiträge: 836
Registriert: Mi 21. Apr 2010, 11:44
Wohnort: Hamburg Horn

Re: Keyboard BUG

Beitrag von freecrac »

matze79 hat geschrieben:Naja das mit denn 100€ Tastaturen war auch eher auf Gamertastaturen für Exorbitante Preise bezogen :)
Vorher hat die G510 auch 130 Euro gekostet, so wie jetzt die neueren Tastatur-Modelle von Logitech auch.
Mein Bruder hat dafür bestimmt so um die 100 Euro bezahlt, als er sie kaufte und mir dann schenkte.
Aber ich selber finde den Preis von 130 Euro auch schon zu hoch für eine Tastatur.

...

Zur Geschwindikeit von USB-Tastaturen im Vergleich zu PS2-Modellen am PS2-Anschluss:
Müsste eine USB-Tastatur nicht viel mehr Daten gleichzeitig übermitteln können, wenn die Tastatur über USB angeschlossen und darüber auch abgefragt wird?

Dirk
Antworten