UNPKG

typescript-closure-tools

Version:

Command-line tools to convert closure-style JSDoc annotations to typescript, and to convert typescript sources to closure externs files

72 lines (63 loc) 2.72 kB
/// <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 || (<any>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(); } })();