1# @ohos.multimodalawareness.motion (Motion Sensing) 2 3The **motion** module provides the capability of sensing user motions, including user gestures and actions. 4 5> **NOTE** 6> 7> The initial APIs of this module are supported since API version 15. Newly added APIs will be marked with a superscript to indicate their earliest API version. 8 9 10## Modules to Import 11 12```ts 13import { motion } from '@kit.MultimodalAwarenessKit'; 14``` 15 16## OperatingHandStatus 17 18Defines the status of the operating hand. 19 20**System capability**: SystemCapability.MultimodalAwarness.Motion 21 22| Name | Value | Description | 23| ------------------- | ---- | ---------------------- | 24| UNKNOWN_STATUS | 0 | Unknown status.| 25| LEFT_HAND_OPERATED | 1 | Left hand in use.| 26| RIGHT_HAND_OPERATED | 2 | Right hand in use.| 27 28 29 30 31## motion.on('operatingHandChanged') 32 33 on(type: 'operatingHandChanged', callback: Callback<OperatingHandStatus>): void; 34 35Subscribes to operating hand change events. 36 37**Required permissions**: ohos.permission.ACTIVITY_MOTION 38 39**System capability**: SystemCapability.MultimodalAwarness.Motion 40 41**Parameters** 42 43| Name | Type | Mandatory| Description | 44| -------- | -------------------------------- | ---- | ------------------------------------------------------------ | 45| type | string | Yes | Event type. Event type. This parameter has a fixed value of **operatingHandChanged**.| 46| callback | Callback<[OperatingHandStatus](#operatinghandstatus)> | Yes | Callback used to return the operating hand status. | 47 48**Error codes** 49 50For details about the error codes, see [Motion Sensing Error Codes](errorcode-motion.md) and [Universal Error Codes](../errorcode-universal.md). 51 52| ID| Error Message | 53| -------- | ------------------------------------------------------------ | 54| 201 | Permission denied. An attempt was made to subscribe operatingHandChanged event forbidden by permission: ohos.permission.ACTIVITY_MOTION. | 55| 401 | Parameter error. Parameter verification failed. | 56| 801 | Capability not supported. Function can not work correctly due to limited device capabilities. | 57| 31500001 | Service exception. | 58| 31500002 | Subscribe Failed. | 59 60**Example** 61 62```ts 63motion.on('operatingHandChanged', (data:motion.OperatingHandStatus) => { 64 console.info('on success' + data); 65}) 66``` 67 68 69 70## motion.off('operatingHandChanged') 71 72off(type: 'operatingHandChanged', callback?: Callback<OperatingHandStatus>): void; 73 74Unsubscribes from operating hand change events. 75 76**Required permissions**: ohos.permission.ACTIVITY_MOTION 77 78**System capability**: SystemCapability.MultimodalAwarness.Motion 79 80**Parameters** 81 82| Name | Type | Mandatory| Description | 83| -------- | -------------------------------- | ---- | ------------------------------------------------------------ | 84| type | string | Yes | Event type. Event type. This parameter has a fixed value of **operatingHandChanged**.| 85| callback | Callback<[OperatingHandStatus](#operatinghandstatus)> | No | Callback used to return the operating hand status. | 86 87**Error codes** 88 89For details about the error codes, see [Motion Sensing Error Codes](errorcode-motion.md) and [Universal Error Codes](../errorcode-universal.md). 90 91| ID| Error Message | 92| -------- | ------------------------------------------------------------ | 93| 201 | Permission denied. An attempt was made to unsubscribe operatingHandChanged event forbidden by permission: ohos.permission.ACTIVITY_MOTION. | 94| 401 | Parameter error. Parameter verification failed. | 95| 801 | Capability not supported. Function can not work correctly due to limited device capabilities. | 96| 31500001 | Service exception. | 97| 31500003 | Unsubscribe Failed. | 98 99**Example** 100 101```ts 102motion.off('operatingHandChanged', (data:motion.OperatingHandStatus) => { 103 console.info('off success' + data); 104}) 105``` 106 107 108 109## motion.getRecentOperatingHandStatus() 110 111getRecentOperatingHandStatus(): OperatingHandStatus; 112 113Obtains the latest operating hand status. 114 115**Required permissions**: ohos.permission.ACTIVITY_MOTION 116 117**System capability**: SystemCapability.MultimodalAwarness.Motion 118 119**Return value** 120 121| Type | Description | 122| ----------------------------- | ------------------------------------ | 123| [OperatingHandStatus](#operatinghandstatus) | Status of the operating hand.| 124 125**Error codes** 126 127For details about the error codes, see [Motion Sensing Error Codes](errorcode-motion.md) and [Universal Error Codes](../errorcode-universal.md). 128 129| ID| Error Message | 130| -------- | ------------------------------------------------------------ | 131| 201 | Permission denied. An attempt was made to get the recent operating hand status forbidden by permission: ohos.permission.ACTIVITY_MOTION. | 132| 801 | Capability not supported. Function can not work correctly due to limited device capabilities. | 133| 31500001 | Service exception. | 134 135**Example** 136 137```ts 138let data:motion.OperatingHandStatus = motion.getRecentOperatingHandStatus(); 139console.info('get success' + data); 140``` 141