1e41f4b71Sopenharmony_ci# @ohos.multimodalInput.inputEventClient (输入事件注入)(系统接口) 2e41f4b71Sopenharmony_ci 3e41f4b71Sopenharmony_ci输入事件注入模块,提供输入事件注入能力。 4e41f4b71Sopenharmony_ci 5e41f4b71Sopenharmony_ci> **说明:** 6e41f4b71Sopenharmony_ci> 7e41f4b71Sopenharmony_ci> - 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 8e41f4b71Sopenharmony_ci> 9e41f4b71Sopenharmony_ci> - 本模块接口为系统接口。 10e41f4b71Sopenharmony_ci 11e41f4b71Sopenharmony_ci## 导入模块 12e41f4b71Sopenharmony_ci 13e41f4b71Sopenharmony_ci```js 14e41f4b71Sopenharmony_ciimport { inputEventClient } from '@kit.InputKit'; 15e41f4b71Sopenharmony_ci``` 16e41f4b71Sopenharmony_ci 17e41f4b71Sopenharmony_ci## inputEventClient.injectEvent 18e41f4b71Sopenharmony_ci 19e41f4b71Sopenharmony_ciinjectEvent({KeyEvent: KeyEvent}): void 20e41f4b71Sopenharmony_ci 21e41f4b71Sopenharmony_ci按键(包括单个按键和组合键)注入。 22e41f4b71Sopenharmony_ci 23e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.MultimodalInput.Input.InputSimulator 24e41f4b71Sopenharmony_ci 25e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.INJECT_INPUT_EVENT 26e41f4b71Sopenharmony_ci 27e41f4b71Sopenharmony_ci**参数:** 28e41f4b71Sopenharmony_ci 29e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 30e41f4b71Sopenharmony_ci| -------- | --------------------- | ---- | --------- | 31e41f4b71Sopenharmony_ci| KeyEvent | [KeyEvent](#keyevent) | 是 | 按键注入描述信息。 | 32e41f4b71Sopenharmony_ci 33e41f4b71Sopenharmony_ci**错误码**: 34e41f4b71Sopenharmony_ci 35e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 36e41f4b71Sopenharmony_ci 37e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 38e41f4b71Sopenharmony_ci| ---- | --------------------- | 39e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;2. Incorrect parameter types; 3. Parameter verification failed. | 40e41f4b71Sopenharmony_ci 41e41f4b71Sopenharmony_ci**示例:** 42e41f4b71Sopenharmony_ci 43e41f4b71Sopenharmony_ci```js 44e41f4b71Sopenharmony_citry { 45e41f4b71Sopenharmony_ci let backKeyDown: inputEventClient.KeyEvent = { 46e41f4b71Sopenharmony_ci isPressed: true, 47e41f4b71Sopenharmony_ci keyCode: 2, 48e41f4b71Sopenharmony_ci keyDownDuration: 0, 49e41f4b71Sopenharmony_ci isIntercepted: false 50e41f4b71Sopenharmony_ci } 51e41f4b71Sopenharmony_ci 52e41f4b71Sopenharmony_ci class EventDown { 53e41f4b71Sopenharmony_ci KeyEvent: inputEventClient.KeyEvent | null = null 54e41f4b71Sopenharmony_ci } 55e41f4b71Sopenharmony_ci 56e41f4b71Sopenharmony_ci let eventDown: EventDown = { KeyEvent: backKeyDown } 57e41f4b71Sopenharmony_ci inputEventClient.injectEvent(eventDown); 58e41f4b71Sopenharmony_ci 59e41f4b71Sopenharmony_ci let backKeyUp: inputEventClient.KeyEvent = { 60e41f4b71Sopenharmony_ci isPressed: false, 61e41f4b71Sopenharmony_ci keyCode: 2, 62e41f4b71Sopenharmony_ci keyDownDuration: 0, 63e41f4b71Sopenharmony_ci isIntercepted: false 64e41f4b71Sopenharmony_ci }; 65e41f4b71Sopenharmony_ci 66e41f4b71Sopenharmony_ci class EventUp { 67e41f4b71Sopenharmony_ci KeyEvent: inputEventClient.KeyEvent | null = null 68e41f4b71Sopenharmony_ci } 69e41f4b71Sopenharmony_ci 70e41f4b71Sopenharmony_ci let eventUp: EventUp = { KeyEvent: backKeyUp } 71e41f4b71Sopenharmony_ci inputEventClient.injectEvent(eventUp); 72e41f4b71Sopenharmony_ci} catch (error) { 73e41f4b71Sopenharmony_ci console.log(`Failed to inject KeyEvent, error: ${JSON.stringify(error, [`code`, `message`])}`); 74e41f4b71Sopenharmony_ci} 75e41f4b71Sopenharmony_ci``` 76e41f4b71Sopenharmony_ci## inputEventClient.injectKeyEvent<sup>11+</sup> 77e41f4b71Sopenharmony_ci 78e41f4b71Sopenharmony_ciinjectKeyEvent(keyEvent: KeyEventData): void 79e41f4b71Sopenharmony_ci 80e41f4b71Sopenharmony_ci按键(包括单个按键和组合键)事件注入。 81e41f4b71Sopenharmony_ci 82e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.MultimodalInput.Input.InputSimulator 83e41f4b71Sopenharmony_ci 84e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.INJECT_INPUT_EVENT 85e41f4b71Sopenharmony_ci 86e41f4b71Sopenharmony_ci**参数:** 87e41f4b71Sopenharmony_ci 88e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 89e41f4b71Sopenharmony_ci| -------- | --------------------- | ---- | --------- | 90e41f4b71Sopenharmony_ci| keyEvent | [KeyEventData](#keyeventdata11) | 是 | 按键事件注入描述信息。 | 91e41f4b71Sopenharmony_ci 92e41f4b71Sopenharmony_ci**错误码**: 93e41f4b71Sopenharmony_ci 94e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 95e41f4b71Sopenharmony_ci 96e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 97e41f4b71Sopenharmony_ci| ---- | --------------------- | 98e41f4b71Sopenharmony_ci| 202 | SystemAPI permission error. | 99e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;2. Incorrect parameter types; 3. Parameter verification failed. | 100e41f4b71Sopenharmony_ci 101e41f4b71Sopenharmony_ci**示例:** 102e41f4b71Sopenharmony_ci 103e41f4b71Sopenharmony_ci```js 104e41f4b71Sopenharmony_citry { 105e41f4b71Sopenharmony_ci let backKeyDown: inputEventClient.KeyEvent = { 106e41f4b71Sopenharmony_ci isPressed: true, 107e41f4b71Sopenharmony_ci keyCode: 2, 108e41f4b71Sopenharmony_ci keyDownDuration: 0, 109e41f4b71Sopenharmony_ci isIntercepted: false 110e41f4b71Sopenharmony_ci } 111e41f4b71Sopenharmony_ci 112e41f4b71Sopenharmony_ci class EventDown { 113e41f4b71Sopenharmony_ci KeyEvent: inputEventClient.KeyEvent | null = null 114e41f4b71Sopenharmony_ci } 115e41f4b71Sopenharmony_ci 116e41f4b71Sopenharmony_ci let eventDown: EventDown = { KeyEvent: backKeyDown } 117e41f4b71Sopenharmony_ci inputEventClient.injectKeyEvent(eventDown); 118e41f4b71Sopenharmony_ci 119e41f4b71Sopenharmony_ci let backKeyUp: inputEventClient.KeyEvent = { 120e41f4b71Sopenharmony_ci isPressed: false, 121e41f4b71Sopenharmony_ci keyCode: 2, 122e41f4b71Sopenharmony_ci keyDownDuration: 0, 123e41f4b71Sopenharmony_ci isIntercepted: false 124e41f4b71Sopenharmony_ci }; 125e41f4b71Sopenharmony_ci 126e41f4b71Sopenharmony_ci class EventUp { 127e41f4b71Sopenharmony_ci KeyEvent: inputEventClient.KeyEvent | null = null 128e41f4b71Sopenharmony_ci } 129e41f4b71Sopenharmony_ci 130e41f4b71Sopenharmony_ci let eventUp: EventUp = { KeyEvent: backKeyUp } 131e41f4b71Sopenharmony_ci inputEventClient.injectKeyEvent(eventUp); 132e41f4b71Sopenharmony_ci} catch (error) { 133e41f4b71Sopenharmony_ci console.log(`Failed to inject KeyEvent, error: ${JSON.stringify(error, [`code`, `message`])}`); 134e41f4b71Sopenharmony_ci} 135e41f4b71Sopenharmony_ci``` 136e41f4b71Sopenharmony_ci## inputEventClient.injectMouseEvent<sup>11+</sup> 137e41f4b71Sopenharmony_ci 138e41f4b71Sopenharmony_ciinjectMouseEvent(mouseEvent: MouseEventData): void; 139e41f4b71Sopenharmony_ci 140e41f4b71Sopenharmony_ci鼠标/触摸板事件注入。 141e41f4b71Sopenharmony_ci 142e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.MultimodalInput.Input.InputSimulator 143e41f4b71Sopenharmony_ci 144e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.INJECT_INPUT_EVENT 145e41f4b71Sopenharmony_ci 146e41f4b71Sopenharmony_ci**参数:** 147e41f4b71Sopenharmony_ci 148e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 149e41f4b71Sopenharmony_ci| -------- | --------------------- | ---- | --------- | 150e41f4b71Sopenharmony_ci| mouseEvent | [MouseEventData](#mouseeventdata11) | 是 | 鼠标/触摸板事件注入描述信息。 | 151e41f4b71Sopenharmony_ci 152e41f4b71Sopenharmony_ci**错误码**: 153e41f4b71Sopenharmony_ci 154e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 155e41f4b71Sopenharmony_ci 156e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 157e41f4b71Sopenharmony_ci| ---- | --------------------- | 158e41f4b71Sopenharmony_ci| 202 | SystemAPI permission error. | 159e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;2. Incorrect parameter types; 3. Parameter verification failed. | 160e41f4b71Sopenharmony_ci 161e41f4b71Sopenharmony_ci**示例:** 162e41f4b71Sopenharmony_ci 163e41f4b71Sopenharmony_ci```js 164e41f4b71Sopenharmony_ciimport { MouseEvent } from '@kit.InputKit'; 165e41f4b71Sopenharmony_ci 166e41f4b71Sopenharmony_citry { 167e41f4b71Sopenharmony_ci let mouseButtonUpData: mouseEvent.MouseEvent = { 168e41f4b71Sopenharmony_ci id: 0, 169e41f4b71Sopenharmony_ci deviceId: 1, 170e41f4b71Sopenharmony_ci actionTime: 2, 171e41f4b71Sopenharmony_ci screenId: 1, 172e41f4b71Sopenharmony_ci windowId: 0, 173e41f4b71Sopenharmony_ci action: 3, 174e41f4b71Sopenharmony_ci screenX: 100, 175e41f4b71Sopenharmony_ci screenY: 200, 176e41f4b71Sopenharmony_ci windowX: 100, 177e41f4b71Sopenharmony_ci windowY: 200, 178e41f4b71Sopenharmony_ci rawDeltaX: 200, 179e41f4b71Sopenharmony_ci rawDeltaY: 200, 180e41f4b71Sopenharmony_ci button: 2, 181e41f4b71Sopenharmony_ci pressedButtons: [2], 182e41f4b71Sopenharmony_ci axes: [], 183e41f4b71Sopenharmony_ci pressedKeys: [0], 184e41f4b71Sopenharmony_ci ctrlKey: false, 185e41f4b71Sopenharmony_ci altKey: false, 186e41f4b71Sopenharmony_ci shiftKey: false, 187e41f4b71Sopenharmony_ci logoKey: false, 188e41f4b71Sopenharmony_ci fnKey: false, 189e41f4b71Sopenharmony_ci capsLock: false, 190e41f4b71Sopenharmony_ci numLock: false, 191e41f4b71Sopenharmony_ci scrollLock: false, 192e41f4b71Sopenharmony_ci toolType: 1, 193e41f4b71Sopenharmony_ci } 194e41f4b71Sopenharmony_ci let mouseButtonUp: inputEventClient.MouseEventData = { 195e41f4b71Sopenharmony_ci mouseEvent: mouseButtonUpData 196e41f4b71Sopenharmony_ci } 197e41f4b71Sopenharmony_ci inputEventClient.injectMouseEvent(mouseButtonUp); 198e41f4b71Sopenharmony_ci 199e41f4b71Sopenharmony_ci let mouseButtonDownData: mouseEvent.MouseEvent = { 200e41f4b71Sopenharmony_ci id: 0, 201e41f4b71Sopenharmony_ci deviceId: 1, 202e41f4b71Sopenharmony_ci actionTime: 2, 203e41f4b71Sopenharmony_ci screenId: 1, 204e41f4b71Sopenharmony_ci windowId: 0, 205e41f4b71Sopenharmony_ci action: 2, 206e41f4b71Sopenharmony_ci screenX: 100, 207e41f4b71Sopenharmony_ci screenY: 200, 208e41f4b71Sopenharmony_ci windowX: 100, 209e41f4b71Sopenharmony_ci windowY: 200, 210e41f4b71Sopenharmony_ci rawDeltaX: 200, 211e41f4b71Sopenharmony_ci rawDeltaY: 200, 212e41f4b71Sopenharmony_ci button: 2, 213e41f4b71Sopenharmony_ci pressedButtons: [2], 214e41f4b71Sopenharmony_ci axes: [], 215e41f4b71Sopenharmony_ci pressedKeys: [0], 216e41f4b71Sopenharmony_ci ctrlKey: false, 217e41f4b71Sopenharmony_ci altKey: false, 218e41f4b71Sopenharmony_ci shiftKey: false, 219e41f4b71Sopenharmony_ci logoKey: false, 220e41f4b71Sopenharmony_ci fnKey: false, 221e41f4b71Sopenharmony_ci capsLock: false, 222e41f4b71Sopenharmony_ci numLock: false, 223e41f4b71Sopenharmony_ci scrollLock: false, 224e41f4b71Sopenharmony_ci toolType: 1, 225e41f4b71Sopenharmony_ci } 226e41f4b71Sopenharmony_ci let mouseButtonDown: inputEventClient.MouseEventData = { 227e41f4b71Sopenharmony_ci mouseEvent: mouseButtonDownData 228e41f4b71Sopenharmony_ci }; 229e41f4b71Sopenharmony_ci inputEventClient.injectMouseEvent(mouseButtonDown); 230e41f4b71Sopenharmony_ci} 231e41f4b71Sopenharmony_ci 232e41f4b71Sopenharmony_cicatch (error) { 233e41f4b71Sopenharmony_ci console.log(`Failed to inject MouseEvent, error: ${JSON.stringify(error, [`code`, `message`])}`); 234e41f4b71Sopenharmony_ci} 235e41f4b71Sopenharmony_ci 236e41f4b71Sopenharmony_ci``` 237e41f4b71Sopenharmony_ci 238e41f4b71Sopenharmony_ci## inputEventClient.injectTouchEvent<sup>11+</sup> 239e41f4b71Sopenharmony_ci 240e41f4b71Sopenharmony_ciinjectTouchEvent(touchEvent: TouchEventData): void 241e41f4b71Sopenharmony_ci 242e41f4b71Sopenharmony_ci触摸屏事件注入。 243e41f4b71Sopenharmony_ci 244e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.MultimodalInput.Input.InputSimulator 245e41f4b71Sopenharmony_ci 246e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.INJECT_INPUT_EVENT 247e41f4b71Sopenharmony_ci 248e41f4b71Sopenharmony_ci**参数:** 249e41f4b71Sopenharmony_ci 250e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 251e41f4b71Sopenharmony_ci| -------- | --------------------- | ---- | --------- | 252e41f4b71Sopenharmony_ci| touchEvent | [TouchEventData](#toucheventdata11) | 是 | 触摸屏事件注入描述信息。 | 253e41f4b71Sopenharmony_ci 254e41f4b71Sopenharmony_ci**错误码**: 255e41f4b71Sopenharmony_ci 256e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 257e41f4b71Sopenharmony_ci 258e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 259e41f4b71Sopenharmony_ci| ---- | --------------------- | 260e41f4b71Sopenharmony_ci| 202 | SystemAPI permission error. | 261e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;2. Incorrect parameter types; 3. Parameter verification failed. | 262e41f4b71Sopenharmony_ci 263e41f4b71Sopenharmony_ci**示例:** 264e41f4b71Sopenharmony_ci 265e41f4b71Sopenharmony_ci```js 266e41f4b71Sopenharmony_ciimport { TouchEvent } from '@kit.InputKit'; 267e41f4b71Sopenharmony_ci 268e41f4b71Sopenharmony_citry { 269e41f4b71Sopenharmony_ci let touchEvent: touchEvent.Touch = { 270e41f4b71Sopenharmony_ci id: 1, 271e41f4b71Sopenharmony_ci pressedTime: 1, 272e41f4b71Sopenharmony_ci screenX: 0, 273e41f4b71Sopenharmony_ci screenY: 0, 274e41f4b71Sopenharmony_ci windowX: 0, 275e41f4b71Sopenharmony_ci windowY: 0, 276e41f4b71Sopenharmony_ci pressure: 0, 277e41f4b71Sopenharmony_ci width: 0, 278e41f4b71Sopenharmony_ci height: 0, 279e41f4b71Sopenharmony_ci tiltX: 0, 280e41f4b71Sopenharmony_ci tiltY: 0, 281e41f4b71Sopenharmony_ci toolX: 0, 282e41f4b71Sopenharmony_ci toolY: 0, 283e41f4b71Sopenharmony_ci toolWidth: 0, 284e41f4b71Sopenharmony_ci toolHeight: 0, 285e41f4b71Sopenharmony_ci rawX: 0, 286e41f4b71Sopenharmony_ci rawY: 0, 287e41f4b71Sopenharmony_ci toolType: 0, 288e41f4b71Sopenharmony_ci } 289e41f4b71Sopenharmony_ci 290e41f4b71Sopenharmony_ci let touchEventUpData: touchEvent.TouchEvent = { 291e41f4b71Sopenharmony_ci action: 1, 292e41f4b71Sopenharmony_ci sourceType: 0, 293e41f4b71Sopenharmony_ci touch: touchEvent, 294e41f4b71Sopenharmony_ci touches: [], 295e41f4b71Sopenharmony_ci id: 0, 296e41f4b71Sopenharmony_ci deviceId: 0, 297e41f4b71Sopenharmony_ci actionTime: 0, 298e41f4b71Sopenharmony_ci screenId: 0, 299e41f4b71Sopenharmony_ci windowId: 0 300e41f4b71Sopenharmony_ci } 301e41f4b71Sopenharmony_ci ; 302e41f4b71Sopenharmony_ci let touchEventUp: inputEventClient.TouchEventData = { 303e41f4b71Sopenharmony_ci touchEvent: touchEventUpData 304e41f4b71Sopenharmony_ci } 305e41f4b71Sopenharmony_ci inputEventClient.injectTouchEvent(touchEventUp); 306e41f4b71Sopenharmony_ci 307e41f4b71Sopenharmony_ci let touchEventDownData: touchEvent.TouchEvent = { 308e41f4b71Sopenharmony_ci action: 1, 309e41f4b71Sopenharmony_ci sourceType: 0, 310e41f4b71Sopenharmony_ci touch: touchEvent, 311e41f4b71Sopenharmony_ci touches: [], 312e41f4b71Sopenharmony_ci id: 0, 313e41f4b71Sopenharmony_ci deviceId: 0, 314e41f4b71Sopenharmony_ci actionTime: 0, 315e41f4b71Sopenharmony_ci screenId: 0, 316e41f4b71Sopenharmony_ci windowId: 0 317e41f4b71Sopenharmony_ci } 318e41f4b71Sopenharmony_ci ; 319e41f4b71Sopenharmony_ci let touchEventDown: inputEventClient.TouchEventData = { 320e41f4b71Sopenharmony_ci touchEvent: touchEventDownData 321e41f4b71Sopenharmony_ci } 322e41f4b71Sopenharmony_ci inputEventClient.injectTouchEvent(touchEventDown); 323e41f4b71Sopenharmony_ci} catch (error) { 324e41f4b71Sopenharmony_ci console.log(`Failed to inject touchEvent, error: ${JSON.stringify(error, [`code`, `message`])}`); 325e41f4b71Sopenharmony_ci} 326e41f4b71Sopenharmony_ci``` 327e41f4b71Sopenharmony_ci 328e41f4b71Sopenharmony_ci## inputEventClient.permitInjection<sup>12+</sup> 329e41f4b71Sopenharmony_ci 330e41f4b71Sopenharmony_cipermitInjection(result: boolean): void 331e41f4b71Sopenharmony_ci 332e41f4b71Sopenharmony_ci允许事件注入权限。 333e41f4b71Sopenharmony_ci 334e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.MultimodalInput.Input.InputSimulator 335e41f4b71Sopenharmony_ci 336e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.INJECT_INPUT_EVENT 337e41f4b71Sopenharmony_ci 338e41f4b71Sopenharmony_ci**参数:** 339e41f4b71Sopenharmony_ci 340e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 341e41f4b71Sopenharmony_ci| -------- | ------ | ---- | --------- | 342e41f4b71Sopenharmony_ci| result | boolean | 是 | 授权结果(true表示:允许事件注入,false表示:不允许事件注入)。 | 343e41f4b71Sopenharmony_ci 344e41f4b71Sopenharmony_ci**错误码**: 345e41f4b71Sopenharmony_ci 346e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 347e41f4b71Sopenharmony_ci 348e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 349e41f4b71Sopenharmony_ci| ---- | --------------------- | 350e41f4b71Sopenharmony_ci| 202 | SystemAPI permission error. | 351e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;2. Incorrect parameter types; 3. Parameter verification failed. | 352e41f4b71Sopenharmony_ci 353e41f4b71Sopenharmony_ci 354e41f4b71Sopenharmony_ci```ts 355e41f4b71Sopenharmony_ciimport { inputEventClient } from '@kit.InputKit'; 356e41f4b71Sopenharmony_ci 357e41f4b71Sopenharmony_citry { 358e41f4b71Sopenharmony_ci let result = true; 359e41f4b71Sopenharmony_ci inputEventClient.permitInjection(result); 360e41f4b71Sopenharmony_ci}catch(error){ 361e41f4b71Sopenharmony_ci console.error("failed:" + JSON.stringify(error)); 362e41f4b71Sopenharmony_ci} 363e41f4b71Sopenharmony_ci``` 364e41f4b71Sopenharmony_ci 365e41f4b71Sopenharmony_ci## KeyEvent 366e41f4b71Sopenharmony_ci 367e41f4b71Sopenharmony_ci按键注入描述信息。 368e41f4b71Sopenharmony_ci 369e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.MultimodalInput.Input.InputSimulator 370e41f4b71Sopenharmony_ci 371e41f4b71Sopenharmony_ci| 名称 | 类型 | 可读 | 可写 | 说明 | 372e41f4b71Sopenharmony_ci| --------- | ------ | ---- | ---- | ------- | 373e41f4b71Sopenharmony_ci| isPressed | boolean | 是 | 否 | 按键是否按下。<br>true表示按键按下,false表示按键抬起。 | 374e41f4b71Sopenharmony_ci| keyCode | number | 是 | 否 | 按键键码值。当前仅支持返回键/KEYCODE_BACK键。 | 375e41f4b71Sopenharmony_ci| keyDownDuration | number | 是 | 否 | 按键按下持续时间,单位为微秒(μs)。 | 376e41f4b71Sopenharmony_ci| isIntercepted | boolean | 是 | 否 | 按键是否可以被拦截。<br>true表示可以被拦截,false表示不可被拦截。 | 377e41f4b71Sopenharmony_ci 378e41f4b71Sopenharmony_ci## KeyEventData<sup>11+</sup> 379e41f4b71Sopenharmony_ci 380e41f4b71Sopenharmony_ci按键注入描述信息。 381e41f4b71Sopenharmony_ci 382e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.MultimodalInput.Input.InputSimulator 383e41f4b71Sopenharmony_ci 384e41f4b71Sopenharmony_ci| 名称 | 类型 | 必填 | 说明 | 385e41f4b71Sopenharmony_ci| --------- | ------ | ---- | ------- | 386e41f4b71Sopenharmony_ci| keyEvent | [KeyEvent](#keyevent) | 是 | 按键注入描述信息。 | 387e41f4b71Sopenharmony_ci 388e41f4b71Sopenharmony_ci## MouseEventData<sup>11+</sup> 389e41f4b71Sopenharmony_ci 390e41f4b71Sopenharmony_ci鼠标注入描述信息。 391e41f4b71Sopenharmony_ci 392e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.MultimodalInput.Input.InputSimulator 393e41f4b71Sopenharmony_ci 394e41f4b71Sopenharmony_ci| 名称 | 类型 | 可读 | 可写 | 说明 | 395e41f4b71Sopenharmony_ci| --------- | ------ | ---- | ---- | ------- | 396e41f4b71Sopenharmony_ci| mouseEvent | [MouseEvent](js-apis-mouseevent.md#mouseevent) | 是 | 否 | 鼠标注入描述信息。 | 397e41f4b71Sopenharmony_ci 398e41f4b71Sopenharmony_ci## TouchEventData<sup>11+</sup> 399e41f4b71Sopenharmony_ci 400e41f4b71Sopenharmony_ci触摸屏注入描述信息。 401e41f4b71Sopenharmony_ci 402e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.MultimodalInput.Input.InputSimulator 403e41f4b71Sopenharmony_ci 404e41f4b71Sopenharmony_ci| 名称 | 类型 | 可读 | 可写 | 说明 | 405e41f4b71Sopenharmony_ci| --------- | ------ | ---- | ---- | ------- | 406e41f4b71Sopenharmony_ci| touchEvent | [TouchEvent](js-apis-touchevent.md#touchevent) | 是 | 否 | 触摸屏注入描述信息。 |