# multimodalinput\_input - [Introduction](#section11660541593) - [Directory Structure](#section14408467105) - [Usage](#section18111235161011) - [Available APIs](#section86358081116) - [Usage Guidelines](#section789634518111) - [Equipment Capability Support](#section789634518112) - [Repositories Involved](#section135327891219) ## Introduction The module of this repository is applied on the basis of standard systems to provide devices with single-touch input capabilities. This module reports touch events to the JS UI framework or application framework, which then encapsulates the events and provides APIs for apps. ## Directory Structure ``` /foundation/multimodalinput/input ├── interfaces # External APIs │ └── native # Native APIs │ └── innerkits # Native APIs provided for internal subsystems ├── service # Service framework code ├── sa_profile # Service startup configuration file ├── uinput # Input event injection module ``` ## Usage ### Available APIs Available APIs of Multimodal Input are event injection ones, which are open only to system apps currently. - The **inputEventClient** class provides methods for processing injection events. **Table 1** Major APIs in inputEventClient

Category

API

Description

Event injection

function injectEvent({KeyEvent: KeyEvent}): void;

Injects events.

### Usage Guidelines Currently, only the **BACK** key event can be injected. When a system app needs to return to the previous directory, you can call the API to inject the **BACK** key event to Multimodal Input, which then transfers this event to the system app, thereby achieving the return effect. The example code is as follows: ``` // Import the required JavaScript API library. import input from '@ohos.multimodalInput.inputEventClient' // Call the API for injecting events. var keyEvent = { isPressed:true, // Action type of the key event. true indicates that the key is being pressed down, and false indicates that the key is being released. code:2, // Keycode for the key, for example, 2 for the BACK key. keyDownDuration:10, // Duration in which the current key is pressed down before it is released, in milliseconds. }; var res = input.injectEvent({ KeyEvent: keyEvent }); ``` >![](figures/icon-note.gif) **NOTE:** >The new APIs must be compatible with the original capabilities. ### Equipment Capability Support | device | touch | touchpad | mouse | keyboard | | :---------: | :---: | :------: | :---: | :------: | | rk3568 | Y | Y | Y | Y | | hi3516dv300 | Y | N | N | N | ## Repositories Involved Multimodal input subsystem **multimodalinput\_input**