define(["./../common/inputmanager.js"],function(_inputmanager){var isLooping,ButtonInfos={};function setPressed(buttonInfo,newPressedState){var fire,key=buttonInfo.key,keyCode=buttonInfo.keyCode;!0===newPressedState?(fire=!1===buttonInfo.pressed||!1!==buttonInfo.enableRepeatKeyDown?!0:fire)&&keyCode&&raiseEvent("keydown",key,keyCode,!0===buttonInfo.pressed):!1===newPressedState&&!0===buttonInfo.pressed&&(keyCode&&raiseEvent("keyup",key,keyCode),buttonInfo.clickOnKeyUp)&&allowInput()&&_inputmanager.default.trigger("select"),buttonInfo.pressed=newPressedState}function allowInput(){var doc=document;return"hidden"!==doc.visibilityState&&!!doc.hasFocus()}function raiseEvent(name,key,keyCode,repeat){var event;allowInput()&&((event=document.createEvent("Event")).initEvent(name,!0,!0),event.key=key,event.keyCode=keyCode,null!=repeat&&(event.repeat=repeat),(document.activeElement||document.body).dispatchEvent(event))}function runInputLoop(){for(var hasGamepad=!1,gamepads=function(){try{return navigator.getGamepads()||[]}catch(err){return console.log("Error getting gamepads: "+err),[]}}(),i=0,length=gamepads.length;i