• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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&lt;void&gt;): void
18
19设置鼠标指针显示或者隐藏,使用AsyncCallback异步方式返回结果。
20
21**系统能力**:SystemCapability.MultimodalInput.Input.Pointer
22
23**参数**:
24
25| 参数名       | 类型                        | 必填   | 说明                                       |
26| -------- | ------------------------- | ---- | ---------------------------------------- |
27| visible  | boolean                   | 是    | 鼠标指针是否显示。 |
28| callback | AsyncCallback&lt;void&gt; | 是    | 回调函数。 |
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&lt;void&gt;
49
50设置鼠标指针显示或者隐藏,使用Promise异步方式返回结果。
51
52**系统能力**:SystemCapability.MultimodalInput.Input.Pointer
53
54**参数**:
55
56| 参数名      | 类型      | 必填   | 说明                                       |
57| ------- | ------- | ---- | ---------------------------------------- |
58| visible | boolean | 是    | 鼠标指针是否显示。 |
59
60**返回值**:
61
62| 参数                  | 说明                  |
63| ------------------- | ------------------- |
64| Promise&lt;void&gt; | 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&lt;boolean&gt;): void
81
82获取鼠标指针显示或隐藏状态,使用AsyncCallback异步方式返回结果。
83
84**系统能力**:SystemCapability.MultimodalInput.Input.Pointer
85
86**参数**:
87
88| 参数名       | 类型                           | 必填   | 说明             |
89| -------- | ---------------------------- | ---- | -------------- |
90| callback | AsyncCallback&lt;boolean&gt; | 是    | 回调函数,异步返回鼠标指针显示或隐藏状态。 |
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&lt;boolean&gt;
111
112获取鼠标指针显示或隐藏状态,使用Promise异步方式返回结果。
113
114**系统能力**:SystemCapability.MultimodalInput.Input.Pointer
115
116**返回值**:
117
118| 参数                     | 说明                  |
119| ---------------------- | ------------------- |
120| Promise&lt;boolean&gt; | 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&lt;void&gt;): 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&lt;void&gt; | 是    | 回调函数。 |
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&lt;void&gt;
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&lt;void&gt; | 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&lt;number&gt;): void
204
205获取鼠标移动速度,使用AsyncCallback异步方式返回结果。
206
207**系统能力**:SystemCapability.MultimodalInput.Input.Pointer
208
209**系统API**: 此接口为系统接口。
210
211**参数**:
212
213| 参数名       | 类型                          | 必填   | 说明             |
214| -------- | --------------------------- | ---- | -------------- |
215| callback | AsyncCallback&lt;number&gt; | 是    | 回调函数,异步返回鼠标移动速度。 |
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&lt;number&gt;
236
237获取当前鼠标移动速度,使用Promise异步方式返回结果。
238
239**系统能力**:SystemCapability.MultimodalInput.Input.Pointer
240
241**系统API**: 此接口为系统接口。
242
243**返回值**:
244
245| 参数                    | 说明                  |
246| --------------------- | ------------------- |
247| Promise&lt;number&gt; | 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&lt;PointerStyle&gt;): void
264
265获取鼠标样式类型,使用AsyncCallback异步方式返回结果。
266
267**系统能力**:SystemCapability.MultimodalInput.Input.Pointer
268
269**参数**:
270
271| 参数名       | 类型                                       | 必填   | 说明             |
272| -------- | ---------------------------------------- | ---- | -------------- |
273| windowId | number                                   | 是    | 窗口id。    |
274| callback | AsyncCallback&lt;[PointerStyle](#pointerstyle9)&gt; | 是    | 回调函数,异步返回鼠标样式类型。 |
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&lt;PointerStyle&gt;
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&lt;[PointerStyle](#pointerstyle9)&gt; | 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&lt;void&gt;): 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&lt;void&gt;      | 是    | 回调函数。 |
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&lt;void&gt;
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&lt;void&gt; | 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)|