UNPKG

@yume-chan/scrcpy

Version:
41 lines 2.32 kB
// https://github.com/Genymobile/scrcpy/blob/fa5b2a29e983a46b49531def9cf3d80c40c3de37/app/src/control_msg.h#L23 // For their message bodies, see https://github.com/Genymobile/scrcpy/blob/5c62f3419d252d10cd8c9cbb7c918b358b81f2d0/app/src/control_msg.c#L92 // Their IDs change between versions, so always use `options.getControlMessageTypes()` export var ScrcpyControlMessageType; (function (ScrcpyControlMessageType) { ScrcpyControlMessageType[ScrcpyControlMessageType["InjectKeyCode"] = 0] = "InjectKeyCode"; ScrcpyControlMessageType[ScrcpyControlMessageType["InjectText"] = 1] = "InjectText"; ScrcpyControlMessageType[ScrcpyControlMessageType["InjectTouch"] = 2] = "InjectTouch"; ScrcpyControlMessageType[ScrcpyControlMessageType["InjectScroll"] = 3] = "InjectScroll"; ScrcpyControlMessageType[ScrcpyControlMessageType["BackOrScreenOn"] = 4] = "BackOrScreenOn"; ScrcpyControlMessageType[ScrcpyControlMessageType["ExpandNotificationPanel"] = 5] = "ExpandNotificationPanel"; ScrcpyControlMessageType[ScrcpyControlMessageType["ExpandSettingPanel"] = 6] = "ExpandSettingPanel"; ScrcpyControlMessageType[ScrcpyControlMessageType["CollapseNotificationPanel"] = 7] = "CollapseNotificationPanel"; ScrcpyControlMessageType[ScrcpyControlMessageType["GetClipboard"] = 8] = "GetClipboard"; ScrcpyControlMessageType[ScrcpyControlMessageType["SetClipboard"] = 9] = "SetClipboard"; ScrcpyControlMessageType[ScrcpyControlMessageType["SetScreenPowerMode"] = 10] = "SetScreenPowerMode"; ScrcpyControlMessageType[ScrcpyControlMessageType["RotateDevice"] = 11] = "RotateDevice"; })(ScrcpyControlMessageType || (ScrcpyControlMessageType = {})); /** * Scrcpy control message types have different values between versions. * * This class provides a way to get the actual value for a given type. */ export class ScrcpyControlMessageTypeValue { #types; constructor(options) { this.#types = options.controlMessageTypes; } get(type) { const value = this.#types.indexOf(type); if (value === -1) { throw new TypeError("Invalid or unsupported control message type"); } return value; } fillMessageType(message, type) { message.type = this.get(type); return message; } } //# sourceMappingURL=type.js.map