mirror of
https://github.com/zhigang1992/DefinitelyTyped.git
synced 2026-04-21 13:27:15 +08:00
72 lines
2.6 KiB
TypeScript
72 lines
2.6 KiB
TypeScript
/// <reference path="gamepad.d.ts" />
|
|
|
|
|
|
()=>{
|
|
function runAnimation()
|
|
{
|
|
window.requestAnimationFrame(runAnimation);
|
|
|
|
var gamepads = navigator.getGamepads();
|
|
|
|
for (var i = 0; i < gamepads.length; ++i)
|
|
{
|
|
var pad = gamepads[i];
|
|
// todo; simple demo of displaying pad.axes and pad.buttons
|
|
}
|
|
}
|
|
|
|
window.requestAnimationFrame(runAnimation);
|
|
};
|
|
|
|
()=>{
|
|
window.addEventListener('GamepadConnected', (e: GamepadEvent)=>{
|
|
console.log('Gamepad ' + e.gamepad.index + ' connected!');
|
|
}, false);
|
|
window.addEventListener('GamepadDisconnected', (e: GamepadEvent)=>{
|
|
console.log('Gamepad ' + e.gamepad.index + ' disconnected!');
|
|
}, false);
|
|
window.addEventListener('webkitGamepadConnected', (e: GamepadEvent)=>{
|
|
console.log('Gamepad ' + e.gamepad.index + ' connected!');
|
|
}, false);
|
|
window.addEventListener('webkitGamepadDisconnected', (e: GamepadEvent)=>{
|
|
console.log('Gamepad ' + e.gamepad.index + ' disconnected!');
|
|
}, false);
|
|
window.addEventListener('mozGamepadConnected', (e: GamepadEvent)=>{
|
|
console.log('Gamepad ' + e.gamepad.index + ' connected!');
|
|
}, false);
|
|
window.addEventListener('mozGamepadDisconnected', (e: GamepadEvent)=>{
|
|
console.log('Gamepad ' + e.gamepad.index + ' disconnected!');
|
|
}, false);
|
|
|
|
var requestAnimationFrame = window.requestAnimationFrame || window["mozRequestAnimationFrame"];
|
|
var getGamepads = navigator.getGamepads || navigator.webkitGetGamepads;
|
|
if(getGamepads){
|
|
function runAnimation()
|
|
{
|
|
requestAnimationFrame.call(window, runAnimation);
|
|
|
|
var gamepads: GamepadList = getGamepads.call(navigator);
|
|
for(var i = 0; i < gamepads.length; i++){
|
|
var pad: Gamepad = gamepads[i];
|
|
if(pad){
|
|
for (var k = 0; k < pad.buttons.length; k++)
|
|
{
|
|
var button = pad.buttons[k];
|
|
if(button !== 0){
|
|
console.log('pad[' + pad.index + ']: ' + 'time=' + pad.timestamp + ' id="' + pad.id + '" button[' + k + '] = ' + button);
|
|
}
|
|
}
|
|
for (var k = 0; k < pad.axes.length; k++)
|
|
{
|
|
var axis = pad.axes[k];
|
|
if(Math.abs(axis) > 0.1){
|
|
console.log('pad[' + pad.index + ']: ' + 'time=' + pad.timestamp + ' id="' + pad.id + '" axis[' + k + '] = ' + axis);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
runAnimation();
|
|
}
|
|
}(); |