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
- IARM_BUS_IRMGR_EVENT_IRKEY
The Event Data contains Key Code and Key Type of the pressed IR key. This enum is used to notify IR Key events.
Example:
eventData.data.irkey.keyType = KET_KEYUP;
eventData.data.irkey.keyCode = prevEventData.data.irkey.keyCode;
(void *)&eventData, sizeof(eventData));
- IARM_BUS_RF4CEMGR_EVENT_KEY
The RF4CE fetches the user key and that will pass to UEI's quickset application, that will then fetch the requested TV's IR codeset. UEI's fetch mechanism can be local or non local (Cloud based). Once the requested TV IR codeset has been retrieved , it will then be programmed into the remote via API calls. Ultimately, this will allow the XR device to control the following keys on a given TV. It support for the various keys such as OK, TV input, Volume UP, Volume Down, Mute Toggle power, Discrete Power ON, Discrete Power OFF, and so on.
void _rf4ceEventHandler(const char *owner, IARM_EventId_t eventId, void *data, size_t len);
- 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.
- IARM_BUS_IRMGR_API_SetRepeatInterval
This API is used to set the repeat key event interval.
Example:
param. timeout = 200;
(void *)¶m, siizeof(param));
- IARM_BUS_IRMGR_API_GetRepeatInterval
This is used to retrieves the current key repeat interval.
Example:
(void *)¶m, sizeof(param));
- 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.