Chrome: Gamepad API unter Windows

Der vor wenigen Tagen in Version 21 erschienene Browser Google Chrome unterstützt die Gamepad API. Mit dieser ist es möglich Gamepads auch im Browser zu verwenden. Dies bietet sich vor allem für Spiele an. Jedoch ist die Verwendung besonders bei "älteren" Gamepads nicht gerade trivial.

Getestet wurde die API mit dem etwas ältere Rumblepad 2 von Logitech. Von diesem wird nur die DirectInput API aber nicht die XInput API unterstützt. Die DirectInput API wurde ursprünglich von Windows verwendet um die Eingabe durch alle denkbaren Geräte wie zum Beispiel Mäuse, Tastaturen, Gamepads und ähnlichen zu vereinfachen. Seit der Einführung der Xbox 360 wird die neuere XInput API unterstützt und seit 2011 wird DirectInput von Microsoft offiziell nicht mehr empfohlen. Diese Situation scheint erst einmal nicht so schlimm zu sein. Doch bei einem genaueren Blick auf Chrome muss festgestellt werden, dass von diesem (im Moment) nur Gamepads unterstützt werden, die über die XInput API kommunizieren.

Eine Möglichkeit für die Lösung des Problems ist ein XInput Emulator wie der "XBOX 360 Controller emulator"(x360ce). Damit er mit Chrome funktioniert, muss der Emulator von der Webseite des Projektes heruntergeladen und entpackt werden. Anschließend muss die Datei x360ce.exe in das Verzeichnis vom Chrome gelegt werden. Im Fall von Chrome in Version 21 ist es das Verzeichnis "C:\Program Files (x86)\Google\Chrome\Application\21.0.1180.60". Anschließend muss in diesem Verzeichnis die Datei xinput1_3.dll umbenannt und das Programm x360ce.exe ausgeführt werden. Dabei legt das Programm eine neu Datei mit dem Namen xinput1_3.dll und eine Konfigurationsdatei an. Im Anschluss wird ein Suchlauf gestartet. Im Fall von dem hier verwendeten Gamepad wurden bereits die passenden Einstellungen gefunden.

Nach einem Neustart des Browser sollte das Gamepad funktionieren. Ist dies nicht der Fall, so muss die API eventuell noch unter chrome://flags "Gamepad aktivieren" aktiviert werden. Was im beschrieben Fall jedoch nicht nötig war.

Getestet werden kann das Gamepad zum Beispiel mit gamepad.js.

Screenshots

Verwandte Artikel