js-apis-inputmonitor.md 4.6 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
M
mayunteng_1 已提交
42 43 44 45 46
testOn() {
  inputMonitor.off("touch", (event) => {
    // 消费触屏事件
    return false;
  });
Z
zengyawen 已提交
47 48 49
}
```

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

开始监听全局鼠标事件。

M
mayunteng_1 已提交
54
**需要权限:** ohos.permission.INPUT_MONITORING
M
mayunteng_1 已提交
55

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

M
mayunteng_1 已提交
58
  **参数:** 
M
mayunteng_1 已提交
59

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

  **示例:**

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


Z
zengyawen 已提交
76 77 78 79 80

## inputMonitor.off

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

M
mayunteng_1 已提交
81
开始监听全局触屏事件。
Z
zengyawen 已提交
82 83 84 85 86 87

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

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

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

  **示例:**

M
mayunteng_1 已提交
95
```js
M
mayunteng_1 已提交
96 97
testOff() {
  inputMonitor.off("touch");
M
mayunteng_1 已提交
98
}
Z
zengyawen 已提交
99 100
```

M
mayunteng_1 已提交
101 102 103 104 105 106 107 108 109 110
off(type: "mouse", receiver?: Callback<MouseEvent>): void

停止监听全局鼠标事件。

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

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

  **参数:**

M
mayunteng_1 已提交
111 112 113 114
| 参数     | 类型                 | 必填 | 说明                            |
| -------- | -------------------- | ---- | ------------------------------- |
| type     | string               | 是   | 监听输入事件类型,取值“mouse”。 |
| receiver | Callback<MouseEvent> | 否   | 鼠标输入事件回调函数。          |
M
mayunteng_1 已提交
115 116 117

**示例:**

M
mayunteng_1 已提交
118
```js
M
mayunteng_1 已提交
119 120
testOff() {
  inputMonitor.off("mouse");
M
mayunteng_1 已提交
121
}
M
mayunteng_1 已提交
122 123 124
```


Z
zengyawen 已提交
125 126 127 128 129 130 131 132 133 134 135 136 137

## TouchEventReceiver

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


### (touchEvent: TouchEvent): Boolean

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

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

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

  **返回值:**
H
HelloCrease 已提交
143 144 145
| 类型      | 说明                                     |
| ------- | -------------------------------------- |
| Boolean | 返回true表示输触事件被监听器消费,false表示输触事件未被监听器消费。 |
Z
zengyawen 已提交
146 147 148

  **示例:**

M
mayunteng_1 已提交
149
```js
M
mayunteng_1 已提交
150 151 152 153 154 155
test() {
  inputMonitor.on("touch", (event) => {
    // 消费触屏事件
    return false;
  });
  inputMonitor.off("touch");
Z
zengyawen 已提交
156 157
}
```