1# Introduction to Input Kit
2
3## Function Description
4
5Input Kit provides services for a plurality of input devices, such as the touchpad, touchscreen, mouse, and keyboard. It normalizes various input events to ensure unified and smooth experience for users when interacting with different input devices. In addition to the basic input event services, Input Kit allows you to obtain the device list and change the mouse pointer style.
6
7
8
9## How Input Kit Works
10As a basic service provided by the system for applications, Input Kit fulfills input device management as well as input event receiving, preprocessing, and distribution, and reports the input events to applications through the inner SDK and JSkit. The operation mechanism is as follows:
11
12![MMI-operation](figures/MMI-operation.png)
13
14<!--Del-->
15## Constraints
16
171. Before using the following functions, declare the corresponding permissions.
18
19  | API | Description| Permission|
20  | ------------------------------------------------------------ | -------------------------- |-----|
21  | setShieldStatus(shieldMode: ShieldMode, isShield: boolean): void | Sets the key shielding status.|ohos.permission.INPUT_CONTROL_DISPATCHING|
22  | getShieldStatus(shieldMode: ShieldMode): boolean | Checks whether key shielding is enabled.|ohos.permission.INPUT_CONTROL_DISPATCHING|
23
242. The APIs provided by the [inputConsumer](inputconsumer-guidelines.md), [inputEventClient](inputeventclient-guidelines.md), [inputMonitor](inputmonitor-guidelines.md), and [shortKey](shortkey-guidelines.md) modules are system APIs. Wherein, the APIs provided by the [inputMonitor](inputmonitor-guidelines.md) module require the **ohos.permission.INPUT_MONITORING** permission.
25
26<!--DelEnd-->
27