/** * Types of remote MMIs */ export enum RemoteMmiType { MMI_TYPE_PC = 0, MMI_TYPE_PHONE = 1, MMI_TYPE_VOLUP = 2, MMI_TYPE_VOLDOWN = 3, MMI_TYPE_MUTE = 4, MMI_TYPE_HOOK = 5, MMI_TYPE_HOOK_OFF = 6, MMI_TYPE_HOOK_ON = 7, MMI_TYPE_BLUETOOTH = 8, MMI_TYPE_TEAMS = 9, } /** * Remote MMI sequences, used to identify supported output LEDs (as a bitmask) * and for setting the output LEDs (single bit). */ export enum RemoteMmiSequence { MMI_LED_SEQUENCE_OFF = 0x01, MMI_LED_SEQUENCE_ON = 0x02, MMI_LED_SEQUENCE_SLOW = 0x04, MMI_LED_SEQUENCE_FAST = 0x08 } /** * Remote MMI priorities. */ export enum RemoteMmiPriority { /** * Used for remote MMIs that does not support priority. */ MMI_PRIORITY_NONE = 0x00, /** * Get remote MMI focus if device doesn't use it or no function is assigned * to the button. */ MMI_PRIORITY_LOW = 0x01, /** * Get remote MMI focus unconditionally, this can remove important * functionality from the device. */ MMI_PRIORITY_HIGH = 0x02 } /** * Action output interface for Remote Mmi. */ export interface RemoteMmiActionOutput { /** Red LED output component to set. */ red: number; /** Green LED output component to set. */ green: number; /** Blue LED output component to set. */ blue: number; /** Output sequence to set. */ sequence: RemoteMmiSequence; } /** * Supported remote MMI output LED colours. */ export interface RemoteMmiOutput { /** Red LED supported. */ red: number; /** Green LED supported. */ green: number; /** Blue LED supported. */ blue: number; } /** * Remote MMI input actions. * Remote MMI input, used to identify supported input actions (as a bitmask) * and for reporting input events via the RemoteMmiCallback callback * (as single bit). */ export enum RemoteMmiInput { MMI_ACTION_NONE = 0x00, MMI_ACTION_CLICK = 0x01, MMI_ACTION_DBCLICK = 0x02, MMI_ACTION_BOUNCE = 0x04, MMI_ACTION_LONGPRE = 0x08, MMI_ACTION_LONGBOUNCE = 0x10, } /** * Remote MMI definitions for the supported MMIs. */ export interface RemoteMmiDefinition { /** Supported type. */ type: RemoteMmiType; /** Mask of supported priorities. */ priorityMask: RemoteMmiPriority; /** Mask of supported output LED sequences. */ sequenceMask: RemoteMmiSequence; /** Mask of supported inputs. */ inputMask: RemoteMmiInput; /** Supported output LED colours. */ output: RemoteMmiOutput; } export interface RemoteMmiDefinition { remoteMmiDef: Array<{ type: RemoteMmiType, priorityMask: RemoteMmiPriority, sequenceMask: RemoteMmiSequence, inputMask: RemoteMmiInput, output: RemoteMmiOutput }>; }