diff --git a/src/components/input/api.js b/src/components/apiInput/apiInput.js similarity index 92% rename from src/components/input/api.js rename to src/components/apiInput/apiInput.js index c3be61e2e2..e6cb3d312c 100644 --- a/src/components/input/api.js +++ b/src/components/apiInput/apiInput.js @@ -234,6 +234,19 @@ define(['connectionManager', 'playbackManager', 'events', 'inputManager', 'focus events.on(apiClient, "message", onMessageReceived); } + function enableNativeGamepadKeyMapping() { + if (!(!window.navigator || "string" != typeof window.navigator.gamepadInputEmulation)) { + window.navigator.gamepadInputEmulation = "keyboard"; + return true; + } + + return false; + } + + function isGamepadSupported() { + return "ongamepadconnected" in window || navigator.getGamepads || navigator.webkitGetGamepads; + } + connectionManager.getApiClients().forEach(bindEvents); events.on(connectionManager, 'apiclientcreated', function (e, newApiClient) { @@ -241,5 +254,11 @@ define(['connectionManager', 'playbackManager', 'events', 'inputManager', 'focus bindEvents(newApiClient); }); + if (!enableNativeGamepadKeyMapping() && isGamepadSupported()) { + require(["components/apiInput/gamepadtokey"]); + } + + require(["components/apiInput/mouseManager"]); + return serverNotifications; }); diff --git a/src/components/input/gamepadtokey.js b/src/components/apiInput/gamepadtokey.js similarity index 100% rename from src/components/input/gamepadtokey.js rename to src/components/apiInput/gamepadtokey.js diff --git a/src/components/input/mouse.js b/src/components/apiInput/mouseManager.js similarity index 100% rename from src/components/input/mouse.js rename to src/components/apiInput/mouseManager.js diff --git a/src/components/apiInput/package.json b/src/components/apiInput/package.json new file mode 100644 index 0000000000..6c542951b2 --- /dev/null +++ b/src/components/apiInput/package.json @@ -0,0 +1,3 @@ +{ + "main": "apiInput.js" +} \ No newline at end of file diff --git a/src/scripts/site.js b/src/scripts/site.js index c42acb6325..8035c898ff 100644 --- a/src/scripts/site.js +++ b/src/scripts/site.js @@ -1198,19 +1198,6 @@ var AppInfo = {}; }); } - function enableNativeGamepadKeyMapping() { - if (!(!window.navigator || "string" != typeof window.navigator.gamepadInputEmulation)) { - window.navigator.gamepadInputEmulation = "keyboard"; - return true; - } - - return false; - } - - function isGamepadSupported() { - return "ongamepadconnected" in window || navigator.getGamepads || navigator.webkitGetGamepads; - } - function onAppReady(browser) { console.log("Begin onAppReady"); @@ -1238,10 +1225,6 @@ var AppInfo = {}; hashbang: true }); - if (!enableNativeGamepadKeyMapping() && isGamepadSupported()) { - require(["components/input/gamepadtokey"]); - } - require(["components/thememediaplayer", "scripts/autobackdrops"]); if (!("cordova" !== self.appMode && "android" !== self.appMode)) { @@ -1268,8 +1251,6 @@ var AppInfo = {}; require(["mediaSession"]); } - require(["apiInput", "mouseManager"]); - if (!(browser.tv || browser.xboxOne)) { require(["components/playback/playbackorientation"]); registerServiceWorker(); @@ -1471,7 +1452,6 @@ var AppInfo = {}; define("cardBuilder", [embyWebComponentsBowerPath + "/cardbuilder/cardbuilder"], returnFirstDependency); define("peoplecardbuilder", [embyWebComponentsBowerPath + "/cardbuilder/peoplecardbuilder"], returnFirstDependency); define("chaptercardbuilder", [embyWebComponentsBowerPath + "/cardbuilder/chaptercardbuilder"], returnFirstDependency); - define("mouseManager", [embyWebComponentsBowerPath + "/input/mouse"], returnFirstDependency); define("flexStyles", ["css!" + embyWebComponentsBowerPath + "/flexstyles"], returnFirstDependency); define("deleteHelper", [embyWebComponentsBowerPath + "/deletehelper"], returnFirstDependency); define("tvguide", [embyWebComponentsBowerPath + "/guide/guide"], returnFirstDependency); @@ -1570,8 +1550,7 @@ var AppInfo = {}; define("fnchecked", ["legacy/fnchecked"], returnFirstDependency); define("dialogHelper", [embyWebComponentsBowerPath + "/dialoghelper/dialoghelper"], returnFirstDependency); define("inputmanager", ["inputManager"], returnFirstDependency); - define("apiInput", [embyWebComponentsBowerPath + "/input/api"], returnFirstDependency); - define("serverNotifications", ["apiInput"], returnFirstDependency); + define("serverNotifications", [embyWebComponentsBowerPath + "/apiInput/apiInput"], returnFirstDependency); define("headroom-window", ["headroom"], createWindowHeadroom); define("appFooter-shared", ["appFooter"], createSharedAppFooter); define("skinManager", [embyWebComponentsBowerPath + "/skinmanager"], function (skinManager) {