Windows-HID-kompatible Gamepad-Verwirrung

5445
AlexRamallo

Ich habe ein Problem damit, dass ein Gamepad richtig funktioniert. Das Eingabegerätsystem von Windows hat mich immer verwirrt, aber nach einiger Recherche habe ich Folgendes zusammengetragen:

  • XInput ist die neueste / am weitesten verbreitete API in DirectX für die Eingabe von Gamepads
  • DirectInput ist eine ältere API, die nicht so beliebt / verwendet wird (XInput ist einfacher und schneller einzurichten).
  • XInput unterstützt NUR die Xbox-Controller (Xbox 360 und wahrscheinlich auch Xbox One).
  • DirectInput unterstützt alle Arten von Eingabegeräten, einschließlich generischer HID-kompatibler Gamepads und Xbox-Controller (allerdings mit weniger Funktionen als durch XInput, z. B. Unterstützung für Headsets).

Mein Problem besteht darin, ein Bluetooth-Gamepad ( Amazon Fire TV Game Controller ) für Spiele unter Windows zu erhalten. Da es sich nicht um einen Xbox 360-Controller handelt, ist die Umgehung eines reinen XInput-Spiels natürlich eine Umgehung. Dieses Projekt scheint den Trick fast perfekt zu machen, da es allen Eingabegeräten ermöglicht, den Xbox360-Eingang zu emulieren und sie daher mit XInput kompatibel zu machen.

Ich bin jedoch auf ein paar Probleme gestoßen und kann nicht wirklich sagen, um welchen Fehler es sich handelt oder wie ich sie beheben kann. Ein Problem ist, dass die L / R-Trigger überhaupt nicht erkannt werden. Wenn Sie in das Menü "Geräte und Drucker" gehen und auf die "Game Controller-Einstellungen" für meinen Controller klicken, können Sie die Eingaben über diesen vertrauten Bildschirm testen:

Windows-HID-kompatible Gamepad-Verwirrung

Das Drücken der Auslöser bewirkt überhaupt nichts. Wenn Sie dies bemerken, gibt es außerdem 15 Eingabetasten. Dies ist richtig, da der Controller, den ich teste, 15 Tasten hat, jedoch 4 dieser Tasten sind Media-Tasten, die das Betriebssystem selbst steuern. Wenn Sie beispielsweise die Home-Taste auf dem Controller drücken, wird mein Internetbrowser geöffnet und ich komme zu meiner Startseite. Die anderen Medientasten drücken scheinbar nichts.

Meine Fragen sind:

  1. Wie kann ich die Auslöser zum Laufen bringen? Ist das ein Treiberproblem? Ich dachte, dass HID-konforme Geräte funktionieren sollten. Wenn Windows alle 15 Tasten, zwei Analogsticks und ein D-Pad erkannt hat, warum können die beiden Auslöser nicht erkannt werden? Unterstützen HID-kompatible Gamepads keine analogen Trigger, oder liegt dies an einem Fehler / Problem mit dem Controller selbst oder dem Gamepad-Treiber von Windows?

  2. Wie kann ich die 4 Medientasten des Geräts steuern? Einen Button auf einem Gamepad zu haben, der mich zu meinem Internetbrowser bringt, ist ziemlich nutzlos und nervig.

  3. Wenn ein benutzerdefinierter Treiber dafür absolut erforderlich ist, wäre es möglich, selbst einen Treiber zu schreiben, der keine Verbindung mit dem Hersteller hat oder Hilfe bietet?

Vielen Dank!

3

1 Antwort auf die Frage

2
Manwithgun

Sie haben Recht, was DirectInput im Vergleich zu Xinput ist, auch wenn man sagen könnte, dass das DirectInput-API verschiedene Steuerelemente zulässt. Wenn Sie einen Controller haben, der sich als DirectInput-Gerät registriert, und ein Spiel hat, das nur Xinput akzeptiert, empfehle ich x360ce (@ http://www.x360ce.com/ ). Dies wandelt DirectInput in Xinput für das Spiel um, während die tatsächliche Eingabe der Controller maskiert wird. Führen Sie einfach x360ce.exe im Spieleverzeichnis aus und folgen Sie den Anweisungen der x360ce-Website. Leider ist es nicht mit allen Spielen kompatibel und auch nicht mit Ihrem Controller kompatibel. Es ist jedoch einen Versuch wert, hinterlassen Sie einfach ein Feedback für die Entwickler von x360ce. Ich hoffe das hilft!