Gamepad API - JavaScript

Med JavaScript gamepad API kan man styre ting på hjemmeside med en gamepad (joystick)

Introduktion

JavaScript gamepad API bruges til at få adgang til en gamepad/joystick så brugeren kan styre ting på hjemmesiden.

Så kan man komme til at spille spil med en gamepad i browseren.

Jeg har en Microsoft SideWinder Freestyle Pro (USB) som jeg bruger til at teste med.
Microsoft SideWinder Freestyle Pro gamepad
Indtil videre er der ikke særlig meget der virker særligt godt i særligt mange browsere så der kommer til at få noget tid før man rigtigt kan bruge gamepad API.

https://developer.mozilla.org/en-US/docs/Web/API/Gamepad
http://www.w3.org/TR/gamepad/
https://hacks.mozilla.org/2013/12/the-gamepad-api/


Demo

Her er en demo som viser når man bruger controlleren og afspille lyde med <audio> når de forskellige events udløses.

Gamepad API demo

Forbind en gamepad

DEMO
(PÅ EN SIDE FOR SIG SELV)

Browsertest

Browserunderstøttelse af gamepad API

Browser Gamepad API Andet
Firefox logo
Firefox 29.0
ja navigator.getGamepads

min Firefox crasher
Firefox logo
Firefox 25.0
ja3 navigator.getGamepads
Firefox logo
Firefox 20.0.1
nej
Opera logo
Opera 12.15
nej
Safari logo
Safari 5.1.7
nej
Chrome logo
Chrome 25.0.1364.172 m
ja2 navigator.webkitGetGamepads
Internet Explorer logo
Internet Explorer 10.0.9200.16521
nej
Internet Explorer logo
Internet Explorer Developer Channel DC1
4 navigator.getGamepads
Alle tests er udført på Windows 7 (64-bit)


1 Det virker meget ustabilt. Tit bliver gamepaden ikke registeret og når den så endelig bliver registeret så crasher browseren meget tit.
Browseren ser ikke ud til at kunne fortælle om browseren understøtter gamepad API med navigator.mozGamepads til gengæld understøtter den events.

2 navigator.webkitGetGamepads kan fortælle om browseren understøtter gamepad API men events virker ikke.

3 Kan aktiveres ved at sætte about:config?filter=dom.gamepad.enabled til true.

4 Skulle være understøttet men jeg kan ikke få det til at virke.

Skriv din kommentar

Spørg mig om hvad som helst
Du kan også skrive direkte til mig på
Stem
Søg
Language

Select English to navigate the website in English. Things like the navigation menu and contact form will be in English, but the main content on each page will not be translated.