RDK Documentation (Open Sourced RDK Components)

IR Manager is an application that publishes Remote Key events to other applications. This manager receives IR signals from driver and dispatch it to all registered listeners on IARM Bus. IR manager sends these IR events to other applications.

IR Manager: Events
IR Manager: RPC Methods

IR manager publishes two RPC Methods such as SetRepeatKeyInterval and GetRepeatKeyInterval. Other application can invoke these methods to determine how often a repeat key is sent when the IR key is held own by the user.

How to register callback function with HAL to receive the IR keys
This function must initialize all the IR specific user input device modules.
Callback prototype
The event data contains Key type and Key code of the pressed IR Key.
typedef void (*PLAT_IrKeyCallback_t)(int keyType, int keyCode);
IARM_BUS_IRMGR_EVENT_IRKEY
@ IARM_BUS_IRMGR_EVENT_IRKEY
Definition: irMgr.h:220
IARM_Bus_Call
IARM_Result_t IARM_Bus_Call(const char *ownerName, const char *methodName, void *arg, size_t argLen)
This API is used to Invoke RPC method by its application name and method name.
Definition: iarm_bus.c:57
PLAT_API_RegisterIRKeyCallback
void PLAT_API_RegisterIRKeyCallback(PLAT_IrKeyCallback_t func)
This API must registers a callback function to which IR Key events should be posted.
_IARM_Bus_IRMgr_SetRepeatInterval_Param_t
Definition: irMgr.h:256
IARM_Bus_RegisterEventHandler
IARM_Result_t IARM_Bus_RegisterEventHandler(const char *ownerName, IARM_EventId_t eventId, IARM_EventHandler_t handler)
This API register to listen to event and provide the callback function for event notification....
Definition: iarmMgrMocks.cpp:43
PLAT_IrKeyCallback_t
void(* PLAT_IrKeyCallback_t)(int keyType, int keyCode)
IR Input key event handler callback function type definition.
Definition: plat_ir.h:111
IARM_BUS_IRMGR_API_GetRepeatInterval
#define IARM_BUS_IRMGR_API_GetRepeatInterval
Definition: irMgr.h:261
IARM_Bus_BroadcastEvent
IARM_Result_t IARM_Bus_BroadcastEvent(const char *ownerName, IARM_EventId_t eventId, void *data, size_t len)
This API is used to publish an Asynchronous event to all IARM client registered for this perticular e...
IARM_BUS_IRMGR_NAME
#define IARM_BUS_IRMGR_NAME
Definition: irMgr.h:216
keyType
Definition: reset.c:85
_IRMgr_EventData_t
Definition: irMgr.h:235
IARM_BUS_IRMGR_API_SetRepeatInterval
#define IARM_BUS_IRMGR_API_SetRepeatInterval
Definition: irMgr.h:253