@ohos.multimodalInput.inputMonitor (Input Monitor) (System API)
The inputMonitor module implements listening for events of input devices, including the touchscreen, mouse, touchpad, etc.
NOTE
The initial APIs of this module are supported since API version 7. Newly added APIs will be marked with a superscript to indicate their earliest API version.
In this document, global indicates the entire touchscreen or touchpad. For example, listening for global touch events means to listen for touch events of the entire touchpad when a user touches at any position on the touchpad.
The APIs provided by this module are system APIs.
Modules to Import
import inputMonitor from '@ohos.multimodalInput.inputMonitor';
inputMonitor.on('touch')
on(type: 'touch', receiver: TouchEventReceiver): void
Enables listening for global touch (touchscreen) events.
Required permissions: ohos.permission.INPUT_MONITORING
System capability: SystemCapability.MultimodalInput.Input.InputMonitor
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
type | string | Yes | Event type. This field has a fixed value of touch. |
receiver | TouchEventReceiver | Yes | Callback used to return touch events asynchronously. |
Example
import { TouchEvent } from '@ohos.multimodalInput.touchEvent';
try {
inputMonitor.on('touch', (touchEvent: TouchEvent) => {
console.log(`Monitor on success ${JSON.stringify(touchEvent)}`);
return false;
});
} catch (error) {
console.log(`Monitor on failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
inputMonitor.on('mouse')9+
on(type: 'mouse', receiver: Callback<MouseEvent>): void
Enables listening for global mouse events.
Required permissions: ohos.permission.INPUT_MONITORING
System capability: SystemCapability.MultimodalInput.Input.InputMonitor
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
type | string | Yes | Event type. This field has a fixed value of mouse. |
receiver | Callback<MouseEvent> | Yes | Callback used to return mouse events asynchronously. |
Example
import { MouseEvent } from '@ohos.multimodalInput.mouseEvent';
try {
inputMonitor.on('mouse', (mouseEvent: MouseEvent) => {
console.log(`Monitor on success ${JSON.stringify(mouseEvent)}`);
return false;
});
} catch (error) {
console.log(`Monitor on failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
inputMonitor.on('mouse')11+
on(type: 'mouse', rect: display.Rect[], receiver: Callback<MouseEvent>): void
Enables listening for mouse events. When the mouse pointer moves to the specified rectangular area, a callback is triggered.
Required permissions: ohos.permission.INPUT_MONITORING
System capability: SystemCapability.MultimodalInput.Input.InputMonitor
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
type | string | Yes | Event type. This field has a fixed value of mouse. |
rect | display.Rect[] | Yes | Rectangular area where a callback is triggered. One or two rectangular areas can be specified. |
receiver | Callback<MouseEvent> | Yes | Callback used to return mouse events asynchronously. |
Example
import { MouseEvent } from '@ohos.multimodalInput.mouseEvent';
import promptAction from '@ohos.promptAction'
import display from '@ohos.display';
/**
* Callback triggered when the mouse pointer moves to the specified rectangular area.
*/
function callback(mouseEvent : MouseEvent) {
promptAction.showToast({
message: `Monitor on success: ${JSON.stringify(mouseEvent)}`
})
console.log(`Monitor on success ${JSON.stringify(mouseEvent)}`);
return false;
};
/**
* Rectangular area where a callback is triggered.
*/
let rect: display.Rect[] = [{
left: 100,
top: 100,
width: 100,
height: 100
}, {
left: 600,
top: 100,
width: 100,
height: 100
}];
try {
inputMonitor.on('mouse', rect, callback);
} catch (error) {
console.log(`Monitor on failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
inputMonitor.off('touch')
off(type: 'touch', receiver?: TouchEventReceiver): void
Disables listening for global touch (touchscreen) events.
Required permissions: ohos.permission.INPUT_MONITORING
System capability: SystemCapability.MultimodalInput.Input.InputMonitor
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
type | string | Yes | Event type. This field has a fixed value of touch. |
receiver | TouchEventReceiver | No | Callback for which listening is disabled. If this parameter is not specified, listening will be disabled for all callbacks registered by the current application. |
Example
import { TouchEvent } from '@ohos.multimodalInput.touchEvent';
// Disable listening for a single callback.
let callback = (touchEvent: TouchEvent) => {
console.log(`Monitor on success ${JSON.stringify(touchEvent)}`);
return false;
};
try {
inputMonitor.on('touch', callback);
inputMonitor.off('touch', callback);
console.log(`Monitor off success`);
} catch (error) {
console.log(`Monitor execute failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
import { TouchEvent } from '@ohos.multimodalInput.touchEvent';
// Cancel listening for all callbacks.
let callback = (touchEvent: TouchEvent) => {
console.log(`Monitor on success ${JSON.stringify(touchEvent)}`);
return false;
};
try {
inputMonitor.on('touch', callback);
inputMonitor.off('touch');
console.log(`Monitor off success`);
} catch (error) {
console.log(`Monitor execute failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
inputMonitor.off('mouse')9+
off(type: 'mouse', receiver?: Callback<MouseEvent>): void
Disables listening for global mouse events.
Required permissions: ohos.permission.INPUT_MONITORING
System capability: SystemCapability.MultimodalInput.Input.InputMonitor
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
type | string | Yes | Event type. This field has a fixed value of mouse. |
receiver | Callback<MouseEvent> | No | Callback for which listening is disabled. If this parameter is not specified, listening will be disabled for all callbacks registered by the current application. |
Example
import { MouseEvent } from '@ohos.multimodalInput.mouseEvent';
// Disable listening for a single callback.
let callback = (mouseEvent: MouseEvent) => {
console.log(`Monitor on success ${JSON.stringify(mouseEvent)}`);
return false;
};
try {
inputMonitor.on('mouse', callback);
inputMonitor.off('mouse', callback);
console.log(`Monitor off success`);
} catch (error) {
console.log(`Monitor execute failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
import { MouseEvent } from '@ohos.multimodalInput.mouseEvent';
// Cancel listening for all callbacks.
let callback = (mouseEvent: MouseEvent) => {
console.log(`Monitor on success ${JSON.stringify(mouseEvent)}`);
return false;
};
try {
inputMonitor.on('mouse', callback);
inputMonitor.off('mouse');
console.log(`Monitor off success`);
} catch (error) {
console.log(`Monitor execute failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
TouchEventReceiver
(touchEvent: TouchEvent): Boolean
Defines the callback for touch (touchscreen) events.
Required permissions: ohos.permission.INPUT_MONITORING
System capability: SystemCapability.MultimodalInput.Input.InputMonitor
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
touchEvent | TouchEvent | Yes | Touch event. |
Return value
Type | Description |
---|---|
Boolean | Result indicating whether the touch event will be dispatched to the window. The value true indicates that the touch event will be dispatched to the window, and the value false indicates the opposite. |
Example
import { TouchEvent } from '@ohos.multimodalInput.touchEvent';
try {
inputMonitor.on('touch', touchEvent => {
if (touchEvent.touches.length == 3) {// Three fingers are pressed.
return true;
}
return false;
});
} catch (error) {
console.log(`Monitor on failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
inputMonitor.on('pinch')10+
on(type: 'pinch', receiver: Callback<Pinch>): void
Enables listening for global touchpad pinch events.
Required permissions: ohos.permission.INPUT_MONITORING
System capability: SystemCapability.MultimodalInput.Input.InputMonitor
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
type | string | Yes | Event type. This field has a fixed value of pinch. |
receiver | Callback<Pinch> | Yes | Callback used to return pinch events asynchronously. |
Example
import type { Pinch } from '@ohos.multimodalInput.gestureEvent';
try {
inputMonitor.on('pinch', (pinchEvent) => {
console.log(`Monitor on success ${JSON.stringify(pinchEvent)}`);
return false;
});
} catch (error) {
console.log(`Monitor on failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
inputMonitor.off('pinch')10+
off(type: 'pinch', receiver?: Callback<Pinch>): void
Disables listening for global touchpad pinch events.
Required permissions: ohos.permission.INPUT_MONITORING
System capability: SystemCapability.MultimodalInput.Input.InputMonitor
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
type | string | Yes | Event type. This field has a fixed value of pinch. |
receiver | Callback<Pinch> | No | Callback for which listening is disabled. If this parameter is not specified, listening will be disabled for all callbacks registered by the current application. |
Example
// Disable listening for a single callback.
import { Pinch } from '@ohos.multimodalInput.gestureEvent';
let callback = (pinchEvent: Pinch) => {
console.log(`Monitor on success ${JSON.stringify(pinchEvent)}`);
return false;
};
try {
inputMonitor.on('pinch', callback);
inputMonitor.off('pinch', callback);
console.log(`Monitor off success`);
} catch (error) {
console.log(`Monitor execute failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
// Cancel listening for all callbacks.
import { Pinch } from '@ohos.multimodalInput.gestureEvent';
let callback = (pinchEvent: Pinch) => {
console.log(`Monitor on success ${JSON.stringify(pinchEvent)}`);
return false;
};
try {
inputMonitor.on('pinch', callback);
inputMonitor.off('pinch');
console.log(`Monitor off success`);
} catch (error) {
console.log(`Monitor execute failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
inputMonitor.on('threeFingersSwipe')10+
on(type: 'threeFingersSwipe', receiver: Callback<ThreeFingersSwipe>): void
Enables listening for three-finger swipe events.
Required permissions: ohos.permission.INPUT_MONITORING
System capability: SystemCapability.MultimodalInput.Input.InputMonitor
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
type | string | Yes | Event type. This field has a fixed value of threeFingersSwipe. |
receiver | Callback<ThreeFingersSwipe> | Yes | Callback used to return three-finger swipe events asynchronously. |
Example
try {
inputMonitor.on('threeFingersSwipe', (threeFingersSwipe) => {
console.log(`Monitor on success ${JSON.stringify(threeFingersSwipe)}`);
return false;
});
} catch (error) {
console.log(`Monitor on failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
inputMonitor.off('threeFingersSwipe')10+
off(type: 'threeFingersSwipe', receiver?: Callback<ThreeFingersSwipe>): void
Disables listening for three-finger swipe events.
Required permissions: ohos.permission.INPUT_MONITORING
System capability: SystemCapability.MultimodalInput.Input.InputMonitor
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
type | string | Yes | Event type. This field has a fixed value of threeFingersSwipe. |
receiver | Callback<ThreeFingersSwipe> | No | Callback for which listening is disabled. If this parameter is not specified, listening will be disabled for all callbacks registered by the current application. |
Example
// Disable listening for a single callback.
import { ThreeFingersSwipe } from '@ohos.multimodalInput.gestureEvent';
let callback = (threeFingersSwipe: ThreeFingersSwipe) => {
console.log(`Monitor on success ${JSON.stringify(threeFingersSwipe)}`);
return false;
};
try {
inputMonitor.on('threeFingersSwipe', callback);
inputMonitor.off("threeFingersSwipe", callback);
console.log(`Monitor off success`);
} catch (error) {
console.log(`Monitor execute failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
// Cancel listening for all callbacks.
import { ThreeFingersSwipe } from '@ohos.multimodalInput.gestureEvent';
let callback = (threeFingersSwipe: ThreeFingersSwipe) => {
console.log(`Monitor on success ${JSON.stringify(threeFingersSwipe)}`);
return false;
};
try {
inputMonitor.on("threeFingersSwipe", callback);
inputMonitor.off("threeFingersSwipe");
console.log(`Monitor off success`);
} catch (error) {
console.log(`Monitor execute failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
inputMonitor.on('fourFingersSwipe')10+
on(type: 'fourFingersSwipe', receiver: Callback<FourFingersSwipe>): void
Enables listening for four-finger swipe events.
Required permissions: ohos.permission.INPUT_MONITORING
System capability: SystemCapability.MultimodalInput.Input.InputMonitor
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
type | string | Yes | Event type. This field has a fixed value of fourFingersSwipe. |
receiver | Callback<FourFingersSwipe> | Yes | Callback used to return four-finger swipe events asynchronously. |
Example
try {
inputMonitor.on('fourFingersSwipe', (fourFingersSwipe) => {
console.log(`Monitor on success ${JSON.stringify(fourFingersSwipe)}`);
return false;
});
} catch (error) {
console.log(`Monitor on failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
inputMonitor.off('fourFingersSwipe')10+
off(type: 'fourFingersSwipe', receiver?: Callback<FourFingersSwipe>): void
Disables listening for four-finger swipe events.
Required permissions: ohos.permission.INPUT_MONITORING
System capability: SystemCapability.MultimodalInput.Input.InputMonitor
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
type | string | Yes | Event type. This field has a fixed value of fourFingersSwipe. |
receiver | Callback<FourFingersSwipe> | No | Callback for which listening is disabled. If this parameter is not specified, listening will be disabled for all callbacks registered by the current application. |
Example
// Disable listening for a single callback.
import { FourFingersSwipe } from '@ohos.multimodalInput.gestureEvent';
let callback = (fourFingersSwipe: FourFingersSwipe) => {
console.log(`Monitor on success ${JSON.stringify(fourFingersSwipe)}`);
return false;
};
try {
inputMonitor.on('fourFingersSwipe', callback);
inputMonitor.off('fourFingersSwipe', callback);
console.log(`Monitor off success`);
} catch (error) {
console.log(`Monitor execute failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
// Cancel listening for all callbacks.
import { FourFingersSwipe } from '@ohos.multimodalInput.gestureEvent';
let callback = (fourFingersSwipe: FourFingersSwipe) => {
console.log(`Monitor on success ${JSON.stringify(fourFingersSwipe)}`);
return false;
};
try {
inputMonitor.on('fourFingersSwipe', callback);
inputMonitor.off('fourFingersSwipe');
console.log(`Monitor off success`);
} catch (error) {
console.log(`Monitor execute failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
inputMonitor.on('rotate')11+
on(type: 'rotate', fingers: number, receiver: Callback<Rotate>): void
Enables listening for rotation events of the touchpad.
Required permissions: ohos.permission.INPUT_MONITORING
System capability: SystemCapability.MultimodalInput.Input.InputMonitor
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
type | string | Yes | Event type. This field has a fixed value of rotate. |
fingers | number | Yes | Number of fingers that trigger a rotation. The value must not be greater than 2. |
receiver | Callback<Rotate> | Yes | Callback used to return rotation events asynchronously. |
Example
import type { Rotate } from '@ohos.multimodalInput.gestureEvent';
try {
inputMonitor.on('rotate', 2, (rotateEvent: Rotate) => {
console.log(`Monitor on success ${JSON.stringify(rotateEvent)}`);
return false;
});
} catch (error) {
console.log(`Monitor on failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
inputMonitor.off('rotate')11+
off(type: 'rotate', fingers: number, receiver?: Callback<Rotate>): void
Disables listening for rotation events of the touchpad.
Required permissions: ohos.permission.INPUT_MONITORING
System capability: SystemCapability.MultimodalInput.Input.InputMonitor
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
type | string | Yes | Event type. This field has a fixed value of rotate. |
fingers | number | Yes | Number of fingers that trigger a rotation. The value must not be greater than 2. |
receiver | Callback<Rotate> | No | Callback for which listening is disabled. If this parameter is not specified, listening will be disabled for all callbacks registered by the current application. |
Example
// Disable listening for a single callback.
import { Rotate } from '@ohos.multimodalInput.gestureEvent';
let callback = (rotateEvent: Rotate) => {
console.log(`Monitor on success ${JSON.stringify(rotateEvent)}`);
return false;
};
try {
inputMonitor.on('rotate', 2, callback);
inputMonitor.off('rotate', 2, callback);
console.log(`Monitor off success`);
} catch (error) {
console.log(`Monitor execute failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
// Cancel listening for all callbacks.
import { Rotate } from '@ohos.multimodalInput.gestureEvent';
let callback = (rotateEvent: Rotate) => {
console.log(`Monitor on success ${JSON.stringify(rotateEvent)}`);
return false;
};
try {
inputMonitor.on('rotate', 2, callback);
inputMonitor.off('rotate', 2);
console.log(`Monitor off success`);
} catch (error) {
console.log(`Monitor execute failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
inputMonitor.on('pinch')11+
on(type: 'pinch', fingers: number, receiver: Callback<Pinch>): void
Enables listening for global touchpad pinch events.
Required permissions: ohos.permission.INPUT_MONITORING
System capability: SystemCapability.MultimodalInput.Input.InputMonitor
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
type | string | Yes | Event type. This field has a fixed value of pinch. |
fingers | number | Yes | Number of fingers that trigger the pinch. The value must be greater than or equal to 2. |
receiver | Callback<Pinch> | Yes | Callback used to return pinch events asynchronously. |
Example
import type { Pinch } from '@ohos.multimodalInput.gestureEvent';
try {
inputMonitor.on('pinch', 2, (pinchEvent: Pinch) => {
console.log(`Monitor on success ${JSON.stringify(pinchEvent)}`);
return false;
});
} catch (error) {
console.log(`Monitor on failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
inputMonitor.off('pinch')11+
off(type: 'pinch', fingers: number, receiver?: Callback<Pinch>): void
Disables listening for global touchpad pinch events.
Required permissions: ohos.permission.INPUT_MONITORING
System capability: SystemCapability.MultimodalInput.Input.InputMonitor
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
type | string | Yes | Event type. This field has a fixed value of pinch. |
fingers | number | Yes | Number of fingers that trigger the pinch. The value must be greater than or equal to 2. |
receiver | Callback<Pinch> | No | Callback for which listening is disabled. If this parameter is not specified, listening will be disabled for all callbacks registered by the current application. |
Example
// Disable listening for a single callback.
import { Pinch } from '@ohos.multimodalInput.gestureEvent';
let callback = (pinchEvent: Pinch) => {
console.log(`Monitor on success ${JSON.stringify(pinchEvent)}`);
return false;
};
try {
inputMonitor.on('pinch', 2, callback);
inputMonitor.off('pinch', 2, callback);
console.log(`Monitor off success`);
} catch (error) {
console.log(`Monitor execute failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
// Cancel listening for all callbacks.
import { Pinch } from '@ohos.multimodalInput.gestureEvent';
let callback = (pinchEvent: Pinch) => {
console.log(`Monitor on success ${JSON.stringify(pinchEvent)}`);
return false;
};
try {
inputMonitor.on('pinch', 2, callback);
inputMonitor.off('pinch', 2);
console.log(`Monitor off success`);
} catch (error) {
console.log(`Monitor execute failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
inputMonitor.on('threeFingersTap')11+
on(type: 'threeFingersTap', receiver: Callback<ThreeFingersTap>): void
Enables listening for three-finger tap events.
Required permissions: ohos.permission.INPUT_MONITORING
System capability: SystemCapability.MultimodalInput.Input.InputMonitor
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
type | string | Yes | Event type. This field has a fixed value of threeFingersTap. |
receiver | Callback<ThreeFingersTap> | Yes | Callback used to return three-finger tap events asynchronously. |
Example
try {
inputMonitor.on('threeFingersTap', (threeFingersTap) => {
console.log(`Monitor on success ${JSON.stringify(threeFingersTap)}`);
return false;
});
} catch (error) {
console.log(`Monitor on failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
inputMonitor.off('threeFingersTap')11+
off(type: 'threeFingersTap', receiver?: Callback<ThreeFingersTap>): void
Disables listening for three-finger tap events.
Required permissions: ohos.permission.INPUT_MONITORING
System capability: SystemCapability.MultimodalInput.Input.InputMonitor
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
type | string | Yes | Event type. This field has a fixed value of threeFingersTap. |
receiver | Callback<ThreeFingersTap> | No | Callback for which listening is disabled. If this parameter is not specified, listening will be disabled for all callbacks registered by the current application. |
Example
// Disable listening for a single callback.
import { ThreeFingersTap } from '@ohos.multimodalInput.gestureEvent';
let callback = (threeFingersTap: ThreeFingersTap) => {
console.log(`Monitor on success ${JSON.stringify(threeFingersTap)}`);
return false;
};
try {
inputMonitor.on('threeFingersTap', callback);
inputMonitor.off("threeFingersTap", callback);
console.log(`Monitor off success`);
} catch (error) {
console.log(`Monitor execute failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
// Cancel listening for all callbacks.
import { ThreeFingersTap } from '@ohos.multimodalInput.gestureEvent';
let callback = (threeFingersTap: ThreeFingersTap) => {
console.log(`Monitor on success ${JSON.stringify(threeFingersTap)}`);
return false;
};
try {
inputMonitor.on('threeFingersTap', callback);
inputMonitor.off("threeFingersTap");
console.log(`Monitor off success`);
} catch (error) {
console.log(`Monitor execute failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}