# InputReporter - [Overview](#section1071467766165631) - [Summary](#section42665863165631) - [Data Fields](#pub-attribs) - [Details](#section1227693544165631) - [Field](#section1743608718165631) - [GetInputEvent](#a879d9272d932f566e667b7e768b5530e) - [RegisterReportCallback](#a8cbea98a78a293bc8ab6f41c6adeb675) - [UnregisterReportCallback](#a8c10af61e0c73c91292b806a7ea1d069) ## **Overview** **Related Modules:** [Input](Input.md) **Description:** Provides interfaces for reporting event data of input devices. The interfaces include the callback for reporting the input event data and the functions for obtaining the data in polling mode. ## **Summary** ## Data Fields

Variable Name

Description

RegisterReportCallback )(uint32_t devIndex, InputReportEventCb *callback)

int32_t(*

Registers a callback for reporting subscribed data of specified input devices.

UnregisterReportCallback )(uint32_t devIndex)

int32_t(*

Unregisters the callback for reporting subscribed data of specified input devices.

GetInputEvent )(uint32_t devIndex, InputEventData *eventData)

int32_t(*

Gets the input event data.

## **Details** ## **Field ** ## GetInputEvent ``` int32_t(* InputReporter::GetInputEvent) (uint32_t devIndex, [InputEventData](InputEventData.md) *eventData) ``` **Description:** Gets the input event data. This function enables the input service to proactively obtain the input event data in polling mode. **Parameters:**

Name

Description

devIndex Indicates the index of an input device. A maximum of 32 input devices are supported. The value ranges from 0 to 31, and value 0 represents the first input device.
eventData Indicates the pointer to the input event data reported by the input driver.
**Returns:** Returns **0** if the operation is successful; returns an error code defined in [RetStatus](Input.md#ga85d58a5185669daa4995e332b63eba7a) otherwise. ## RegisterReportCallback ``` int32_t(* InputReporter::RegisterReportCallback) (uint32_t devIndex, [InputReportEventCb](InputReportEventCb.md) *callback) ``` **Description:** Registers a callback for reporting subscribed data of specified input devices. After this callback is successfully registered, the driver can report the input event data to the input service through this callback. **Parameters:**

Name

Description

devIndex Indicates the index of an input device. A maximum of 32 input devices are supported. The value ranges from 0 to 31, and value 0 represents the first input device.
callback Indicates the pointer to the callback to register.
**Returns:** Returns **0** if the operation is successful; returns an error code defined in [RetStatus](Input.md#ga85d58a5185669daa4995e332b63eba7a) otherwise. ## UnregisterReportCallback ``` int32_t(* InputReporter::UnregisterReportCallback) (uint32_t devIndex) ``` **Description:** Unregisters the callback for reporting subscribed data of specified input devices. **Parameters:**

Name

Description

devIndex Indicates the index of an input device. A maximum of 32 input devices are supported. The value ranges from 0 to 31, and value 0 represents the first input device.
**Returns:** Returns **0** if the operation is successful; returns an error code defined in [RetStatus](Input.md#ga85d58a5185669daa4995e332b63eba7a) otherwise.