EmbyCrackedClient/web/modules/input/hidinput.js

1 line
5.4 KiB
JavaScript
Raw Normal View History

2025-06-25 11:46:04 +08:00
import inputManager from"./../common/inputmanager.js";import{appHost}from"./../common/servicelocator.js";let hidInput={requestCount:0},_COMPATIBLE_PRODUCT_IDs=[{vendorId:1118,productId:109},{vendorId:1118,productId:160},{vendorId:1118,productId:218},{vendorId:4219,productId:12297},{vendorId:5385,productId:37442},{vendorId:1006,productId:9473},{vendorId:1137,productId:2069},{vendorId:1545,productId:797},{vendorId:8256,productId:25360},{vendorId:4105,productId:14},{vendorId:4121,productId:3896},{vendorId:1011,productId:148},{vendorId:4024,productId:2},{vendorId:1256,productId:28769},{vendorId:5216,productId:37200},{vendorId:1006,productId:9474},{vendorId:1545,productId:802},{vendorId:4872,productId:49153},{vendorId:1896,productId:35},{vendorId:1137,productId:1544},{vendorId:1086,productId:38915},{vendorId:6045,productId:16},{vendorId:6045,productId:32},{vendorId:6020,productId:1},{vendorId:6020,productId:2},{vendorId:6072,productId:4352},{vendorId:6072,productId:1100},{vendorId:6072,productId:1200},{vendorId:5553,productId:32912},{vendorId:5242,productId:57365},{vendorId:5242,productId:57366},{vendorId:1308,productId:49153},{vendorId:1308,productId:49154},{vendorId:3094,productId:129},{vendorId:3094,productId:128},{vendorId:16700,productId:33059},{vendorId:16700,productId:33060},{vendorId:1033,productId:102},{vendorId:1137,productId:1548},{vendorId:1137,productId:1549},{vendorId:1137,productId:1551},{vendorId:1204,productId:19559},{vendorId:1259,productId:57346},{vendorId:1259,productId:57348},{vendorId:1545,productId:820},{vendorId:1545,productId:824},{vendorId:2632,productId:12930},{vendorId:3034,productId:353},{vendorId:3034,productId:360},{vendorId:5242,productId:57367},{vendorId:5242,productId:57368},{vendorId:5242,productId:57396},{vendorId:5242,productId:57399},{vendorId:5242,productId:57402},{vendorId:5242,productId:57404},{vendorId:6020,productId:8},{vendorId:6020,productId:6},{vendorId:6452,productId:1538},{vendorId:6452,productId:1794},{vendorId:7012,productId:312}],_Standby=130,_GREEN_BUTTON=13,_DVD_Angle=75,_DVD_Audio=76,_DVD_Menu=36,_DVD_Subtitle=77,_My_Music=71,_My_Pictures=73,_My_TV=70,_My_Videos=74,_OEM1=128,_OEM2=129,_Recorded_TV=72,_TV_Jump=37,_ASPECT_RATIO=39,_TELETEXT=90,_TELETEXT_RED=91,_TELETEXT_GREEN=92,_TELETEXT_YELLOW=93,_TELETEXT_BLUE=94,_Details=9,_Guide=141,_CHANNEL_UP=156,_CHANNEL_DOWN=157,_PLAY=176,_PAUSE=177,_RECORD=178,_FAST_FWD=179,_FAST_REV=180;function allowInput(){var doc=document;return"hidden"!==doc.visibilityState&&!!doc.hasFocus()}function handleConnectedDevice(e){console.info("HID Device connected: "+e.device.productName),hidInput.isConnected=!0}function handleDisconnectedDevice(e){console.info("HID Device disconnected: "+e.device.productName),hidInput.isConnected=!1}function handleInputReport(e){if(allowInput()){if(3===e.reportId&&0<e.data.byteLength)switch(e.data.getUint8(0)){case _GREEN_BUTTON:inputManager.trigger("home");break;case _DVD_Angle:inputManager.trigger("togglefullscreen");break;case _DVD_Audio:inputManager.trigger("changeaudiotrack");break;case _DVD_Menu:inputManager.trigger("movies");break;case _DVD_Subtitle:inputManager.trigger("changesubtitletrack");break;case _My_Music:inputManager.trigger("music");break;case _My_Pictures:inputManager.trigger("pictures");break;case _My_TV:inputManager.trigger("livetv");break;case _My_Videos:inputManager.trigger("videos");break;case _OEM1:case _OEM2:inputManager.trigger("settings");break;case _Recorded_TV:inputManager.trigger("recordedtv");break;case _TV_Jump:inputManager.trigger("nowplaying");break;case _ASPECT_RATIO:inputManager.trigger("changezoom");break;case _TELETEXT:inputManager.trigger("changesubtitletrack");break;case _TELETEXT_RED:inputManager.trigger("red");break;case _TELETEXT_GREEN:inputManager.trigger("green");break;case _TELETEXT_YELLOW:inputManager.trigger("yellow");break;case _TELETEXT_BLUE:inputManager.trigger("blue")}if(2===e.reportId&&0<e.data.byteLength){let buttonId=e.data.getUint8(0);switch(buttonId){case _Standby:appHost.sleep();break;case _Details:inputManager.trigger("info");break;case _Guide:inputManage