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.
/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
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
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
});
NOTE: The new APIs must be compatible with the original capabilities.
device | touch | touchpad | mouse | keyboard |
---|---|---|---|---|
rk3568 | Y | Y | Y | Y |
hi3516dv300 | Y | N | N | N |
Multimodal input subsystem
multimodalinput_input