Cortys: Mehr als 6 parallele Key-Events

Hallo allerseits!
Ich schraube momentan ein wenig an einem JavaScript-Spiel.
Gesteuert wird das ganze mit den Pfeiltasten und Ziffern.
Bis dahin ist auch alles super.

Jetzt habe ich allerdings noch einen Multiplayer gebaut und die Anzahl der gedrückten Tasten verdoppelt sich dadurch. - Ob das evtl. zu eng wird ist ein anderes Thema... ;-)

In einem hektischen Spiel werden da gern mal sehr viele Tasten parallel gedrückt. JavaScript, meine Tastatur, das OS - oder was auch immer dafür verantwortlich ist - lässt mich allerdings nur 6 Key-Events parallel machen.

Kann ich da irgendwie tricksen?

Danke für eure Hilfe!

  1. JavaScript, meine Tastatur, das OS - oder was auch immer dafür verantwortlich ist - lässt mich allerdings nur 6 Key-Events parallel machen.

    Die Tastatur ist dafür verantwortlich, das Stichwort ist n-key rollover.

    Kann ich da irgendwie tricksen?

    Kauf dir eine bessere Tastatur :)

    Es gibt einen Grund, warum es 3-Euro-Tastaturen und 1200-Euro-Tastaturen gibt :)

    1. Es gibt einen Grund, warum es 3-Euro-Tastaturen und 1200-Euro-Tastaturen gibt :)

      Nachtrag: das sollte 120-Euro sein :)

      Das Microsoft Sidewinder X4 erlaubt 26 Tasten gleichzeitig - das sollte idR ausreichen.

      1. Nachtrag: das sollte 120-Euro sein :)

        http://www.artlebedev.com/everything/optimus/maximus/ ;)

        1. Nachtrag: das sollte 120-Euro sein :)

          http://www.artlebedev.com/everything/optimus/maximus/ ;)

          Das Teil kostet aber nicht wegen der Verdrahtung so viel sondern wegen der OLED-Tasten :) das Ding gibts/gabs ja auch mit nur 10 Funktionstasten auf der linken Seite und die restlichen tasten kann/konnte man einzeln nachkaufen.

    2. Yerf!

      Kann ich da irgendwie tricksen?

      Kauf dir eine bessere Tastatur :)

      Dazu muss man noch sagen, das auch die USB-Schnittstelle limitiert. Ohne zusätzliche Tricks gehen damit nur 6 Tasten und 4 Modifier (Shift, Alt, Ctrl usw.) gleichzeitig. Die MS X4 trickst und meldet mehrere Devices am PC an.

      Über PS/2 sind hingegen beliebig viele Tasten möglich. Allerdings ist dann wieder die Frage, was die Tastatur selbst kann.

      Die MS X4 kann minimum 11 Tasten gleichzeitig (11kro), die günstigste mit nkro (alle Tasten gleichzeitig werden erkannt) dürfte die SteelSeries 6Gv2
      sein.

      Gruß,

      Harlequin

      --
      RIP --- XHTML 2
      nur die Besten sterben jung
      1. Hallo,

        Kauf dir eine bessere Tastatur :)
        Dazu muss man noch sagen, das auch die USB-Schnittstelle limitiert.

        wohl nicht die Schnittstelle an sich, sondern eher das in der HID-Geräteklasse für Tastaturen festgelegte Datenformat. Würde man als Hersteller auf Kompatibilität mit Standardgeräten verzichten und stattdessen einen eigenen Treiber mitliefern, wäre natürlich alles möglich, was die Tastatur selbst kann.

        Übrigens habe ich schon erlebt, dass auch die BIOS-Unterstützung für USB-Keyboards oft mangelhaft ist. Auch wenn man sie aktiviert (meist "Legacy USB Keyboard" oder so ähnlich bezeichnet), wird dann die AltGr-Taste häufig nicht erkannt, und man muss stattdessen Alt+Ctrl drücken (kann man natürlich alternativ zur AltGr-Taste immer machen). So wie früher, als viele Tastaturen noch keine AltGr-Taste hatten ...
        Sobald ein modernes OS mit seinem Treiber übernimmt, ist alles in Butter. Dann geht auch die AltGr-Taste.

        Über PS/2 sind hingegen beliebig viele Tasten möglich. Allerdings ist dann wieder die Frage, was die Tastatur selbst kann.

        Ja, richtig. Denn das Protokoll überträgt einfach nur sequentiell die Ereignisse "Taste 87 gedrückt", "Taste 41 gedrückt", "Taste 87 losgelassen", ...

        Ciao,
         Martin

        --
        Butterkeksverteiler zu werden ist vermutlich eine der wenigen beruflichen Perspektiven, die sich noch bieten, wenn man einen an der Waffel hat.
          (wahsaga)
        Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
      2. Kann ich da irgendwie tricksen?

        Kauf dir eine bessere Tastatur :)

        Dazu muss man noch sagen, das auch die USB-Schnittstelle limitiert. Ohne zusätzliche Tricks gehen damit nur 6 Tasten und 4 Modifier (Shift, Alt, Ctrl usw.) gleichzeitig. Die MS X4 trickst und meldet mehrere Devices am PC an.

        Ja, das stimmt - allerdings ist das ein eher triviales Problem, es ist nicht so, das ein USB-Hub der mehrere Geräte vorgaukelt ein extremer preistreiber wäre - der eigentliche Preistreiber ist das PCB, Bei einer einfachen Tastatur hat man ein paar Folien mit aufgeruckten Leiterbahnen, die man gegeneinanderdrückt oder nichtmal das - und bei komplexen keyboards gibts halt eine Platine mit mehreren Ebenen, das kostet natürlich weit mehr.

        Die MS X4 kann minimum 11 Tasten gleichzeitig (11kro),

        lt. Microsoft-Website sind es 26 (hab ich im Follow-Up verlinkt) - man findet aber auch externe Sites die von 18 + 4 Modifier bei diesem Keyboard sprechen.

        1. Yerf!

          Die MS X4 kann minimum 11 Tasten gleichzeitig (11kro),

          lt. Microsoft-Website sind es 26 (hab ich im Follow-Up verlinkt) - man findet aber auch externe Sites die von 18 + 4 Modifier bei diesem Keyboard sprechen.

          Die 26 sind das Maximum... die 11 das Minimum.

          Liegt daran, das die X4 als Rubberdome-Tastatur ohne PCB auskommen muss und somit kein nkro mittels Dioden möglich ist (bei den Mechas limitiert maximal das Interfaceprotkoll, außer es wird auf die Dioden verzichtet, dann hat man nur 2kro). Aber die 11 Tasten sind auch schon eine gute Ansage, ist mehr als man Finger hat ;-)

          Gruß,

          Harlequin

          --
          RIP --- XHTML 2
          nur die Besten sterben jung
          1. Aber die 11 Tasten sind auch schon eine gute Ansage, ist mehr als man Finger hat ;-)

            Kommt auf das Geschlecht an und ob man jetzt eine elften Finger oder ein drittes Bein hat :p

    3. Die Tastatur ist dafür verantwortlich, das Stichwort ist n-key rollover.

      Kann ich da irgendwie tricksen?

      Kauf dir eine bessere Tastatur :)

      Es gibt einen Grund, warum es 3-Euro-Tastaturen und 1200-Euro-Tastaturen gibt :)

      Danke für die vielen Antworten!
      So sehr hatte ich mich bisher noch nie mit Tastaturen beschäftigt. Gut, dass ich das jetzt mal tue.

      Ich selbst werde mir dann wohl bald eine bessere Tastatur holen müssen (was es da so alles zu kaufen gibt ist schon klasse).
      Mein Problemen löst das ganze natürlich trotzdem nicht, ich kann ja keinen Spieler zwingen sich eine neue Tastatur zu kaufen.

      Ist eigentlich auch egal. Dann lasse ich das Mehrspieler-Zeugs halt weg...

      Nur nochmal so aus Interesse: Kann ich denn mit JavaScript zumindest herausfinden was der User für eine Tastatur verwendet? Key-Events triggern oder sowas in der Art?

      Danke!

      1. Hallo,

        Nur nochmal so aus Interesse: Kann ich denn mit JavaScript zumindest herausfinden was der User für eine Tastatur verwendet? Key-Events triggern oder sowas in der Art?

        nein, selbstverständlich nicht. Javascript hat keinen Einblick in technische Eigenschaften der Maschine, auf der es läuft. Es sei denn, du schreibst ein Browser-Plugin mit einer Script-Schnittstelle, das diese Funktionalität und Information bereitstellt.

        Ciao,
         Martin

        --
        Der Stress von heute ist die gute alte Zeit von morgen.
        Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
        1. nein, selbstverständlich nicht. Javascript hat keinen Einblick in technische Eigenschaften der Maschine, auf der es läuft.

          Hatte ich mir schon fast gedacht, aber die Hoffnung stirb ja bekanntlich zu letzt.

          Trotzdem danke!

      2. Moin Moin!

        Nur nochmal so aus Interesse: Kann ich denn mit JavaScript zumindest herausfinden was der User für eine Tastatur verwendet? Key-Events triggern oder sowas in der Art?

        Keyboard. How quaint.

        Aber mal ernsthaft: Wie kommst Du anno 2011 darauf, jedes Gerät, dass eine Webseite anzeigen kann, hätte eine Tastatur?

        Alexander

        --
        Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".
        1. Aber mal ernsthaft: Wie kommst Du anno 2011 darauf, jedes Gerät, dass eine Webseite anzeigen kann, hätte eine Tastatur?

          Jedes Gerät, dass eine Website anzeigen kann, hat eine Tastatur - mehr oder weniger :)

          Die Tastatureingaben auf Touch-Screen-Geräten werden aber idR. nicht direkt an JavaScript weitergereicht und sing somit dort auch nicht auswertbar.

          1. Aber mal ernsthaft: Wie kommst Du anno 2011 darauf, jedes Gerät, dass eine Webseite anzeigen kann, hätte eine Tastatur?

            Niemand ohne eine echte ehrliche Tastatur wird die Seite öffnen, da zum einen eine Weiche davor ist (jetzt könnte ich eigentlich aufhören weiterzuschreiben, da das alle Probleme löst) und zum anderen die Steuerung komplett auf auf Tastatureingabe basiert. Da wird jeder Touch-Screen-Besucher sehr rasch deprimiert die Flucht ergreifen. (Was mir bei einem Hobby-Projekt ziemlich egal ist...)

            1. Niemand ohne eine echte ehrliche Tastatur wird die Seite öffnen, da zum einen eine Weiche davor ist (jetzt könnte ich eigentlich aufhören weiterzuschreiben, da das alle Probleme löst)

              Ich sage dir, dass deine Weiche nicht funktioniert :)

              und zum anderen die Steuerung komplett auf auf Tastatureingabe basiert. Da wird jeder Touch-Screen-Besucher sehr rasch deprimiert die Flucht ergreifen.

              Aber nicht, weil ihn die Weiche davon abhält sondern weil er frustriert ist.

              »»(Was mir bei einem Hobby-Projekt ziemlich egal ist...)

              Da ist es kein Problem ja, bei kommerziellen Projekten ist das aber oft Wirtschaftlich nicht schlau.

      3. Ist eigentlich auch egal. Dann lasse ich das Mehrspieler-Zeugs halt weg...

        Warum brauchst du bei der Steuerung 6 Tasten gleichzeitig?

        Kannst du nicht den zweiten Spieler per Maussteuerung versorgen? Oben, unten, links, rechts und 2 Tasten werden doch wohl vorhanden sein?