js-apis-inputmonitor.md 4.5 KB
Newer Older
Z
zengyawen 已提交
1 2 3 4 5
# 输入监听


> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> - 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
H
HelloCrease 已提交
6
>
Z
zengyawen 已提交
7 8 9 10 11 12
> - 本模块接口均为系统接口,三方应用不支持调用。


## 导入模块


M
mayunteng_1 已提交
13
```js
Z
zengyawen 已提交
14 15 16 17 18 19 20 21 22 23 24 25 26
import inputMonitor from '@ohos.multimodalInput.inputMonitor';
```


## 权限

ohos.permission.INPUT_MONITORING


## inputMonitor.on

on(type: "touch", receiver: TouchEventReceiver): void

M
mayunteng_1 已提交
27
开始监听全局触屏事件。
Z
zengyawen 已提交
28 29 30 31 32 33

**需要权限:**ohos.permission.INPUT_MONITORING

**系统能力:**SystemCapability.MultimodalInput.Input.InputMonitor

  **参数:**
M
mayunteng_1 已提交
34 35 36 37
| 参数     | 类型                                      | 必填 | 说明                            |
| -------- | ----------------------------------------- | ---- | ------------------------------- |
| type     | string                                    | 是   | 监听输入事件类型,取值“touch”。 |
| receiver | [TouchEventReceiver](#toucheventreceiver) | 是   | 触摸输入事件回调函数。          |
Z
zengyawen 已提交
38 39 40

  **示例:**

M
mayunteng_1 已提交
41
```js
42 43 44 45
inputMonitor.off("touch", (event) => {
  // 消费触屏事件
  return false;
});
Z
zengyawen 已提交
46 47
```

M
mayunteng_1 已提交
48 49 50 51
on(type: "mouse", receiver: TouchEventReceiver): void

开始监听全局鼠标事件。

M
mayunteng_1 已提交
52
**需要权限:** ohos.permission.INPUT_MONITORING
M
mayunteng_1 已提交
53

M
mayunteng_1 已提交
54
**系统能力:** SystemCapability.MultimodalInput.Input.InputMonitor
M
mayunteng_1 已提交
55

M
mayunteng_1 已提交
56
  **参数:** 
M
mayunteng_1 已提交
57

M
mayunteng_1 已提交
58 59 60 61
| 参数     | 类型                 | 必填 | 说明                            |
| -------- | -------------------- | ---- | ------------------------------- |
| type     | string               | 是   | 监听输入事件类型,取值“mouse”。 |
| receiver | Callback<MouseEvent> | 是   | 鼠标输入事件回调函数。          |
M
mayunteng_1 已提交
62 63 64

  **示例:**

M
mayunteng_1 已提交
65
```js
66 67 68
inputMonitor.off("mouse", (event) => {
  // 消费鼠标事件
});
M
mayunteng_1 已提交
69 70 71
```


Z
zengyawen 已提交
72 73 74 75 76

## inputMonitor.off

off(type: "touch", receiver: TouchEventReceiver): void

M
mayunteng_1 已提交
77
开始监听全局触屏事件。
Z
zengyawen 已提交
78 79 80 81 82 83

**需要权限:**ohos.permission.INPUT_MONITORING

**系统能力:**SystemCapability.MultimodalInput.Input.InputMonitor

  **参数:**
M
mayunteng_1 已提交
84 85 86 87
| 参数     | 类型                                      | 必填 | 说明                            |
| -------- | ----------------------------------------- | ---- | ------------------------------- |
| type     | string                                    | 是   | 监听输入事件类型,取值“touch”。 |
| receiver | [TouchEventReceiver](#toucheventreceiver) | 否   | 触摸输入事件回调函数。          |
Z
zengyawen 已提交
88 89 90

  **示例:**

M
mayunteng_1 已提交
91
```js
92
inputMonitor.off("touch");
Z
zengyawen 已提交
93 94
```

M
mayunteng_1 已提交
95 96 97 98 99 100 101 102 103 104
off(type: "mouse", receiver?: Callback<MouseEvent>): void

停止监听全局鼠标事件。

**需要权限:**ohos.permission.INPUT_MONITORING

**系统能力:**SystemCapability.MultimodalInput.Input.InputMonitor

  **参数:**

M
mayunteng_1 已提交
105 106 107 108
| 参数     | 类型                 | 必填 | 说明                            |
| -------- | -------------------- | ---- | ------------------------------- |
| type     | string               | 是   | 监听输入事件类型,取值“mouse”。 |
| receiver | Callback<MouseEvent> | 否   | 鼠标输入事件回调函数。          |
M
mayunteng_1 已提交
109 110 111

**示例:**

M
mayunteng_1 已提交
112
```js
113
inputMonitor.off("mouse");
M
mayunteng_1 已提交
114 115 116
```


Z
zengyawen 已提交
117 118 119 120 121 122 123 124 125 126 127 128 129

## TouchEventReceiver

触摸输入事件的回调函数,如果返回true,则触摸输入将被监听器消耗(系统执行关闭动作)。


### (touchEvent: TouchEvent): Boolean

触摸输入事件的回调函数。函数名由使用者定义,这里是函数调用时必须符合的格式,传入参数必须为TouchEvent类型,返回值为Boolean类型。

**系统能力:**SystemCapability.MultimodalInput.Input.InputMonitor

  **参数:**
H
HelloCrease 已提交
130 131 132
| 参数         | 类型                                       | 必填   | 说明                                       |
| ---------- | ---------------------------------------- | ---- | ---------------------------------------- |
| touchEvent | [TouchEvent](../arkui-js/js-components-common-events.md) | 是    | 触摸输入事件回调函数,返回true表示输触事件被监听器消费,false表示输触事件未被监听器消费。 |
Z
zengyawen 已提交
133 134

  **返回值:**
H
HelloCrease 已提交
135 136 137
| 类型      | 说明                                     |
| ------- | -------------------------------------- |
| Boolean | 返回true表示输触事件被监听器消费,false表示输触事件未被监听器消费。 |
Z
zengyawen 已提交
138 139 140

  **示例:**

M
mayunteng_1 已提交
141
```js
142 143 144 145 146
inputMonitor.on("touch", (event) => {
  // 消费触屏事件
  return false;
});
inputMonitor.off("touch");
Z
zengyawen 已提交
147
```