1# @ohos.multimodalInput.pointer (鼠标指针) 2 3鼠标指针管理模块,用于查询和设置鼠标指针相关属性。 4 5> **说明**: 6> 7> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 8 9## 导入模块 10 11```js 12import pointer from '@ohos.multimodalInput.pointer'; 13``` 14 15## pointer.setPointerVisible<sup>9+</sup> 16 17setPointerVisible(visible: boolean, callback: AsyncCallback<void>): void 18 19设置鼠标指针显示或者隐藏,使用AsyncCallback异步方式返回结果。 20 21**系统能力**:SystemCapability.MultimodalInput.Input.Pointer 22 23**参数**: 24 25| 参数名 | 类型 | 必填 | 说明 | 26| -------- | ------------------------- | ---- | ---------------------------------------- | 27| visible | boolean | 是 | 鼠标指针是否显示。 | 28| callback | AsyncCallback<void> | 是 | 回调函数。 | 29 30**示例**: 31 32```js 33try { 34 pointer.setPointerVisible(true, (error) => { 35 if (error) { 36 console.log(`Set pointer visible failed, error: ${JSON.stringify(error, [`code`, `message`])}`); 37 return; 38 } 39 console.log(`Set pointer visible success`); 40 }); 41} catch (error) { 42 console.log(`Set pointer visible failed, error: ${JSON.stringify(error, [`code`, `message`])}`); 43} 44``` 45 46## pointer.setPointerVisible<sup>9+</sup> 47 48setPointerVisible(visible: boolean): Promise<void> 49 50设置鼠标指针显示或者隐藏,使用Promise异步方式返回结果。 51 52**系统能力**:SystemCapability.MultimodalInput.Input.Pointer 53 54**参数**: 55 56| 参数名 | 类型 | 必填 | 说明 | 57| ------- | ------- | ---- | ---------------------------------------- | 58| visible | boolean | 是 | 鼠标指针是否显示。 | 59 60**返回值**: 61 62| 参数 | 说明 | 63| ------------------- | ------------------- | 64| Promise<void> | Promise对象。 | 65 66**示例**: 67 68```js 69try { 70 pointer.setPointerVisible(false).then(() => { 71 console.log(`Set pointer visible success`); 72 }); 73} catch (error) { 74 console.log(`Set pointer visible failed, error: ${JSON.stringify(error, [`code`, `message`])}`); 75} 76``` 77 78## pointer.isPointerVisible<sup>9+</sup> 79 80isPointerVisible(callback: AsyncCallback<boolean>): void 81 82获取鼠标指针显示或隐藏状态,使用AsyncCallback异步方式返回结果。 83 84**系统能力**:SystemCapability.MultimodalInput.Input.Pointer 85 86**参数**: 87 88| 参数名 | 类型 | 必填 | 说明 | 89| -------- | ---------------------------- | ---- | -------------- | 90| callback | AsyncCallback<boolean> | 是 | 回调函数,异步返回鼠标指针显示或隐藏状态。 | 91 92**示例**: 93 94```js 95try { 96 pointer.isPointerVisible((error, visible) => { 97 if (error) { 98 console.log(`Get pointer visible failed, error: ${JSON.stringify(error, [`code`, `message`])}`); 99 return; 100 } 101 console.log(`Get pointer visible success, visible: ${JSON.stringify(visible)}`); 102 }); 103} catch (error) { 104 console.log(`Get pointer visible failed, error: ${JSON.stringify(error, [`code`, `message`])}`); 105} 106``` 107 108## pointer.isPointerVisible<sup>9+</sup> 109 110isPointerVisible(): Promise<boolean> 111 112获取鼠标指针显示或隐藏状态,使用Promise异步方式返回结果。 113 114**系统能力**:SystemCapability.MultimodalInput.Input.Pointer 115 116**返回值**: 117 118| 参数 | 说明 | 119| ---------------------- | ------------------- | 120| Promise<boolean> | Promise对象,异步返回鼠标指针显示或隐藏状态。 | 121 122**示例**: 123 124```js 125try { 126 pointer.isPointerVisible().then((visible) => { 127 console.log(`Get pointer visible success, visible: ${JSON.stringify(visible)}`); 128 }); 129} catch (error) { 130 console.log(`Get pointer visible failed, error: ${JSON.stringify(error, [`code`, `message`])}`); 131} 132``` 133 134## pointer.setPointerSpeed<sup>9+</sup> 135 136setPointerSpeed(speed: number, callback: AsyncCallback<void>): void 137 138设置鼠标移动速度,使用AsyncCallback异步方式返回结果。 139 140**系统能力**:SystemCapability.MultimodalInput.Input.Pointer 141 142**系统API**: 此接口为系统接口。 143 144**参数**: 145 146| 参数名 | 类型 | 必填 | 说明 | 147| -------- | ------------------------- | ---- | ------------------------------------- | 148| speed | number | 是 | 鼠标移动速度,范围1-11,默认为5。 | 149| callback | AsyncCallback<void> | 是 | 回调函数。 | 150 151**示例**: 152 153```js 154try { 155 pointer.setPointerSpeed(5, (error) => { 156 if (error) { 157 console.log(`Set pointer speed failed, error: ${JSON.stringify(error, [`code`, `message`])}`); 158 return; 159 } 160 console.log(`Set pointer speed success`); 161 }); 162} catch (error) { 163 console.log(`Set pointer speed failed, error: ${JSON.stringify(error, [`code`, `message`])}`); 164} 165``` 166 167## pointer.setPointerSpeed<sup>9+</sup> 168 169setPointerSpeed(speed: number): Promise<void> 170 171设置鼠标移动速度,使用Promise异步方式返回结果。 172 173**系统能力**:SystemCapability.MultimodalInput.Input.Pointer 174 175**系统API**: 此接口为系统接口。 176 177**参数**: 178 179| 参数名 | 类型 | 必填 | 说明 | 180| ----- | ------ | ---- | ----------------------------------- | 181| speed | number | 是 | 鼠标移动速度,范围1-11,默认为5。 | 182 183**返回值**: 184 185| 参数 | 说明 | 186| ------------------- | ---------------- | 187| Promise<void> | Promise对象。 | 188 189**示例**: 190 191```js 192try { 193 pointer.setPointerSpeed(5).then(() => { 194 console.log(`Set pointer speed success`); 195 }); 196} catch (error) { 197 console.log(`Set pointer speed failed, error: ${JSON.stringify(error, [`code`, `message`])}`); 198} 199``` 200 201## pointer.getPointerSpeed<sup>9+</sup> 202 203getPointerSpeed(callback: AsyncCallback<number>): void 204 205获取鼠标移动速度,使用AsyncCallback异步方式返回结果。 206 207**系统能力**:SystemCapability.MultimodalInput.Input.Pointer 208 209**系统API**: 此接口为系统接口。 210 211**参数**: 212 213| 参数名 | 类型 | 必填 | 说明 | 214| -------- | --------------------------- | ---- | -------------- | 215| callback | AsyncCallback<number> | 是 | 回调函数,异步返回鼠标移动速度。 | 216 217**示例**: 218 219```js 220try { 221 pointer.getPointerSpeed((error, speed) => { 222 if (error) { 223 console.log(`Get pointer speed failed, error: ${JSON.stringify(error, [`code`, `message`])}`); 224 return; 225 } 226 console.log(`Get pointer speed success, speed: ${JSON.stringify(speed)}`); 227 }); 228} catch (error) { 229 console.log(`Get pointer speed failed, error: ${JSON.stringify(error, [`code`, `message`])}`); 230} 231``` 232 233## pointer.getPointerSpeed<sup>9+</sup> 234 235getPointerSpeed(): Promise<number> 236 237获取当前鼠标移动速度,使用Promise异步方式返回结果。 238 239**系统能力**:SystemCapability.MultimodalInput.Input.Pointer 240 241**系统API**: 此接口为系统接口。 242 243**返回值**: 244 245| 参数 | 说明 | 246| --------------------- | ------------------- | 247| Promise<number> | Promise实例,异步返回鼠标移动速度。 | 248 249**示例**: 250 251```js 252try { 253 pointer.getPointerSpeed().then(speed => { 254 console.log(`Get pointer speed success, speed: ${JSON.stringify(speed)}`); 255 }); 256} catch (error) { 257 console.log(`Get pointer speed failed, error: ${JSON.stringify(error, [`code`, `message`])}`); 258} 259``` 260 261## pointer.getPointerStyle<sup>9+</sup> 262 263getPointerStyle(windowId: number, callback: AsyncCallback<PointerStyle>): void 264 265获取鼠标样式类型,使用AsyncCallback异步方式返回结果。 266 267**系统能力**:SystemCapability.MultimodalInput.Input.Pointer 268 269**参数**: 270 271| 参数名 | 类型 | 必填 | 说明 | 272| -------- | ---------------------------------------- | ---- | -------------- | 273| windowId | number | 是 | 窗口id。 | 274| callback | AsyncCallback<[PointerStyle](#pointerstyle9)> | 是 | 回调函数,异步返回鼠标样式类型。 | 275 276**示例**: 277 278```js 279import window from '@ohos.window'; 280 281window.getLastWindow(this.context, (error, win) => { 282 if (error.code) { 283 console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(error)); 284 return; 285 } 286 let windowId = win.getWindowProperties().id; 287 if (windowId < 0) { 288 console.log(`Invalid windowId`); 289 return; 290 } 291 try { 292 pointer.getPointerStyle(windowId, (error, style) => { 293 console.log(`Get pointer style success, style: ${JSON.stringify(style)}`); 294 }); 295 } catch (error) { 296 console.log(`Get pointer style failed, error: ${JSON.stringify(error, [`code`, `message`])}`); 297 } 298}); 299``` 300 301## pointer.getPointerStyle<sup>9+</sup> 302 303getPointerStyle(windowId: number): Promise<PointerStyle> 304 305获取鼠标样式类型,使用Promise异步方式返回结果。 306 307**系统能力**:SystemCapability.MultimodalInput.Input.Pointer 308 309**参数**: 310 311| 参数名 | 类型 | 必填 | 说明 | 312| -------- | ------ | ---- | -------- | 313| windowId | number | 是 | 窗口id。 | 314 315**返回值**: 316 317| 参数 | 说明 | 318| ---------------------------------------- | ------------------- | 319| Promise<[PointerStyle](#pointerstyle9)> | Promise实例,异步返回鼠标样式类型。 | 320 321**示例**: 322 323```js 324import window from '@ohos.window'; 325 326window.getLastWindow(this.context, (error, win) => { 327 if (error.code) { 328 console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(error)); 329 return; 330 } 331 let windowId = win.getWindowProperties().id; 332 if (windowId < 0) { 333 console.log(`Invalid windowId`); 334 return; 335 } 336 try { 337 pointer.getPointerStyle(windowId).then((style) => { 338 console.log(`Get pointer style success, style: ${JSON.stringify(style)}`); 339 }); 340 } catch (error) { 341 console.log(`Get pointer style failed, error: ${JSON.stringify(error, [`code`, `message`])}`); 342 } 343}); 344``` 345 346## pointer.setPointerStyle<sup>9+</sup> 347 348setPointerStyle(windowId: number, pointerStyle: PointerStyle, callback: AsyncCallback<void>): void 349 350设置鼠标样式类型,使用AsyncCallback异步方式返回结果。 351 352**系统能力**:SystemCapability.MultimodalInput.Input.Pointer 353 354**参数**: 355 356| 参数名 | 类型 | 必填 | 说明 | 357| ------------ | ------------------------------ | ---- | ----------------------------------- | 358| windowId | number | 是 | 窗口id。 | 359| pointerStyle | [PointerStyle](#pointerstyle9) | 是 | 鼠标样式id。 | 360| callback | AsyncCallback<void> | 是 | 回调函数。 | 361 362**示例**: 363 364```js 365import window from '@ohos.window'; 366 367window.getLastWindow(this.context, (error, win) => { 368 if (error.code) { 369 console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(error)); 370 return; 371 } 372 let windowId = win.getWindowProperties().id; 373 if (windowId < 0) { 374 console.log(`Invalid windowId`); 375 return; 376 } 377 try { 378 pointer.setPointerStyle(windowId, pointer.PointerStyle.CROSS, error => { 379 console.log(`Set pointer style success`); 380 }); 381 } catch (error) { 382 console.log(`Set pointer style failed, error: ${JSON.stringify(error, [`code`, `message`])}`); 383 } 384}); 385``` 386## pointer.setPointerStyle<sup>9+</sup> 387 388setPointerStyle(windowId: number, pointerStyle: PointerStyle): Promise<void> 389 390设置鼠标样式类型,使用Promise异步方式返回结果。 391 392**系统能力**:SystemCapability.MultimodalInput.Input.Pointer 393 394**参数**: 395 396| 参数名 | 类型 | 必填 | 说明 | 397| ------------------- | ------------------------------ | ---- | ---------------- | 398| windowId | number | 是 | 窗口id。 | 399| pointerStyle | [PointerStyle](#pointerstyle9) | 是 | 鼠标样式id。 | 400| Promise<void> | void | 是 | Promise对象。 | 401 402**示例**: 403 404```js 405import window from '@ohos.window'; 406 407window.getLastWindow(this.context, (error, win) => { 408 if (error.code) { 409 console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(error)); 410 return; 411 } 412 let windowId = win.getWindowProperties().id; 413 if (windowId < 0) { 414 console.log(`Invalid windowId`); 415 return; 416 } 417 try { 418 pointer.setPointerStyle(windowId, pointer.PointerStyle.CROSS).then(() => { 419 console.log(`Set pointer style success`); 420 }); 421 } catch (error) { 422 console.log(`Set pointer style failed, error: ${JSON.stringify(error, [`code`, `message`])}`); 423 } 424}); 425``` 426## PointerStyle<sup>9+</sup> 427 428鼠标样式类型。 429 430**系统能力**:SystemCapability.MultimodalInput.Input.Pointer 431 432| 名称 | 值 | 说明 |图示 | 433| -------------------------------- | ---- | ------ |------ | 434| DEFAULT | 0 | 默认 |![Default.png](./figures/Default.png)| 435| EAST | 1 | 向东箭头 |![East.png](./figures/East.png)| 436| WEST | 2 | 向西箭头 |![West.png](./figures/West.png)| 437| SOUTH | 3 | 向南箭头 |![South.png](./figures/South.png)| 438| NORTH | 4 | 向北箭头 |![North.png](./figures/North.png)| 439| WEST_EAST | 5 | 向西东箭头 |![West_East.png](./figures/West_East.png)| 440| NORTH_SOUTH | 6 | 向北南箭头 |![North_South.png](./figures/North_South.png)| 441| NORTH_EAST | 7 | 向东北箭头 |![North_East.png](./figures/North_East.png)| 442| NORTH_WEST | 8 | 向西北箭头 |![North_West.png](./figures/North_West.png)| 443| SOUTH_EAST | 9 | 向东南箭头 |![South_East.png](./figures/South_East.png)| 444| SOUTH_WEST | 10 | 向西南箭头 |![South_West.png](./figures/South_West.png)| 445| NORTH_EAST_SOUTH_WEST | 11 | 东北西南调整 |![North_East_South_West.png](./figures/North_East_South_West.png)| 446| NORTH_WEST_SOUTH_EAST | 12 | 西北东南调整 |![North_West_South_East.png](./figures/North_West_South_East.png)| 447| CROSS | 13 | 准确选择 |![Cross.png](./figures/Cross.png)| 448| CURSOR_COPY | 14 | 拷贝 |![Copy.png](./figures/Copy.png)| 449| CURSOR_FORBID | 15 | 不可用 |![Forbid.png](./figures/Forbid.png)| 450| COLOR_SUCKER | 16 | 滴管 |![Colorsucker.png](./figures/Colorsucker.png)| 451| HAND_GRABBING | 17 | 并拢的手 |![Hand_Grabbing.png](./figures/Hand_Grabbing.png)| 452| HAND_OPEN | 18 | 张开的手 |![Hand_Open.png](./figures/Hand_Open.png)| 453| HAND_POINTING | 19 | 手形指针 |![Hand_Poniting.png](./figures/Hand_Pointing.png)| 454| HELP | 20 | 帮助选择 |![Help.png](./figures/Help.png)| 455| MOVE | 21 | 移动 |![Move.png](./figures/Move.png)| 456| RESIZE_LEFT_RIGHT | 22 | 内部左右调整 |![Resize_Left_Right.png](./figures/Resize_Left_Right.png)| 457| RESIZE_UP_DOWN | 23 | 内部上下调整 |![Resize_Up_Down.png](./figures/Resize_Up_Down.png)| 458| SCREENSHOT_CHOOSE | 24 | 截图十字准星 |![Screenshot_Cross.png](./figures/Screenshot_Cross.png)| 459| SCREENSHOT_CURSOR | 25 | 截图 |![Screenshot_Cursor.png](./figures/Screenshot_Cursor.png)| 460| TEXT_CURSOR | 26 | 文本选择 |![Text_Cursor.png](./figures/Text_Cursor.png)| 461| ZOOM_IN | 27 | 放大 |![Zoom_In.png](./figures/Zoom_In.png)| 462| ZOOM_OUT | 28 | 缩小 |![Zoom_Out.png](./figures/Zoom_Out.png)| 463| MIDDLE_BTN_EAST | 29 | 向东滚动 |![MID_Btn_East.png](./figures/MID_Btn_East.png)| 464| MIDDLE_BTN_WEST | 30 | 向西滚动 |![MID_Btn_West.png](./figures/MID_Btn_West.png)| 465| MIDDLE_BTN_SOUTH | 31 | 向南滚动 | ![MID_Btn_South.png](./figures/MID_Btn_South.png) | 466| MIDDLE_BTN_NORTH | 32 | 向北滚动 |![MID_Btn_North.png](./figures/MID_Btn_North.png)| 467| MIDDLE_BTN_NORTH_SOUTH | 33 | 向北南滚动 |![MID_Btn_North_South.png](./figures/MID_Btn_North_South.png)| 468| MIDDLE_BTN_NORTH_EAST | 34 | 向东北滚动 |![MID_Btn_North_East.png](./figures/MID_Btn_North_East.png)| 469| MIDDLE_BTN_NORTH_WEST | 35 | 向西北滚动 |![MID_Btn_North_West.png](./figures/MID_Btn_North_West.png)| 470| MIDDLE_BTN_SOUTH_EAST | 36 | 向东南滚动 |![MID_Btn_South_East.png](./figures/MID_Btn_South_East.png)| 471| MIDDLE_BTN_SOUTH_WEST | 37 | 向西南滚动 |![MID_Btn_South_West.png](./figures/MID_Btn_South_West.png)| 472| MIDDLE_BTN_NORTH_SOUTH_WEST_EAST | 38 | 四向锥形移动 |![MID_Btn_North_South_West_East.png](./figures/MID_Btn_North_South_West_East.png)|