# 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
## **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.