• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# oh_input_manager.h
2
3<!--Kit: Input Kit-->
4<!--Subsystem: MultimodalInput-->
5<!--Owner: @zhaoxueyuan-->
6<!--Designer: @hanruofei-->
7<!--Tester: @Lyuxin-->
8<!--Adviser: @Brilliantry_Rui-->
9
10## 概述
11
12提供事件注入和关键状态查询等功能。
13
14**引用文件:** <multimodalinput/oh_input_manager.h>
15
16**库:** libohinput.so
17
18**系统能力:** SystemCapability.MultimodalInput.Input.Core
19
20**起始版本:** 12
21
22**相关模块:** [input](capi-input.md)
23
24## 汇总
25
26### 结构体
27
28| 名称 | typedef关键字 | 描述 |
29| -- | -- | -- |
30| [Input_InterceptorEventCallback](capi-input-input-interceptoreventcallback.md) | Input_InterceptorEventCallback | 拦截回调事件结构体,拦截鼠标事件、触屏事件和轴事件。 |
31| [Input_DeviceListener](capi-input-input-devicelistener.md) | Input_DeviceListener | 定义一个结构体用于监听设备热插拔。 |
32| [Input_KeyState](capi-input-input-keystate.md) | Input_KeyState | 定义按键信息,用于标识按键行为。例如,“Ctrl”按键信息包含键值和键类型。 |
33| [Input_KeyEvent](capi-input-input-keyevent.md) | Input_KeyEvent | 要注入的按键事件。 |
34| [Input_MouseEvent](capi-input-input-mouseevent.md) | Input_MouseEvent | 要注入的鼠标事件。 |
35| [Input_TouchEvent](capi-input-input-touchevent.md) | Input_TouchEvent | 要注入的触屏事件。 |
36| [Input_AxisEvent](capi-input-input-axisevent.md) | Input_AxisEvent | 轴事件。 |
37| [Input_Hotkey](capi-input-input-hotkey.md) | Input_Hotkey | 定义快捷键结构体。 |
38| [Input_DeviceInfo](capi-input-input-deviceinfo.md) | Input_DeviceInfo | 输入设备信息。 |
39| [Input_InterceptorOptions](capi-input-input-interceptoroptions.md) | Input_InterceptorOptions | 事件拦截选项。 |
40
41### 枚举
42
43| 名称 | typedef关键字 | 描述 |
44| -- | -- | -- |
45| [Input_KeyStateAction](#input_keystateaction) | Input_KeyStateAction | 按键状态的枚举值。 |
46| [Input_KeyEventAction](#input_keyeventaction) | Input_KeyEventAction | 按键事件类型的枚举值。 |
47| [Input_MouseEventAction](#input_mouseeventaction) | Input_MouseEventAction | 鼠标动作的枚举值。 |
48| [InputEvent_MouseAxis](#inputevent_mouseaxis) | InputEvent_MouseAxis | 鼠标轴事件类型。 |
49| [Input_MouseEventButton](#input_mouseeventbutton) | Input_MouseEventButton | 鼠标按键的枚举值。 |
50| [Input_TouchEventAction](#input_toucheventaction) | Input_TouchEventAction | 触屏动作的枚举值。 |
51| [Input_InjectionStatus](#input_injectionstatus) | Input_InjectionStatus | 注入权限状态枚举值。 |
52| [InputEvent_SourceType](#inputevent_sourcetype) | InputEvent_SourceType | 输入事件源类型。 |
53| [Input_KeyboardType](#input_keyboardtype) | Input_KeyboardType | 输入设备的键盘类型。 |
54| [Input_Result](#input_result) | Input_Result | 错误码枚举值。 |
55
56### 函数
57
58| 名称 | typedef关键字 | 描述 |
59| -- | -- | -- |
60| [typedef void (\*Input_HotkeyCallback)(Input_Hotkey* hotkey)](#input_hotkeycallback) | Input_HotkeyCallback | 回调函数,用于回调快捷键事件。 |
61| [typedef void (\*Input_KeyEventCallback)(const Input_KeyEvent* keyEvent)](#input_keyeventcallback) | Input_KeyEventCallback | 按键事件的回调函数,keyEvent的生命周期为回调函数内。 |
62| [typedef void (\*Input_MouseEventCallback)(const Input_MouseEvent* mouseEvent)](#input_mouseeventcallback) | Input_MouseEventCallback | 鼠标事件的回调函数,mouseEvent的生命周期为回调函数内。 |
63| [typedef void (\*Input_TouchEventCallback)(const Input_TouchEvent* touchEvent)](#input_toucheventcallback) | Input_TouchEventCallback | 触屏事件的回调函数,touchEvent的生命周期为回调函数内。 |
64| [typedef void (\*Input_AxisEventCallback)(const Input_AxisEvent* axisEvent)](#input_axiseventcallback) | Input_AxisEventCallback | 轴事件的回调函数,axisEvent的生命周期为回调函数内。 |
65| [typedef void (\*Input_DeviceAddedCallback)(int32_t deviceId)](#input_deviceaddedcallback) | Input_DeviceAddedCallback | 回调函数,用于回调输入设备的热插事件。 |
66| [typedef void (\*Input_DeviceRemovedCallback)(int32_t deviceId)](#input_deviceremovedcallback) | Input_DeviceRemovedCallback | 回调函数,用于回调输入设备的热拔事件。 |
67| [typedef void (\*Input_InjectAuthorizeCallback)(Input_InjectionStatus authorizedStatus)](#input_injectauthorizecallback) | Input_InjectAuthorizeCallback | 回调函数,用于获取注入权限状态。 |
68| [Input_Result OH_Input_GetKeyState(struct Input_KeyState* keyState)](#oh_input_getkeystate) | - | 查询按键状态的枚举对象。 |
69| [struct Input_KeyState* OH_Input_CreateKeyState()](#oh_input_createkeystate) | - | 创建按键状态的枚举对象。 |
70| [void OH_Input_DestroyKeyState(struct Input_KeyState** keyState)](#oh_input_destroykeystate) | - | 销毁按键状态的枚举对象。 |
71| [void OH_Input_SetKeyCode(struct Input_KeyState* keyState, int32_t keyCode)](#oh_input_setkeycode) | - | 设置按键状态对象的键值。 |
72| [int32_t OH_Input_GetKeyCode(const struct Input_KeyState* keyState)](#oh_input_getkeycode) | - | 获取按键状态对象的键值。 |
73| [void OH_Input_SetKeyPressed(struct Input_KeyState* keyState, int32_t keyAction)](#oh_input_setkeypressed) | - | 设置按键状态对象的按键是否按下。 |
74| [int32_t OH_Input_GetKeyPressed(const struct Input_KeyState* keyState)](#oh_input_getkeypressed) | - | 获取按键状态对象的按键是否按下。 |
75| [void OH_Input_SetKeySwitch(struct Input_KeyState* keyState, int32_t keySwitch)](#oh_input_setkeyswitch) | - | 设置按键状态对象的按键开关。 |
76| [int32_t OH_Input_GetKeySwitch(const struct Input_KeyState* keyState)](#oh_input_getkeyswitch) | - | 获取按键状态对象的按键开关。 |
77| [int32_t OH_Input_InjectKeyEvent(const struct Input_KeyEvent* keyEvent)](#oh_input_injectkeyevent) | - | 注入按键事件。 |
78| [struct Input_KeyEvent* OH_Input_CreateKeyEvent()](#oh_input_createkeyevent) | - | 创建按键事件对象。 |
79| [void OH_Input_DestroyKeyEvent(struct Input_KeyEvent** keyEvent)](#oh_input_destroykeyevent) | - | 销毁按键事件对象。 |
80| [void OH_Input_SetKeyEventAction(struct Input_KeyEvent* keyEvent, int32_t action)](#oh_input_setkeyeventaction) | - | 设置按键事件类型。 |
81| [int32_t OH_Input_GetKeyEventAction(const struct Input_KeyEvent* keyEvent)](#oh_input_getkeyeventaction) | - | 获取按键事件类型。 |
82| [void OH_Input_SetKeyEventKeyCode(struct Input_KeyEvent* keyEvent, int32_t keyCode)](#oh_input_setkeyeventkeycode) | - | 设置按键事件的键值。 |
83| [int32_t OH_Input_GetKeyEventKeyCode(const struct Input_KeyEvent* keyEvent)](#oh_input_getkeyeventkeycode) | - | 获取按键事件的键值。 |
84| [void OH_Input_SetKeyEventActionTime(struct Input_KeyEvent* keyEvent, int64_t actionTime)](#oh_input_setkeyeventactiontime) | - | 设置按键事件发生的时间。 |
85| [int64_t OH_Input_GetKeyEventActionTime(const struct Input_KeyEvent* keyEvent)](#oh_input_getkeyeventactiontime) | - | 获取按键事件发生的时间。 |
86| [void OH_Input_SetKeyEventWindowId(struct Input_KeyEvent* keyEvent, int32_t windowId)](#oh_input_setkeyeventwindowid) | - | 设置按键事件的窗口Id。 |
87| [int32_t OH_Input_GetKeyEventWindowId(const struct Input_KeyEvent* keyEvent)](#oh_input_getkeyeventwindowid) | - | 获取按键事件的窗口Id。 |
88| [void OH_Input_SetKeyEventDisplayId(struct Input_KeyEvent* keyEvent, int32_t displayId)](#oh_input_setkeyeventdisplayid) | - | 设置按键事件的屏幕Id。 |
89| [int32_t OH_Input_GetKeyEventDisplayId(const struct Input_KeyEvent* keyEvent)](#oh_input_getkeyeventdisplayid) | - | 获取按键事件的屏幕Id。 |
90| [struct Input_MouseEvent* OH_Input_CreateMouseEvent()](#oh_input_createmouseevent) | - | 创建鼠标事件对象。 |
91| [void OH_Input_DestroyMouseEvent(struct Input_MouseEvent** mouseEvent)](#oh_input_destroymouseevent) | - | 销毁鼠标事件对象。 |
92| [void OH_Input_SetMouseEventAction(struct Input_MouseEvent* mouseEvent, int32_t action)](#oh_input_setmouseeventaction) | - | 设置鼠标事件的动作。 |
93| [int32_t OH_Input_GetMouseEventAction(const struct Input_MouseEvent* mouseEvent)](#oh_input_getmouseeventaction) | - | 获取鼠标事件的动作。 |
94| [void OH_Input_SetMouseEventDisplayX(struct Input_MouseEvent* mouseEvent, int32_t displayX)](#oh_input_setmouseeventdisplayx) | - | 设置鼠标事件以指定屏幕左上角为原点的相对坐标系的X坐标。 |
95| [int32_t OH_Input_GetMouseEventDisplayX(const struct Input_MouseEvent* mouseEvent)](#oh_input_getmouseeventdisplayx) | - | 获取鼠标事件以指定屏幕左上角为原点的相对坐标系的X坐标。 |
96| [void OH_Input_SetMouseEventDisplayY(struct Input_MouseEvent* mouseEvent, int32_t displayY)](#oh_input_setmouseeventdisplayy) | - | 设置鼠标事件以指定屏幕左上角为原点的相对坐标系的Y坐标。 |
97| [int32_t OH_Input_GetMouseEventDisplayY(const struct Input_MouseEvent* mouseEvent)](#oh_input_getmouseeventdisplayy) | - | 获取鼠标事件以指定屏幕左上角为原点的相对坐标系的Y坐标。 |
98| [void OH_Input_SetMouseEventButton(struct Input_MouseEvent* mouseEvent, int32_t button)](#oh_input_setmouseeventbutton) | - | 设置鼠标事件的按键。 |
99| [int32_t OH_Input_GetMouseEventButton(const struct Input_MouseEvent* mouseEvent)](#oh_input_getmouseeventbutton) | - | 获取鼠标事件的按键。 |
100| [void OH_Input_SetMouseEventAxisType(struct Input_MouseEvent* mouseEvent, int32_t axisType)](#oh_input_setmouseeventaxistype) | - | 设置鼠标轴事件的类型。 |
101| [int32_t OH_Input_GetMouseEventAxisType(const struct Input_MouseEvent* mouseEvent)](#oh_input_getmouseeventaxistype) | - | 获取鼠标轴事件的类型。 |
102| [void OH_Input_SetMouseEventAxisValue(struct Input_MouseEvent* mouseEvent, float axisValue)](#oh_input_setmouseeventaxisvalue) | - | 设置鼠标轴事件的值。 |
103| [float OH_Input_GetMouseEventAxisValue(const struct Input_MouseEvent* mouseEvent)](#oh_input_getmouseeventaxisvalue) | - | 获取鼠标轴事件的值。 |
104| [void OH_Input_SetMouseEventActionTime(struct Input_MouseEvent* mouseEvent, int64_t actionTime)](#oh_input_setmouseeventactiontime) | - | 设置鼠标事件发生的时间。 |
105| [int64_t OH_Input_GetMouseEventActionTime(const struct Input_MouseEvent* mouseEvent)](#oh_input_getmouseeventactiontime) | - | 获取鼠标事件发生的时间。 |
106| [void OH_Input_SetMouseEventWindowId(struct Input_MouseEvent* mouseEvent, int32_t windowId)](#oh_input_setmouseeventwindowid) | - | 设置鼠标事件的窗口Id。 |
107| [int32_t OH_Input_GetMouseEventWindowId(const struct Input_MouseEvent* mouseEvent)](#oh_input_getmouseeventwindowid) | - | 获取鼠标事件的窗口Id。 |
108| [void OH_Input_SetMouseEventDisplayId(struct Input_MouseEvent* mouseEvent, int32_t displayId)](#oh_input_setmouseeventdisplayid) | - | 设置鼠标事件的屏幕Id。 |
109| [struct Input_TouchEvent* OH_Input_CreateTouchEvent()](#oh_input_createtouchevent) | - | 创建触屏事件对象。 |
110| [void OH_Input_DestroyTouchEvent(struct Input_TouchEvent** touchEvent)](#oh_input_destroytouchevent) | - | 销毁触屏事件对象。 |
111| [void OH_Input_SetTouchEventAction(struct Input_TouchEvent* touchEvent, int32_t action)](#oh_input_settoucheventaction) | - | 设置触屏事件的动作。 |
112| [int32_t OH_Input_GetTouchEventAction(const struct Input_TouchEvent* touchEvent)](#oh_input_gettoucheventaction) | - | 获取触屏事件的动作。 |
113| [void OH_Input_SetTouchEventFingerId(struct Input_TouchEvent* touchEvent, int32_t id)](#oh_input_settoucheventfingerid) | - | 设置触屏事件的手指ID。 |
114| [int32_t OH_Input_GetTouchEventFingerId(const struct Input_TouchEvent* touchEvent)](#oh_input_gettoucheventfingerid) | - | 获取触屏事件的手指ID。 |
115| [void OH_Input_SetTouchEventDisplayX(struct Input_TouchEvent* touchEvent, int32_t displayX)](#oh_input_settoucheventdisplayx) | - | 设置触屏事件以指定屏幕左上角为原点的相对坐标系的X坐标。 |
116| [int32_t OH_Input_GetTouchEventDisplayX(const struct Input_TouchEvent* touchEvent)](#oh_input_gettoucheventdisplayx) | - | 获取触屏事件以指定屏幕左上角为原点的相对坐标系的X坐标。 |
117| [void OH_Input_SetTouchEventDisplayY(struct Input_TouchEvent* touchEvent, int32_t displayY)](#oh_input_settoucheventdisplayy) | - | 设置触屏事件以指定屏幕左上角为原点的相对坐标系的Y坐标。 |
118| [int32_t OH_Input_GetTouchEventDisplayY(const struct Input_TouchEvent* touchEvent)](#oh_input_gettoucheventdisplayy) | - | 获取触屏事件以指定屏幕左上角为原点的相对坐标系的Y坐标。 |
119| [void OH_Input_SetTouchEventActionTime(struct Input_TouchEvent* touchEvent, int64_t actionTime)](#oh_input_settoucheventactiontime) | - | 设置触屏事件发生的时间。 |
120| [int64_t OH_Input_GetTouchEventActionTime(const struct Input_TouchEvent* touchEvent)](#oh_input_gettoucheventactiontime) | - | 获取触屏事件发生的时间。 |
121| [void OH_Input_SetTouchEventWindowId(struct Input_TouchEvent* touchEvent, int32_t windowId)](#oh_input_settoucheventwindowid) | - | 设置触屏事件的窗口Id。 |
122| [int32_t OH_Input_GetTouchEventWindowId(const struct Input_TouchEvent* touchEvent)](#oh_input_gettoucheventwindowid) | - | 获取触屏事件的窗口Id。 |
123| [void OH_Input_SetTouchEventDisplayId(struct Input_TouchEvent* touchEvent, int32_t displayId)](#oh_input_settoucheventdisplayid) | - | 设置触屏事件的屏幕Id。 |
124| [int32_t OH_Input_GetTouchEventDisplayId(const struct Input_TouchEvent* touchEvent)](#oh_input_gettoucheventdisplayid) | - | 获取触屏事件的屏幕Id。 |
125| [void OH_Input_CancelInjection()](#oh_input_cancelinjection) | - | 取消事件注入并撤销授权。 |
126| [Input_Result OH_Input_RequestInjection(Input_InjectAuthorizeCallback callback)](#oh_input_requestinjection) | - | 当前应用申请注入权限,包括申请注入按键事件[OH_Input_InjectKeyEvent](capi-oh-input-manager-h.md#oh_input_injectkeyevent)、注入触屏事件[OH_Input_InjectTouchEvent](capi-oh-input-manager-h.md#oh_input_injecttouchevent)、注入鼠标事件[OH_Input_InjectMouseEvent](capi-oh-input-manager-h.md#oh_input_injectmouseevent)等注入操作的权限。 |
127| [Input_Result OH_Input_QueryAuthorizedStatus(Input_InjectionStatus* status)](#oh_input_queryauthorizedstatus) | - | 查询当前应用注入的权限状态。 |
128| [Input_AxisEvent* OH_Input_CreateAxisEvent(void)](#oh_input_createaxisevent) | - | 创建轴事件对象实例。 |
129| [Input_Result OH_Input_DestroyAxisEvent(Input_AxisEvent** axisEvent)](#oh_input_destroyaxisevent) | - | 销毁轴事件对象实例。 |
130| [Input_Result OH_Input_SetAxisEventAction(Input_AxisEvent* axisEvent, InputEvent_AxisAction action)](#oh_input_setaxiseventaction) | - | 设置轴事件的动作。 |
131| [Input_Result OH_Input_GetAxisEventAction(const Input_AxisEvent* axisEvent, InputEvent_AxisAction *action)](#oh_input_getaxiseventaction) | - | 获取轴事件的动作。 |
132| [Input_Result OH_Input_SetAxisEventDisplayX(Input_AxisEvent* axisEvent, float displayX)](#oh_input_setaxiseventdisplayx) | - | 设置轴事件以指定屏幕左上角为原点的相对坐标系的X坐标。 |
133| [Input_Result OH_Input_GetAxisEventDisplayX(const Input_AxisEvent* axisEvent, float* displayX)](#oh_input_getaxiseventdisplayx) | - | 获取轴事件以指定屏幕左上角为原点的相对坐标系的X坐标。 |
134| [Input_Result OH_Input_SetAxisEventDisplayY(Input_AxisEvent* axisEvent, float displayY)](#oh_input_setaxiseventdisplayy) | - | 设置轴事件以指定屏幕左上角为原点的相对坐标系的Y坐标。 |
135| [Input_Result OH_Input_GetAxisEventDisplayY(const Input_AxisEvent* axisEvent, float* displayY)](#oh_input_getaxiseventdisplayy) | - | 获取轴事件以指定屏幕左上角为原点的相对坐标系的Y坐标。 |
136| [Input_Result OH_Input_SetAxisEventAxisValue(Input_AxisEvent* axisEvent,InputEvent_AxisType axisType, double axisValue)](#oh_input_setaxiseventaxisvalue) | - | 设置轴事件指定轴类型的轴值。 |
137| [Input_Result OH_Input_GetAxisEventAxisValue(const Input_AxisEvent* axisEvent,InputEvent_AxisType axisType, double* axisValue)](#oh_input_getaxiseventaxisvalue) | - | 获取轴事件指定轴类型的轴值。 |
138| [Input_Result OH_Input_SetAxisEventActionTime(Input_AxisEvent* axisEvent, int64_t actionTime)](#oh_input_setaxiseventactiontime) | - | 设置轴事件发生的时间。 |
139| [Input_Result OH_Input_GetAxisEventActionTime(const Input_AxisEvent* axisEvent, int64_t* actionTime)](#oh_input_getaxiseventactiontime) | - | 获取轴事件发生的时间。 |
140| [Input_Result OH_Input_SetAxisEventType(Input_AxisEvent* axisEvent, InputEvent_AxisEventType axisEventType)](#oh_input_setaxiseventtype) | - | 设置轴事件类型。 |
141| [Input_Result OH_Input_GetAxisEventType(const Input_AxisEvent* axisEvent, InputEvent_AxisEventType* axisEventType)](#oh_input_getaxiseventtype) | - | 获取轴事件类型。 |
142| [Input_Result OH_Input_SetAxisEventSourceType(Input_AxisEvent* axisEvent, InputEvent_SourceType sourceType)](#oh_input_setaxiseventsourcetype) | - | 设置轴事件源类型。 |
143| [Input_Result OH_Input_GetAxisEventSourceType(const Input_AxisEvent* axisEvent, InputEvent_SourceType* sourceType)](#oh_input_getaxiseventsourcetype) | - | 获取轴事件源类型。 |
144| [Input_Result OH_Input_SetAxisEventWindowId(Input_AxisEvent* axisEvent, int32_t windowId)](#oh_input_setaxiseventwindowid) | - | 设置轴事件的窗口Id。 |
145| [Input_Result OH_Input_GetAxisEventWindowId(const Input_AxisEvent* axisEvent, int32_t* windowId)](#oh_input_getaxiseventwindowid) | - | 获取轴事件的窗口Id。 |
146| [Input_Result OH_Input_SetAxisEventDisplayId(Input_AxisEvent* axisEvent, int32_t displayId)](#oh_input_setaxiseventdisplayid) | - | 设置轴事件的屏幕Id。 |
147| [Input_Result OH_Input_GetAxisEventDisplayId(const Input_AxisEvent* axisEvent, int32_t* displayId)](#oh_input_getaxiseventdisplayid) | - | 获取轴事件的屏幕Id。 |
148| [Input_Result OH_Input_AddKeyEventMonitor(Input_KeyEventCallback callback)](#oh_input_addkeyeventmonitor) | - | 添加按键事件监听。 |
149| [Input_Result OH_Input_AddMouseEventMonitor(Input_MouseEventCallback callback)](#oh_input_addmouseeventmonitor) | - | 添加鼠标事件监听,包含鼠标点击,移动,不包含滚轮事件,滚轮事件归属于轴事件。 |
150| [Input_Result OH_Input_AddTouchEventMonitor(Input_TouchEventCallback callback)](#oh_input_addtoucheventmonitor) | - | 添加触屏事件监听。 |
151| [Input_Result OH_Input_AddAxisEventMonitorForAll(Input_AxisEventCallback callback)](#oh_input_addaxiseventmonitorforall) | - | 添加所有类型轴事件监听,轴事件类型定义在[InputEvent_AxisEventType](capi-oh-axis-type-h.md#inputevent_axiseventtype)中。 |
152| [Input_Result OH_Input_AddAxisEventMonitor(InputEvent_AxisEventType axisEventType, Input_AxisEventCallback callback)](#oh_input_addaxiseventmonitor) | - | 添加指定类型的轴事件监听,轴事件类型定义在[InputEvent_AxisEventType](capi-oh-axis-type-h.md#inputevent_axiseventtype)中。 |
153| [Input_Result OH_Input_RemoveKeyEventMonitor(Input_KeyEventCallback callback)](#oh_input_removekeyeventmonitor) | - | 移除按键事件监听。 |
154| [Input_Result OH_Input_RemoveMouseEventMonitor(Input_MouseEventCallback callback)](#oh_input_removemouseeventmonitor) | - | 移除鼠标事件监听。 |
155| [Input_Result OH_Input_RemoveTouchEventMonitor(Input_TouchEventCallback callback)](#oh_input_removetoucheventmonitor) | - | 移除触屏事件监听。 |
156| [Input_Result OH_Input_RemoveAxisEventMonitorForAll(Input_AxisEventCallback callback)](#oh_input_removeaxiseventmonitorforall) | - | 移除所有类型轴事件监听。 |
157| [Input_Result OH_Input_RemoveAxisEventMonitor(InputEvent_AxisEventType axisEventType, Input_AxisEventCallback callback)](#oh_input_removeaxiseventmonitor) | - | 移除指定类型轴事件监听,轴事件类型定义在[InputEvent_AxisEventType](capi-oh-axis-type-h.md#inputevent_axiseventtype)中。 |
158| [Input_Result OH_Input_AddKeyEventInterceptor(Input_KeyEventCallback callback, Input_InterceptorOptions *option)](#oh_input_addkeyeventinterceptor) | - | 添加按键事件的拦截,重复添加只有第一次生效。仅在应用获焦时拦截按键事件。 |
159| [Input_Result OH_Input_AddInputEventInterceptor(Input_InterceptorEventCallback *callback,Input_InterceptorOptions *option)](#oh_input_addinputeventinterceptor) | - | 添加输入事件拦截,包括鼠标、触屏和轴事件,重复添加只有第一次生效。仅命中应用窗口时拦截输入事件。 |
160| [Input_Result OH_Input_RemoveKeyEventInterceptor(void)](#oh_input_removekeyeventinterceptor) | - | 移除按键事件拦截。 |
161| [Input_Result OH_Input_RemoveInputEventInterceptor(void)](#oh_input_removeinputeventinterceptor) | - | 移除输入事件拦截,包括鼠标、触屏和轴事件。 |
162| [Input_Result OH_Input_GetIntervalSinceLastInput(int64_t *timeInterval)](#oh_input_getintervalsincelastinput) | - | 获取距离上次系统输入事件的时间间隔。 |
163| [Input_Hotkey *OH_Input_CreateHotkey(void)](#oh_input_createhotkey) | - | 创建快捷键对象的实例。 |
164| [void OH_Input_DestroyHotkey(Input_Hotkey **hotkey)](#oh_input_destroyhotkey) | - | 销毁快捷键对象的实例。 |
165| [void OH_Input_SetPreKeys(Input_Hotkey *hotkey, int32_t *preKeys, int32_t size)](#oh_input_setprekeys) | - | 设置修饰键。 |
166| [Input_Result OH_Input_GetPreKeys(const Input_Hotkey *hotkey, int32_t **preKeys, int32_t *preKeyCount)](#oh_input_getprekeys) | - | 获取修饰键。 |
167| [void OH_Input_SetFinalKey(Input_Hotkey* hotkey, int32_t finalKey)](#oh_input_setfinalkey) | - | 设置被修饰键。 |
168| [Input_Result OH_Input_GetFinalKey(const Input_Hotkey* hotkey, int32_t *finalKeyCode)](#oh_input_getfinalkey) | - | 获取被修饰键。 |
169| [Input_Hotkey **OH_Input_CreateAllSystemHotkeys(int32_t count)](#oh_input_createallsystemhotkeys) | - | 创建[Input_Hotkey](capi-input-input-hotkey.md)类型实例的数组。 |
170| [void OH_Input_DestroyAllSystemHotkeys(Input_Hotkey **hotkeys, int32_t count)](#oh_input_destroyallsystemhotkeys) | - | 销毁[Input_Hotkey](capi-input-input-hotkey.md)实例数组并回收内存。 |
171| [Input_Result OH_Input_GetAllSystemHotkeys(Input_Hotkey **hotkey, int32_t *count)](#oh_input_getallsystemhotkeys) | - | 获取设置的所有快捷键。 |
172| [void OH_Input_SetRepeat(Input_Hotkey* hotkey, bool isRepeat)](#oh_input_setrepeat) | - | 设置是否上报重复key事件。 |
173| [Input_Result OH_Input_GetRepeat(const Input_Hotkey* hotkey, bool *isRepeat)](#oh_input_getrepeat) | - | 获取是否上报重复key事件。 |
174| [Input_Result OH_Input_AddHotkeyMonitor(const Input_Hotkey* hotkey, Input_HotkeyCallback callback)](#oh_input_addhotkeymonitor) | - | 订阅快捷键事件。此接口在智能穿戴、轻量级智能穿戴设备不生效。 |
175| [Input_Result OH_Input_RemoveHotkeyMonitor(const Input_Hotkey* hotkey, Input_HotkeyCallback callback)](#oh_input_removehotkeymonitor) | - | 取消订阅快捷键。 |
176| [Input_Result OH_Input_RegisterDeviceListener(Input_DeviceListener* listener)](#oh_input_registerdevicelistener) | - | 注册设备热插拔的监听器。 |
177| [Input_Result OH_Input_UnregisterDeviceListener(Input_DeviceListener* listener)](#oh_input_unregisterdevicelistener) | - | 取消注册设备热插拔的监听。 |
178| [Input_Result OH_Input_UnregisterDeviceListeners()](#oh_input_unregisterdevicelisteners) | - | 取消注册所有的设备热插拔的监听。 |
179| [Input_Result OH_Input_GetDeviceIds(int32_t *deviceIds, int32_t inSize, int32_t *outSize)](#oh_input_getdeviceids) | - | 获取所有输入设备的ID列表。 |
180| [Input_Result OH_Input_GetDevice(int32_t deviceId, Input_DeviceInfo **deviceInfo)](#oh_input_getdevice) | - | 获取输入设备信息。 |
181| [Input_DeviceInfo* OH_Input_CreateDeviceInfo(void)](#oh_input_createdeviceinfo) | - | 创建输入设备信息的对象。 |
182| [void OH_Input_DestroyDeviceInfo(Input_DeviceInfo **deviceInfo)](#oh_input_destroydeviceinfo) | - | 销毁输入设备信息的对象。 |
183| [Input_Result OH_Input_GetKeyboardType(int32_t deviceId, int32_t *keyboardType)](#oh_input_getkeyboardtype) | - | 获取输入设备的键盘类型。 |
184| [Input_Result OH_Input_GetDeviceId(Input_DeviceInfo *deviceInfo, int32_t *id)](#oh_input_getdeviceid) | - | 获取输入设备的id。 |
185| [Input_Result OH_Input_GetDeviceName(Input_DeviceInfo *deviceInfo, char **name)](#oh_input_getdevicename) | - | 获取输入设备的名称。 |
186| [Input_Result OH_Input_GetCapabilities(Input_DeviceInfo *deviceInfo, int32_t *capabilities)](#oh_input_getcapabilities) | - | 获取有关输入设备能力信息,比如设备是触摸屏、触控板、键盘等。 |
187| [Input_Result OH_Input_GetDeviceVersion(Input_DeviceInfo *deviceInfo, int32_t *version)](#oh_input_getdeviceversion) | - | 获取输入设备的版本信息。 |
188| [Input_Result OH_Input_GetDeviceProduct(Input_DeviceInfo *deviceInfo, int32_t *product)](#oh_input_getdeviceproduct) | - | 获取输入设备的产品信息。 |
189| [Input_Result OH_Input_GetDeviceVendor(Input_DeviceInfo *deviceInfo, int32_t *vendor)](#oh_input_getdevicevendor) | - | 获取输入设备的厂商信息。 |
190| [Input_Result OH_Input_GetDeviceAddress(Input_DeviceInfo *deviceInfo, char **address)](#oh_input_getdeviceaddress) | - | 获取输入设备的物理地址。 |
191| [Input_Result OH_Input_GetFunctionKeyState(int32_t keyCode, int32_t *state)](#oh_input_getfunctionkeystate) | - | 获取功能键状态。 |
192| [int32_t OH_Input_InjectTouchEvent(const struct Input_TouchEvent* touchEvent)](#oh_input_injecttouchevent) | - | 使用以指定屏幕左上角为原点的相对坐标系的坐标注入触屏事件。 |
193| [int32_t OH_Input_InjectMouseEvent(const struct Input_MouseEvent* mouseEvent)](#oh_input_injectmouseevent) | - | 使用以指定屏幕左上角为原点的相对坐标系的坐标注入鼠标事件。 |
194| [int32_t OH_Input_GetMouseEventDisplayId(const struct Input_MouseEvent* mouseEvent)](#oh_input_getmouseeventdisplayid) | - | 获取鼠标事件的屏幕Id。 |
195| [Input_Result OH_Input_QueryMaxTouchPoints(int32_t *count)](#oh_input_querymaxtouchpoints) | - | 查询设备支持的最大触屏报点数。 |
196| [int32_t OH_Input_InjectMouseEventGlobal(const struct Input_MouseEvent* mouseEvent)](#oh_input_injectmouseeventglobal) | - | 使用以主屏左上角为原点的全局坐标系的坐标注入鼠标事件。 |
197| [void OH_Input_SetMouseEventGlobalX(struct Input_MouseEvent* mouseEvent, int32_t globalX)](#oh_input_setmouseeventglobalx) | - | 设置鼠标事件以主屏左上角为原点的全局坐标系的X坐标。 |
198| [int32_t OH_Input_GetMouseEventGlobalX(const struct Input_MouseEvent* mouseEvent)](#oh_input_getmouseeventglobalx) | - | 获取鼠标事件以主屏左上角为原点的全局坐标系的X坐标。 |
199| [void OH_Input_SetMouseEventGlobalY(struct Input_MouseEvent* mouseEvent, int32_t globalY)](#oh_input_setmouseeventglobaly) | - | 设置鼠标事件以主屏左上角为原点的全局坐标系的Y坐标。 |
200| [int32_t OH_Input_GetMouseEventGlobalY(const struct Input_MouseEvent* mouseEvent)](#oh_input_getmouseeventglobaly) | - | 获取鼠标事件以主屏左上角为原点的全局坐标系的Y坐标。 |
201| [int32_t OH_Input_InjectTouchEventGlobal(const struct Input_TouchEvent* touchEvent)](#oh_input_injecttoucheventglobal) | - | 使用以主屏左上角为原点的全局坐标系的坐标注入触屏事件。 |
202| [void OH_Input_SetTouchEventGlobalX(struct Input_TouchEvent* touchEvent, int32_t globalX)](#oh_input_settoucheventglobalx) | - | 设置触屏事件以主屏左上角为原点的全局坐标系的X坐标。 |
203| [int32_t OH_Input_GetTouchEventGlobalX(const struct Input_TouchEvent* touchEvent)](#oh_input_gettoucheventglobalx) | - | 获取触屏事件以主屏左上角为原点的全局坐标系的X坐标。 |
204| [void OH_Input_SetTouchEventGlobalY(struct Input_TouchEvent* touchEvent, int32_t globalY)](#oh_input_settoucheventglobaly) | - | 设置触屏事件以主屏左上角为原点的全局坐标系的Y坐标。 |
205| [int32_t OH_Input_GetTouchEventGlobalY(const struct Input_TouchEvent* touchEvent)](#oh_input_gettoucheventglobaly) | - | 获取触屏事件以主屏左上角为原点的全局坐标系的Y坐标。 |
206| [Input_Result OH_Input_SetAxisEventGlobalX(struct Input_AxisEvent* axisEvent, int32_t globalX)](#oh_input_setaxiseventglobalx) | - | 设置轴事件以主屏左上角为原点的全局坐标系的X坐标。 |
207| [Input_Result OH_Input_GetAxisEventGlobalX(const Input_AxisEvent* axisEvent, int32_t* globalX)](#oh_input_getaxiseventglobalx) | - | 获取轴事件以主屏左上角为原点的全局坐标系的X坐标。 |
208| [Input_Result OH_Input_SetAxisEventGlobalY(struct Input_AxisEvent* axisEvent, int32_t globalY)](#oh_input_setaxiseventglobaly) | - | 设置轴事件以主屏左上角为原点的全局坐标系的Y坐标。 |
209| [Input_Result OH_Input_GetAxisEventGlobalY(const Input_AxisEvent* axisEvent, int32_t* globalY)](#oh_input_getaxiseventglobaly) | - | 获取轴事件以主屏左上角为原点的全局坐标系的Y坐标。 |
210| [Input_Result OH_Input_GetPointerLocation(int32_t *displayId, double *displayX, double *displayY)](#oh_input_getpointerlocation) | - | 获取鼠标在屏幕上的坐标点。 |
211
212## 枚举类型说明
213
214### Input_KeyStateAction
215
216```
217enum Input_KeyStateAction
218```
219
220**描述**
221
222按键状态的枚举值。
223
224**起始版本:** 12
225
226| 枚举项 | 描述 |
227| -- | -- |
228| KEY_DEFAULT = -1 | 默认状态。 |
229| KEY_PRESSED = 0 | 按键按下。 |
230| KEY_RELEASED = 1 | 按键抬起。 |
231| KEY_SWITCH_ON = 2 | 按键开关使能。 |
232| KEY_SWITCH_OFF = 3 | 按键开关去使能。 |
233
234### Input_KeyEventAction
235
236```
237enum Input_KeyEventAction
238```
239
240**描述**
241
242按键事件类型的枚举值。
243
244**起始版本:** 12
245
246| 枚举项 | 描述 |
247| -- | -- |
248| KEY_ACTION_CANCEL = 0 | 按键动作取消。 |
249| KEY_ACTION_DOWN = 1 | 按键按下。 |
250| KEY_ACTION_UP = 2 | 按键抬起。 |
251
252### Input_MouseEventAction
253
254```
255enum Input_MouseEventAction
256```
257
258**描述**
259
260鼠标动作的枚举值。
261
262**起始版本:** 12
263
264| 枚举项 | 描述 |
265| -- | -- |
266| MOUSE_ACTION_CANCEL = 0 | 取消鼠标动作。 |
267| MOUSE_ACTION_MOVE = 1 | 移动鼠标。 |
268| MOUSE_ACTION_BUTTON_DOWN = 2 | 按下鼠标。 |
269| MOUSE_ACTION_BUTTON_UP = 3 | 抬起鼠标按键。 |
270| MOUSE_ACTION_AXIS_BEGIN = 4 | 鼠标轴事件开始。 |
271| MOUSE_ACTION_AXIS_UPDATE = 5 | 更新鼠标轴事件。 |
272| MOUSE_ACTION_AXIS_END = 6 | 鼠标轴事件结束。 |
273
274### InputEvent_MouseAxis
275
276```
277enum InputEvent_MouseAxis
278```
279
280**描述**
281
282鼠标轴事件类型。
283
284**起始版本:** 12
285
286| 枚举项 | 描述 |
287| -- | -- |
288| MOUSE_AXIS_SCROLL_VERTICAL = 0 | 垂直滚动轴。 |
289| MOUSE_AXIS_SCROLL_HORIZONTAL = 1 | 水平滚动轴。 |
290
291### Input_MouseEventButton
292
293```
294enum Input_MouseEventButton
295```
296
297**描述**
298
299鼠标按键的枚举值。
300
301**起始版本:** 12
302
303| 枚举项 | 描述 |
304| -- | -- |
305| MOUSE_BUTTON_NONE = -1 | 无效按键。 |
306| MOUSE_BUTTON_LEFT = 0 | 鼠标左键。 |
307| MOUSE_BUTTON_MIDDLE = 1 | 鼠标中间键。 |
308| MOUSE_BUTTON_RIGHT = 2 | 鼠标右键。 |
309| MOUSE_BUTTON_FORWARD = 3 | 鼠标前进键。 |
310| MOUSE_BUTTON_BACK = 4 | 鼠标返回键。 |
311
312### Input_TouchEventAction
313
314```
315enum Input_TouchEventAction
316```
317
318**描述**
319
320触屏动作的枚举值。
321
322**起始版本:** 12
323
324| 枚举项 | 描述 |
325| -- | -- |
326| TOUCH_ACTION_CANCEL = 0 | 触屏取消。 |
327| TOUCH_ACTION_DOWN = 1 | 触屏按下。 |
328| TOUCH_ACTION_MOVE = 2 | 触屏移动。 |
329| TOUCH_ACTION_UP = 3 | 触屏抬起。 |
330
331### Input_InjectionStatus
332
333```
334enum Input_InjectionStatus
335```
336
337**描述**
338
339注入权限状态枚举值。
340
341**起始版本:** 20
342
343| 枚举项 | 描述 |
344| -- | -- |
345| UNAUTHORIZED = 0 | 未授权。 |
346| AUTHORIZING = 1 | 授权中。 |
347| AUTHORIZED = 2 | 已授权。 |
348
349### InputEvent_SourceType
350
351```
352enum InputEvent_SourceType
353```
354
355**描述**
356
357输入事件源类型。
358
359**起始版本:** 12
360
361| 枚举项 | 描述 |
362| -- | -- |
363| SOURCE_TYPE_MOUSE = 1 | 表示输入源生成鼠标光标移动、按钮按下和释放以及滚轮滚动的事件。 |
364| SOURCE_TYPE_TOUCHSCREEN = 2 | 表示输入源产生触摸屏多点触屏事件。 |
365| SOURCE_TYPE_TOUCHPAD = 3 | 表示输入源产生触摸板多点触屏事件。 |
366
367### Input_KeyboardType
368
369```
370enum Input_KeyboardType
371```
372
373**描述**
374
375输入设备的键盘类型。
376
377**起始版本:** 13
378
379| 枚举项 | 描述 |
380| -- | -- |
381| KEYBOARD_TYPE_NONE = 0 | 表示无按键设备。 |
382| KEYBOARD_TYPE_UNKNOWN = 1 | 表示未知按键设备。 |
383| KEYBOARD_TYPE_ALPHABETIC = 2 | 表示全键盘设备。 |
384| KEYBOARD_TYPE_DIGITAL = 3 | 表示数字键盘设备。 |
385| KEYBOARD_TYPE_STYLUS = 4 | 表示手写笔设备。 |
386| KEYBOARD_TYPE_REMOTE_CONTROL = 5 | 表示遥控器设备。 |
387
388### Input_Result
389
390```
391enum Input_Result
392```
393
394**描述**
395
396错误码枚举值。
397
398**起始版本:** 12
399
400| 枚举项 | 描述 |
401| -- | -- |
402| INPUT_SUCCESS = 0 | 操作成功。 |
403| INPUT_PERMISSION_DENIED = 201 | 权限验证失败。 |
404| INPUT_NOT_SYSTEM_APPLICATION = 202 | 非系统应用。 |
405| INPUT_PARAMETER_ERROR = 401 | 参数检查失败。 |
406| INPUT_DEVICE_NOT_SUPPORTED = 801 | 表示功能不受支持。<br>**起始版本:** 14。|
407| INPUT_SERVICE_EXCEPTION = 3800001 | 服务异常。 |
408| INPUT_REPEAT_INTERCEPTOR = 4200001 | 应用创建拦截后,再次执行创建拦截的操作。 |
409| INPUT_OCCUPIED_BY_SYSTEM = 4200002 | 已经被系统应用占用。<br>**起始版本:** 14。 |
410| INPUT_OCCUPIED_BY_OTHER = 4200003 | 已经被其他应用占用。<br>**起始版本:** 14。 |
411| INPUT_KEYBOARD_DEVICE_NOT_EXIST = 3900002 |  未连接键盘设备。<br>**起始版本:** 15。 |
412| INPUT_INJECTION_AUTHORIZING = 3900005 |  正在授权中。<br>**起始版本:** 20。 |
413| INPUT_INJECTION_OPERATION_FREQUENT = 3900006 |  重复请求。<br>**起始版本:** 20。 |
414| INPUT_INJECTION_AUTHORIZED = 3900007 |  当前应用已经授权。<br>**起始版本:** 20。 |
415| INPUT_INJECTION_AUTHORIZED_OTHERS = 3900008 |  其它应用已经授权。<br>**起始版本:** 20。 |
416| INPUT_APP_NOT_FOCUSED = 3900009 |  当前应用不是焦点应用。<br>**起始版本:** 20。 |
417| INPUT_DEVICE_NO_POINTER = 3900010 |  无鼠标类输入外设。<br>**起始版本:** 20。 |
418
419
420## 函数说明
421
422### Input_HotkeyCallback()
423
424```
425typedef void (*Input_HotkeyCallback)(Input_Hotkey* hotkey)
426```
427
428**描述**
429
430回调函数,用于回调快捷键事件。
431
432**起始版本:** 14
433
434### Input_KeyEventCallback()
435
436```
437typedef void (*Input_KeyEventCallback)(const Input_KeyEvent* keyEvent)
438```
439
440**描述**
441
442按键事件的回调函数,keyEvent的生命周期为回调函数内。
443
444**起始版本:** 12
445
446
447**参数:**
448
449| 参数项 | 描述 |
450| -- | -- |
451| const [Input_KeyEvent](capi-input-input-keyevent.md)* keyEvent | 按键事件对象,通过[OH_Input_CreateKeyEvent](#oh_input_createkeyevent)接口可以创建按键事件对象。<br>使用完需使用[OH_Input_DestroyKeyEvent](#oh_input_destroykeyevent)接口销毁按键事件对象。 |
452
453### Input_MouseEventCallback()
454
455```
456typedef void (*Input_MouseEventCallback)(const Input_MouseEvent* mouseEvent)
457```
458
459**描述**
460
461鼠标事件的回调函数,mouseEvent的生命周期为回调函数内。
462
463**起始版本:** 12
464
465
466**参数:**
467
468| 参数项 | 描述 |
469| -- | -- |
470| const [Input_MouseEvent](capi-input-input-mouseevent.md)* mouseEvent | 鼠标事件对象,通过[OH_Input_CreateMouseEvent](#oh_input_createmouseevent)接口可以创建鼠标事件对象。<br>使用完需使用[OH_Input_DestroyMouseEvent](#oh_input_destroymouseevent)接口销毁鼠标事件对象。 |
471
472### Input_TouchEventCallback()
473
474```
475typedef void (*Input_TouchEventCallback)(const Input_TouchEvent* touchEvent)
476```
477
478**描述**
479
480触屏事件的回调函数,touchEvent的生命周期为回调函数内。
481
482**起始版本:** 12
483
484
485**参数:**
486
487| 参数项 | 描述 |
488| -- | -- |
489| const [Input_TouchEvent](capi-input-input-touchevent.md)* touchEvent | 触屏事件对象,通过[OH_Input_CreateTouchEvent](#oh_input_createtouchevent)接口可以创建触屏事件对象。<br>使用完需使用[OH_Input_DestroyTouchEvent](#oh_input_destroytouchevent)接口销毁触屏事件对象。 |
490
491### Input_AxisEventCallback()
492
493```
494typedef void (*Input_AxisEventCallback)(const Input_AxisEvent* axisEvent)
495```
496
497**描述**
498
499轴事件的回调函数,axisEvent的生命周期为回调函数内。
500
501**起始版本:** 12
502
503
504**参数:**
505
506| 参数项 | 描述 |
507| -- | -- |
508| const [Input_AxisEvent](capi-input-input-axisevent.md)* axisEvent | 轴事件对象,通过[OH_Input_CreateAxisEvent](#oh_input_createaxisevent)接口可以创建轴事件对象。<br>使用完需使用[OH_Input_DestroyAxisEvent](#oh_input_destroyaxisevent)接口销毁轴事件对象。 |
509
510### Input_DeviceAddedCallback()
511
512```
513typedef void (*Input_DeviceAddedCallback)(int32_t deviceId)
514```
515
516**描述**
517
518回调函数,用于回调输入设备的热插事件。
519
520**起始版本:** 13
521
522
523**参数:**
524
525| 参数项 | 描述 |
526| -- | -- |
527| int32_t deviceId | 设备的ID。 |
528
529### Input_DeviceRemovedCallback()
530
531```
532typedef void (*Input_DeviceRemovedCallback)(int32_t deviceId)
533```
534
535**描述**
536
537回调函数,用于回调输入设备的热拔事件。
538
539**起始版本:** 13
540
541
542**参数:**
543
544| 参数项 | 描述 |
545| -- | -- |
546| int32_t deviceId | 设备的ID。 |
547
548### Input_InjectAuthorizeCallback()
549
550```
551typedef void (*Input_InjectAuthorizeCallback)(Input_InjectionStatus authorizedStatus)
552```
553
554**描述**
555
556回调函数,用于获取注入权限状态。
557
558**起始版本:** 20
559
560
561**参数:**
562
563| 参数项 | 描述 |
564| -- | -- |
565| [Input_InjectionStatus](capi-oh-input-manager-h.md#input_injectionstatus) authorizedStatus | 注入权限状态。 |
566
567### OH_Input_GetKeyState()
568
569```
570Input_Result OH_Input_GetKeyState(struct Input_KeyState* keyState)
571```
572
573**描述**
574
575查询按键状态的枚举对象。
576
577**系统能力:** SystemCapability.MultimodalInput.Input.Core
578
579**起始版本:** 12
580
581
582**参数:**
583
584| 参数项 | 描述 |
585| -- | -- |
586| struct [Input_KeyState](capi-input-input-keystate.md)* keyState | 按键状态的枚举对象,具体请参考[Input_KeyStateAction](#input_keystateaction)。 |
587
588**返回:**
589
590| 类型 | 说明 |
591| -- | -- |
592| [Input_Result](#input_result) | 如果操作成功,@return返回[INPUT_SUCCESS](#input_result); <br> 否则返回[Input_Result](#input_result)中定义的其他错误代码。 |
593
594### OH_Input_CreateKeyState()
595
596```
597struct Input_KeyState* OH_Input_CreateKeyState()
598```
599
600**描述**
601
602创建按键状态的枚举对象。
603
604**系统能力:** SystemCapability.MultimodalInput.Input.Core
605
606**起始版本:** 12
607
608**返回:**
609
610| 类型 | 说明 |
611| -- | -- |
612| struct | 如果操作成功,@return返回一个[Input_KeyState](capi-input-input-keystate.md)指针对象;否则返回空指针。 |
613
614### OH_Input_DestroyKeyState()
615
616```
617void OH_Input_DestroyKeyState(struct Input_KeyState** keyState)
618```
619
620**描述**
621
622销毁按键状态的枚举对象。
623
624**系统能力:** SystemCapability.MultimodalInput.Input.Core
625
626**起始版本:** 12
627
628
629**参数:**
630
631| 参数项 | 描述 |
632| -- | -- |
633| struct [Input_KeyState](capi-input-input-keystate.md)** keyState | 按键状态的枚举对象,具体请参考[Input_KeyStateAction](#input_keystateaction)。 |
634
635### OH_Input_SetKeyCode()
636
637```
638void OH_Input_SetKeyCode(struct Input_KeyState* keyState, int32_t keyCode)
639```
640
641**描述**
642
643设置按键状态对象的键值。
644
645**系统能力:** SystemCapability.MultimodalInput.Input.Core
646
647**起始版本:** 12
648
649
650**参数:**
651
652| 参数项 | 描述 |
653| -- | -- |
654| struct [Input_KeyState](capi-input-input-keystate.md)* keyState | 按键状态的枚举对象,具体请参考[Input_KeyStateAction](#input_keystateaction)。 |
655| int32_t keyCode | 按键键值。 |
656
657### OH_Input_GetKeyCode()
658
659```
660int32_t OH_Input_GetKeyCode(const struct Input_KeyState* keyState)
661```
662
663**描述**
664
665获取按键状态对象的键值。
666
667**系统能力:** SystemCapability.MultimodalInput.Input.Core
668
669**起始版本:** 12
670
671
672**参数:**
673
674| 参数项 | 描述 |
675| -- | -- |
676| const struct [Input_KeyState](capi-input-input-keystate.md)* keyState | 按键状态的枚举对象,具体请参考[Input_KeyStateAction](capi-oh-input-manager-h.md#input_keystateaction)。 |
677
678**返回:**
679
680| 类型 | 说明 |
681| -- | -- |
682| int32_t | 返回按键状态对象的键值。 |
683
684### OH_Input_SetKeyPressed()
685
686```
687void OH_Input_SetKeyPressed(struct Input_KeyState* keyState, int32_t keyAction)
688```
689
690**描述**
691
692设置按键状态对象的按键是否按下。
693
694**系统能力:** SystemCapability.MultimodalInput.Input.Core
695
696**起始版本:** 12
697
698
699**参数:**
700
701| 参数项 | 描述 |
702| -- | -- |
703| struct [Input_KeyState](capi-input-input-keystate.md)* keyState | 按键状态的枚举对象,具体请参考[Input_KeyStateAction](#input_keystateaction)。 |
704| int32_t keyAction | 按键是否按下,具体请参考[Input_KeyEventAction](#input_keyeventaction)。 |
705
706### OH_Input_GetKeyPressed()
707
708```
709int32_t OH_Input_GetKeyPressed(const struct Input_KeyState* keyState)
710```
711
712**描述**
713
714获取按键状态对象的按键是否按下。
715
716**系统能力:** SystemCapability.MultimodalInput.Input.Core
717
718**起始版本:** 12
719
720
721**参数:**
722
723| 参数项 | 描述 |
724| -- | -- |
725| const struct [Input_KeyState](capi-input-input-keystate.md)* keyState | 按键状态的枚举对象,具体请参考[Input_KeyStateAction](capi-oh-input-manager-h.md#input_keystateaction)。 |
726
727**返回:**
728
729| 类型 | 说明 |
730| -- | -- |
731| int32_t | 返回按键状态对象的按键按下状态。 |
732
733### OH_Input_SetKeySwitch()
734
735```
736void OH_Input_SetKeySwitch(struct Input_KeyState* keyState, int32_t keySwitch)
737```
738
739**描述**
740
741设置按键状态对象的按键开关。
742
743**系统能力:** SystemCapability.MultimodalInput.Input.Core
744
745**起始版本:** 12
746
747
748**参数:**
749
750| 参数项 | 描述 |
751| -- | -- |
752| struct [Input_KeyState](capi-input-input-keystate.md)* keyState | 按键状态的枚举对象,具体请参考[Input_KeyStateAction](#input_keystateaction)。 |
753| int32_t keySwitch | 按键开关。 |
754
755### OH_Input_GetKeySwitch()
756
757```
758int32_t OH_Input_GetKeySwitch(const struct Input_KeyState* keyState)
759```
760
761**描述**
762
763获取按键状态对象的按键开关。
764
765**系统能力:** SystemCapability.MultimodalInput.Input.Core
766
767**起始版本:** 12
768
769
770**参数:**
771
772| 参数项 | 描述 |
773| -- | -- |
774| const struct [Input_KeyState](capi-input-input-keystate.md)* keyState | 按键状态的枚举对象,具体请参考[Input_KeyStateAction](capi-oh-input-manager-h.md#input_keystateaction)。 |
775
776**返回:**
777
778| 类型 | 说明 |
779| -- | -- |
780| int32_t | 返回按键状态对象的按键开关。 |
781
782### OH_Input_InjectKeyEvent()
783
784```
785int32_t OH_Input_InjectKeyEvent(const struct Input_KeyEvent* keyEvent)
786```
787
788**描述**
789
790注入按键事件。
791
792如果当前处于用户未授权状态,调用该接口注入事件不生效。
793
794从API version 20开始,建议先使用[OH_Input_RequestInjection](#oh_input_requestinjection)请求授权。然后通过[OH_Input_QueryAuthorizedStatus](#oh_input_queryauthorizedstatus)查询授权状态,当授权状态为[AUTHORIZED](capi-oh-input-manager-h.md#input_injectionstatus)时,再使用该接口。
795
796**系统能力:** SystemCapability.MultimodalInput.Input.Core
797
798**起始版本:** 12
799
800
801**参数:**
802
803| 参数项 | 描述 |
804| -- | -- |
805| const struct [Input_KeyEvent](capi-input-input-keyevent.md)* keyEvent | 按键事件对象,通过[OH_Input_CreateKeyEvent](#oh_input_createkeyevent)接口可以创建按键事件对象。<br>使用完需使用[OH_Input_DestroyKeyEvent](#oh_input_destroykeyevent)接口销毁按键事件对象。 |
806
807**返回:**
808
809| 类型 | 说明 |
810| -- | -- |
811| int32_t | OH_Input_InjectKeyEvent 函数错误码。<br>         若注入成功,返回[INPUT_SUCCESS](capi-oh-input-manager-h.md#input_result);<br>         若缺少权限,返回[INPUT_PERMISSION_DENIED](capi-oh-input-manager-h.md#input_result);<br>         若参数错误,返回[INPUT_PARAMETER_ERROR](capi-oh-input-manager-h.md#input_result)。 |
812
813### OH_Input_CreateKeyEvent()
814
815```
816struct Input_KeyEvent* OH_Input_CreateKeyEvent()
817```
818
819**描述**
820
821创建按键事件对象。
822
823**系统能力:** SystemCapability.MultimodalInput.Input.Core
824
825**起始版本:** 12
826
827**返回:**
828
829| 类型 | 说明 |
830| -- | -- |
831| struct | 如果操作成功返回一个[Input_KeyEvent](capi-input-input-keyevent.md)指针对象,否则返回空指针。 |
832
833### OH_Input_DestroyKeyEvent()
834
835```
836void OH_Input_DestroyKeyEvent(struct Input_KeyEvent** keyEvent)
837```
838
839**描述**
840
841销毁按键事件对象。
842
843**系统能力:** SystemCapability.MultimodalInput.Input.Core
844
845**起始版本:** 12
846
847
848**参数:**
849
850| 参数项 | 描述 |
851| -- | -- |
852| struct [Input_KeyEvent](capi-input-input-keyevent.md)** keyEvent | 按键事件对象。 |
853
854### OH_Input_SetKeyEventAction()
855
856```
857void OH_Input_SetKeyEventAction(struct Input_KeyEvent* keyEvent, int32_t action)
858```
859
860**描述**
861
862设置按键事件类型。
863
864**系统能力:** SystemCapability.MultimodalInput.Input.Core
865
866**起始版本:** 12
867
868
869**参数:**
870
871| 参数项 | 描述 |
872| -- | -- |
873| struct [Input_KeyEvent](capi-input-input-keyevent.md)* keyEvent | 按键事件对象,通过[OH_Input_CreateKeyEvent](#oh_input_createkeyevent)接口可以创建按键事件对象。<br>使用完需使用[OH_Input_DestroyKeyEvent](#oh_input_destroykeyevent)接口销毁按键事件对象。 |
874| int32_t action | 按键事件类型。相关取值可参考[Input_KeyEventAction](#input_keyeventaction)。 |
875
876### OH_Input_GetKeyEventAction()
877
878```
879int32_t OH_Input_GetKeyEventAction(const struct Input_KeyEvent* keyEvent)
880```
881
882**描述**
883
884获取按键事件类型。
885
886**系统能力:** SystemCapability.MultimodalInput.Input.Core
887
888**起始版本:** 12
889
890
891**参数:**
892
893| 参数项 | 描述 |
894| -- | -- |
895| const struct [Input_KeyEvent](capi-input-input-keyevent.md)* keyEvent | 按键事件对象,通过[OH_Input_CreateKeyEvent](#oh_input_createkeyevent)接口可以创建按键事件对象。<br>使用完需使用[OH_Input_DestroyKeyEvent](#oh_input_destroykeyevent)接口销毁按键事件对象。 |
896
897**返回:**
898
899| 类型 | 说明 |
900| -- | -- |
901| int32_t | 返回按键事件类型。相关取值可参考[Input_KeyEventAction](#input_keyeventaction)。 |
902
903### OH_Input_SetKeyEventKeyCode()
904
905```
906void OH_Input_SetKeyEventKeyCode(struct Input_KeyEvent* keyEvent, int32_t keyCode)
907```
908
909**描述**
910
911设置按键事件的键值。
912
913**系统能力:** SystemCapability.MultimodalInput.Input.Core
914
915**起始版本:** 12
916
917
918**参数:**
919
920| 参数项 | 描述 |
921| -- | -- |
922| struct [Input_KeyEvent](capi-input-input-keyevent.md)* keyEvent | 按键事件对象,通过[OH_Input_CreateKeyEvent](#oh_input_createkeyevent)接口可以创建按键事件对象。<br>使用完需使用[OH_Input_DestroyKeyEvent](#oh_input_destroykeyevent)接口销毁按键事件对象。 |
923| int32_t keyCode | 按键的键值。 |
924
925### OH_Input_GetKeyEventKeyCode()
926
927```
928int32_t OH_Input_GetKeyEventKeyCode(const struct Input_KeyEvent* keyEvent)
929```
930
931**描述**
932
933获取按键事件的键值。
934
935**系统能力:** SystemCapability.MultimodalInput.Input.Core
936
937**起始版本:** 12
938
939
940**参数:**
941
942| 参数项 | 描述 |
943| -- | -- |
944| const struct [Input_KeyEvent](capi-input-input-keyevent.md)* keyEvent | 按键事件对象,通过[OH_Input_CreateKeyEvent](#oh_input_createkeyevent)接口可以创建按键事件对象。<br>使用完需使用[OH_Input_DestroyKeyEvent](#oh_input_destroykeyevent)接口销毁按键事件对象。 |
945
946**返回:**
947
948| 类型 | 说明 |
949| -- | -- |
950| int32_t | Key code. |
951
952### OH_Input_SetKeyEventActionTime()
953
954```
955void OH_Input_SetKeyEventActionTime(struct Input_KeyEvent* keyEvent, int64_t actionTime)
956```
957
958**描述**
959
960设置按键事件发生的时间。
961
962**系统能力:** SystemCapability.MultimodalInput.Input.Core
963
964**起始版本:** 12
965
966
967**参数:**
968
969| 参数项 | 描述 |
970| -- | -- |
971| struct [Input_KeyEvent](capi-input-input-keyevent.md)* keyEvent | 按键事件对象,通过[OH_Input_CreateKeyEvent](#oh_input_createkeyevent)接口可以创建按键事件对象。<br>使用完需使用[OH_Input_DestroyKeyEvent](#oh_input_destroykeyevent)接口销毁按键事件对象。 |
972| int64_t actionTime | 按键事件发生的时间,表示从1970.1.1 00:00:00 GMT逝去的微秒数。 |
973
974### OH_Input_GetKeyEventActionTime()
975
976```
977int64_t OH_Input_GetKeyEventActionTime(const struct Input_KeyEvent* keyEvent)
978```
979
980**描述**
981
982获取按键事件发生的时间。
983
984**系统能力:** SystemCapability.MultimodalInput.Input.Core
985
986**起始版本:** 12
987
988
989**参数:**
990
991| 参数项 | 描述 |
992| -- | -- |
993| const struct [Input_KeyEvent](capi-input-input-keyevent.md)* keyEvent | 按键事件对象,通过[OH_Input_CreateKeyEvent](#oh_input_createkeyevent)接口可以创建按键事件对象。<br>使用完需使用[OH_Input_DestroyKeyEvent](#oh_input_destroykeyevent)接口销毁按键事件对象。 |
994
995**返回:**
996
997| 类型 | 说明 |
998| -- | -- |
999| int64_t | 返回按键事件发生的时间。 |
1000
1001### OH_Input_SetKeyEventWindowId()
1002
1003```
1004void OH_Input_SetKeyEventWindowId(struct Input_KeyEvent* keyEvent, int32_t windowId)
1005```
1006
1007**描述**
1008
1009设置按键事件的窗口Id。
1010
1011**系统能力:** SystemCapability.MultimodalInput.Input.Core
1012
1013**起始版本:** 15
1014
1015
1016**参数:**
1017
1018| 参数项 | 描述 |
1019| -- | -- |
1020| struct [Input_KeyEvent](capi-input-input-keyevent.md)* keyEvent | 按键事件对象,通过[OH_Input_CreateKeyEvent](#oh_input_createkeyevent)接口可以创建按键事件对象。<br>使用完需使用[OH_Input_DestroyKeyEvent](#oh_input_destroykeyevent)接口销毁按键事件对象。 |
1021| int32_t windowId | 按键事件对应的窗口Id。 |
1022
1023### OH_Input_GetKeyEventWindowId()
1024
1025```
1026int32_t OH_Input_GetKeyEventWindowId(const struct Input_KeyEvent* keyEvent)
1027```
1028
1029**描述**
1030
1031获取按键事件的窗口Id。
1032
1033**系统能力:** SystemCapability.MultimodalInput.Input.Core
1034
1035**起始版本:** 15
1036
1037
1038**参数:**
1039
1040| 参数项 | 描述 |
1041| -- | -- |
1042| const struct [Input_KeyEvent](capi-input-input-keyevent.md)* keyEvent | 按键事件对象,通过[OH_Input_CreateKeyEvent](#oh_input_createkeyevent)接口可以创建按键事件对象。<br>使用完需使用[OH_Input_DestroyKeyEvent](#oh_input_destroykeyevent)接口销毁按键事件对象。 |
1043
1044**返回:**
1045
1046| 类型 | 说明 |
1047| -- | -- |
1048| int32_t | 按键事件的窗口Id。 |
1049
1050### OH_Input_GetKeyEventDisplayId()
1051
1052```
1053int32_t OH_Input_GetKeyEventDisplayId(const struct Input_KeyEvent* keyEvent)
1054```
1055
1056**描述**
1057
1058获取按键事件的屏幕Id。
1059
1060**系统能力:** SystemCapability.MultimodalInput.Input.Core
1061
1062**起始版本:** 15
1063
1064
1065**参数:**
1066
1067| 参数项 | 描述 |
1068| -- | -- |
1069| const struct [Input_KeyEvent](capi-input-input-keyevent.md)* keyEvent | 按键事件对象,通过[OH_Input_CreateKeyEvent](#oh_input_createkeyevent)接口可以创建按键事件对象。<br>使用完需使用[OH_Input_DestroyKeyEvent](#oh_input_destroykeyevent)接口销毁按键事件对象。 |
1070
1071**返回:**
1072
1073| 类型 | 说明 |
1074| -- | -- |
1075| int32_t | 按键事件的屏幕Id。 |
1076
1077### OH_Input_SetKeyEventDisplayId()
1078
1079```
1080void OH_Input_SetKeyEventDisplayId(struct Input_KeyEvent* keyEvent, int32_t displayId)
1081```
1082
1083**描述**
1084
1085设置按键事件的屏幕Id。
1086
1087**系统能力:** SystemCapability.MultimodalInput.Input.Core
1088
1089**起始版本:** 15
1090
1091
1092**参数:**
1093
1094| 参数项 | 描述 |
1095| -- | -- |
1096| struct [Input_KeyEvent](capi-input-input-keyevent.md)* keyEvent | 按键事件对象,通过[OH_Input_CreateKeyEvent](#oh_input_createkeyevent)接口可以创建按键事件对象。<br>使用完需使用[OH_Input_DestroyKeyEvent](#oh_input_destroykeyevent)接口销毁按键事件对象。 |
1097| int32_t displayId | 按键事件对应的屏幕Id。 |
1098
1099### OH_Input_CreateMouseEvent()
1100
1101```
1102struct Input_MouseEvent* OH_Input_CreateMouseEvent()
1103```
1104
1105**描述**
1106
1107创建鼠标事件对象。
1108
1109**系统能力:** SystemCapability.MultimodalInput.Input.Core
1110
1111**起始版本:** 12
1112
1113**返回:**
1114
1115| 类型 | 说明 |
1116| -- | -- |
1117| struct | 如果操作成功返回一个[Input_MouseEvent](capi-input-input-mouseevent.md)指针对象,否则返回空指针。 |
1118
1119### OH_Input_DestroyMouseEvent()
1120
1121```
1122void OH_Input_DestroyMouseEvent(struct Input_MouseEvent** mouseEvent)
1123```
1124
1125**描述**
1126
1127销毁鼠标事件对象。
1128
1129**系统能力:** SystemCapability.MultimodalInput.Input.Core
1130
1131**起始版本:** 12
1132
1133
1134**参数:**
1135
1136| 参数项 | 描述 |
1137| -- | -- |
1138| struct [Input_MouseEvent](capi-input-input-mouseevent.md)** mouseEvent | 鼠标事件对象。 |
1139
1140### OH_Input_SetMouseEventAction()
1141
1142```
1143void OH_Input_SetMouseEventAction(struct Input_MouseEvent* mouseEvent, int32_t action)
1144```
1145
1146**描述**
1147
1148设置鼠标事件的动作。
1149
1150**系统能力:** SystemCapability.MultimodalInput.Input.Core
1151
1152**起始版本:** 12
1153
1154
1155**参数:**
1156
1157| 参数项 | 描述 |
1158| -- | -- |
1159| struct [Input_MouseEvent](capi-input-input-mouseevent.md)* mouseEvent | 鼠标事件对象,通过[OH_Input_CreateMouseEvent](#oh_input_createmouseevent)接口可以创建鼠标事件对象。<br>使用完需使用[OH_Input_DestroyMouseEvent](#oh_input_destroymouseevent)接口销毁鼠标事件对象。 |
1160| int32_t action | 鼠标的动作。相关取值可参考[Input_MouseEventAction](#input_mouseeventaction)。 |
1161
1162### OH_Input_GetMouseEventAction()
1163
1164```
1165int32_t OH_Input_GetMouseEventAction(const struct Input_MouseEvent* mouseEvent)
1166```
1167
1168**描述**
1169
1170获取鼠标事件的动作。
1171
1172**系统能力:** SystemCapability.MultimodalInput.Input.Core
1173
1174**起始版本:** 12
1175
1176
1177**参数:**
1178
1179| 参数项 | 描述 |
1180| -- | -- |
1181| const struct [Input_MouseEvent](capi-input-input-mouseevent.md)* mouseEvent | 鼠标事件对象,通过[OH_Input_CreateMouseEvent](#oh_input_createmouseevent)接口可以创建鼠标事件对象。<br>使用完需使用[OH_Input_DestroyMouseEvent](#oh_input_destroymouseevent)接口销毁鼠标事件对象。 |
1182
1183**返回:**
1184
1185| 类型 | 说明 |
1186| -- | -- |
1187| int32_t | 鼠标的动作。 |
1188
1189### OH_Input_SetMouseEventDisplayX()
1190
1191```
1192void OH_Input_SetMouseEventDisplayX(struct Input_MouseEvent* mouseEvent, int32_t displayX)
1193```
1194
1195**描述**
1196
1197设置鼠标事件以指定屏幕左上角为原点的相对坐标系的X坐标。
1198
1199**系统能力:** SystemCapability.MultimodalInput.Input.Core
1200
1201**起始版本:** 12
1202
1203
1204**参数:**
1205
1206| 参数项 | 描述 |
1207| -- | -- |
1208| struct [Input_MouseEvent](capi-input-input-mouseevent.md)* mouseEvent | 鼠标事件对象,通过[OH_Input_CreateMouseEvent](#oh_input_createmouseevent)接口可以创建鼠标事件对象。<br>使用完需使用[OH_Input_DestroyMouseEvent](#oh_input_destroymouseevent)接口销毁鼠标事件对象。 |
1209| int32_t displayX | 鼠标事件以指定屏幕左上角为原点的相对坐标系的X坐标。 |
1210
1211### OH_Input_GetMouseEventDisplayX()
1212
1213```
1214int32_t OH_Input_GetMouseEventDisplayX(const struct Input_MouseEvent* mouseEvent)
1215```
1216
1217**描述**
1218
1219获取鼠标事件以指定屏幕左上角为原点的相对坐标系的X坐标。
1220
1221**系统能力:** SystemCapability.MultimodalInput.Input.Core
1222
1223**起始版本:** 12
1224
1225
1226**参数:**
1227
1228| 参数项 | 描述 |
1229| -- | -- |
1230| const struct [Input_MouseEvent](capi-input-input-mouseevent.md)* mouseEvent | 鼠标事件对象,通过[OH_Input_CreateMouseEvent](#oh_input_createmouseevent)接口可以创建鼠标事件对象。<br>使用完需使用[OH_Input_DestroyMouseEvent](#oh_input_destroymouseevent)接口销毁鼠标事件对象。 |
1231
1232**返回:**
1233
1234| 类型 | 说明 |
1235| -- | -- |
1236| int32_t | 鼠标事件以指定屏幕左上角为原点的相对坐标系的X坐标。 |
1237
1238### OH_Input_SetMouseEventDisplayY()
1239
1240```
1241void OH_Input_SetMouseEventDisplayY(struct Input_MouseEvent* mouseEvent, int32_t displayY)
1242```
1243
1244**描述**
1245
1246设置鼠标事件以指定屏幕左上角为原点的相对坐标系的Y坐标。
1247
1248**系统能力:** SystemCapability.MultimodalInput.Input.Core
1249
1250**起始版本:** 12
1251
1252
1253**参数:**
1254
1255| 参数项 | 描述 |
1256| -- | -- |
1257| struct [Input_MouseEvent](capi-input-input-mouseevent.md)* mouseEvent | 鼠标事件对象,通过[OH_Input_CreateMouseEvent](#oh_input_createmouseevent)接口可以创建鼠标事件对象。<br>使用完需使用[OH_Input_DestroyMouseEvent](#oh_input_destroymouseevent)接口销毁鼠标事件对象。 |
1258| int32_t displayY | 鼠标事件以指定屏幕左上角为原点的相对坐标系的Y坐标。 |
1259
1260### OH_Input_GetMouseEventDisplayY()
1261
1262```
1263int32_t OH_Input_GetMouseEventDisplayY(const struct Input_MouseEvent* mouseEvent)
1264```
1265
1266**描述**
1267
1268获取鼠标事件以指定屏幕左上角为原点的相对坐标系的Y坐标。
1269
1270**系统能力:** SystemCapability.MultimodalInput.Input.Core
1271
1272**起始版本:** 12
1273
1274
1275**参数:**
1276
1277| 参数项 | 描述 |
1278| -- | -- |
1279| const struct [Input_MouseEvent](capi-input-input-mouseevent.md)* mouseEvent | 鼠标事件对象,通过[OH_Input_CreateMouseEvent](#oh_input_createmouseevent)接口可以创建鼠标事件对象。<br>使用完需使用[OH_Input_DestroyMouseEvent](#oh_input_destroymouseevent)接口销毁鼠标事件对象。 |
1280
1281**返回:**
1282
1283| 类型 | 说明 |
1284| -- | -- |
1285| int32_t | 鼠标事件以指定屏幕左上角为原点的相对坐标系的Y坐标。 |
1286
1287### OH_Input_SetMouseEventButton()
1288
1289```
1290void OH_Input_SetMouseEventButton(struct Input_MouseEvent* mouseEvent, int32_t button)
1291```
1292
1293**描述**
1294
1295设置鼠标事件的按键。
1296
1297**系统能力:** SystemCapability.MultimodalInput.Input.Core
1298
1299**起始版本:** 12
1300
1301
1302**参数:**
1303
1304| 参数项 | 描述 |
1305| -- | -- |
1306| struct [Input_MouseEvent](capi-input-input-mouseevent.md)* mouseEvent | 鼠标事件对象,通过[OH_Input_CreateMouseEvent](#oh_input_createmouseevent)接口可以创建鼠标事件对象。<br>使用完需使用[OH_Input_DestroyMouseEvent](#oh_input_destroymouseevent)接口销毁鼠标事件对象。 |
1307| int32_t button | 鼠标按键。相关取值可参考[Input_MouseEventButton](#input_mouseeventbutton)。 |
1308
1309### OH_Input_GetMouseEventButton()
1310
1311```
1312int32_t OH_Input_GetMouseEventButton(const struct Input_MouseEvent* mouseEvent)
1313```
1314
1315**描述**
1316
1317获取鼠标事件的按键。
1318
1319**系统能力:** SystemCapability.MultimodalInput.Input.Core
1320
1321**起始版本:** 12
1322
1323
1324**参数:**
1325
1326| 参数项 | 描述 |
1327| -- | -- |
1328| const struct [Input_MouseEvent](capi-input-input-mouseevent.md)* mouseEvent | 鼠标事件对象,通过[OH_Input_CreateMouseEvent](#oh_input_createmouseevent)接口可以创建鼠标事件对象。<br>使用完需使用[OH_Input_DestroyMouseEvent](#oh_input_destroymouseevent)接口销毁鼠标事件对象。 |
1329
1330**返回:**
1331
1332| 类型 | 说明 |
1333| -- | -- |
1334| int32_t | 鼠标按键。相关取值可参考[Input_MouseEventButton](#input_mouseeventbutton)。 |
1335
1336### OH_Input_SetMouseEventAxisType()
1337
1338```
1339void OH_Input_SetMouseEventAxisType(struct Input_MouseEvent* mouseEvent, int32_t axisType)
1340```
1341
1342**描述**
1343
1344设置鼠标轴事件的类型。
1345
1346**系统能力:** SystemCapability.MultimodalInput.Input.Core
1347
1348**起始版本:** 12
1349
1350
1351**参数:**
1352
1353| 参数项 | 描述 |
1354| -- | -- |
1355| struct [Input_MouseEvent](capi-input-input-mouseevent.md)* mouseEvent | 鼠标事件对象,通过[OH_Input_CreateMouseEvent](#oh_input_createmouseevent)接口可以创建鼠标事件对象。<br>使用完需使用[OH_Input_DestroyMouseEvent](#oh_input_destroymouseevent)接口销毁鼠标事件对象。 |
1356| int32_t axisType | 轴类型,比如垂直轴、水平轴。相关取值可参考[InputEvent_MouseAxis](#inputevent_mouseaxis)。 |
1357
1358### OH_Input_GetMouseEventAxisType()
1359
1360```
1361int32_t OH_Input_GetMouseEventAxisType(const struct Input_MouseEvent* mouseEvent)
1362```
1363
1364**描述**
1365
1366获取鼠标轴事件的类型。
1367
1368**系统能力:** SystemCapability.MultimodalInput.Input.Core
1369
1370**起始版本:** 12
1371
1372
1373**参数:**
1374
1375| 参数项 | 描述 |
1376| -- | -- |
1377| const struct [Input_MouseEvent](capi-input-input-mouseevent.md)* mouseEvent | 鼠标事件对象,通过[OH_Input_CreateMouseEvent](#oh_input_createmouseevent)接口可以创建鼠标事件对象。<br>使用完需使用[OH_Input_DestroyMouseEvent](#oh_input_destroymouseevent)接口销毁鼠标事件对象。 |
1378
1379**返回:**
1380
1381| 类型 | 说明 |
1382| -- | -- |
1383| int32_t | 轴类型。相关取值可参考[InputEvent_MouseAxis](#inputevent_mouseaxis)。 |
1384
1385### OH_Input_SetMouseEventAxisValue()
1386
1387```
1388void OH_Input_SetMouseEventAxisValue(struct Input_MouseEvent* mouseEvent, float axisValue)
1389```
1390
1391**描述**
1392
1393设置鼠标轴事件的值。
1394
1395**系统能力:** SystemCapability.MultimodalInput.Input.Core
1396
1397**起始版本:** 12
1398
1399
1400**参数:**
1401
1402| 参数项 | 描述 |
1403| -- | -- |
1404| struct [Input_MouseEvent](capi-input-input-mouseevent.md)* mouseEvent | 鼠标事件对象,通过[OH_Input_CreateMouseEvent](#oh_input_createmouseevent)接口可以创建鼠标事件对象。<br>使用完需使用[OH_Input_DestroyMouseEvent](#oh_input_destroymouseevent)接口销毁鼠标事件对象。 |
1405| float axisValue | 轴事件的值,正数向前滚动(例如,1.0表示向前滚动一个单位),负数向后滚动(例如,-1.0表示向后滚动一个单位),零表示没有滚动。 |
1406
1407### OH_Input_GetMouseEventAxisValue()
1408
1409```
1410float OH_Input_GetMouseEventAxisValue(const struct Input_MouseEvent* mouseEvent)
1411```
1412
1413**描述**
1414
1415获取鼠标轴事件的值。
1416
1417**系统能力:** SystemCapability.MultimodalInput.Input.Core
1418
1419**起始版本:** 12
1420
1421
1422**参数:**
1423
1424| 参数项 | 描述 |
1425| -- | -- |
1426| const struct [Input_MouseEvent](capi-input-input-mouseevent.md)* mouseEvent | 鼠标事件对象,通过[OH_Input_CreateMouseEvent](#oh_input_createmouseevent)接口可以创建鼠标事件对象。<br>使用完需使用[OH_Input_DestroyMouseEvent](#oh_input_destroymouseevent)接口销毁鼠标事件对象。 |
1427
1428**返回:**
1429
1430| 类型 | 说明 |
1431| -- | -- |
1432| float | 轴事件的值。 |
1433
1434### OH_Input_SetMouseEventActionTime()
1435
1436```
1437void OH_Input_SetMouseEventActionTime(struct Input_MouseEvent* mouseEvent, int64_t actionTime)
1438```
1439
1440**描述**
1441
1442设置鼠标事件发生的时间。
1443
1444**系统能力:** SystemCapability.MultimodalInput.Input.Core
1445
1446**起始版本:** 12
1447
1448
1449**参数:**
1450
1451| 参数项 | 描述 |
1452| -- | -- |
1453| struct [Input_MouseEvent](capi-input-input-mouseevent.md)* mouseEvent | 鼠标事件对象,通过[OH_Input_CreateMouseEvent](#oh_input_createmouseevent)接口可以创建鼠标事件对象。<br>使用完需使用[OH_Input_DestroyMouseEvent](#oh_input_destroymouseevent)接口销毁鼠标事件对象。 |
1454| int64_t actionTime | 鼠标事件发生的时间,表示从1970.1.1 00:00:00 GMT逝去的微秒数。 |
1455
1456### OH_Input_GetMouseEventActionTime()
1457
1458```
1459int64_t OH_Input_GetMouseEventActionTime(const struct Input_MouseEvent* mouseEvent)
1460```
1461
1462**描述**
1463
1464获取鼠标事件发生的时间。
1465
1466**系统能力:** SystemCapability.MultimodalInput.Input.Core
1467
1468**起始版本:** 12
1469
1470
1471**参数:**
1472
1473| 参数项 | 描述 |
1474| -- | -- |
1475| mouseEvent | 鼠标事件对象,通过[OH_Input_CreateMouseEvent](#oh_input_createmouseevent)接口可以创建鼠标事件对象。<br>使用完需使用[OH_Input_DestroyMouseEvent](#oh_input_destroymouseevent)接口销毁鼠标事件对象。 |
1476
1477**返回:**
1478
1479| 类型 | 说明 |
1480| -- | -- |
1481| int64_t | 返回鼠标事件发生的时间。 |
1482
1483### OH_Input_SetMouseEventWindowId()
1484
1485```
1486void OH_Input_SetMouseEventWindowId(struct Input_MouseEvent* mouseEvent, int32_t windowId)
1487```
1488
1489**描述**
1490
1491设置鼠标事件的窗口Id。
1492
1493**系统能力:** SystemCapability.MultimodalInput.Input.Core
1494
1495**起始版本:** 15
1496
1497
1498**参数:**
1499
1500| 参数项 | 描述 |
1501| -- | -- |
1502| struct [Input_MouseEvent](capi-input-input-mouseevent.md)* mouseEvent | 鼠标事件对象,通过[OH_Input_CreateMouseEvent](#oh_input_createmouseevent)接口可以创建鼠标事件对象。<br>使用完需使用[OH_Input_DestroyMouseEvent](#oh_input_destroymouseevent)接口销毁鼠标事件对象。 |
1503| int32_t windowId | 鼠标事件的窗口Id。 |
1504
1505### OH_Input_GetMouseEventWindowId()
1506
1507```
1508int32_t OH_Input_GetMouseEventWindowId(const struct Input_MouseEvent* mouseEvent)
1509```
1510
1511**描述**
1512
1513获取鼠标事件的窗口Id。
1514
1515**系统能力:** SystemCapability.MultimodalInput.Input.Core
1516
1517**起始版本:** 15
1518
1519
1520**参数:**
1521
1522| 参数项 | 描述 |
1523| -- | -- |
1524| const struct [Input_MouseEvent](capi-input-input-mouseevent.md)* mouseEvent | 鼠标事件对象,通过[OH_Input_CreateMouseEvent](#oh_input_createmouseevent)接口可以创建鼠标事件对象。<br>使用完需使用[OH_Input_DestroyMouseEvent](#oh_input_destroymouseevent)接口销毁鼠标事件对象。 |
1525
1526**返回:**
1527
1528| 类型 | 说明 |
1529| -- | -- |
1530| int32_t | 鼠标事件的窗口Id。 |
1531
1532### OH_Input_SetMouseEventDisplayId()
1533
1534```
1535void OH_Input_SetMouseEventDisplayId(struct Input_MouseEvent* mouseEvent, int32_t displayId)
1536```
1537
1538**描述**
1539
1540设置鼠标事件的屏幕Id。
1541
1542**系统能力:** SystemCapability.MultimodalInput.Input.Core
1543
1544**起始版本:** 15
1545
1546
1547**参数:**
1548
1549| 参数项 | 描述 |
1550| -- | -- |
1551| struct [Input_MouseEvent](capi-input-input-mouseevent.md)* mouseEvent | 鼠标事件对象,通过[OH_Input_CreateMouseEvent](#oh_input_createmouseevent)接口可以创建鼠标事件对象。<br>使用完需使用[OH_Input_DestroyMouseEvent](#oh_input_destroymouseevent)接口销毁鼠标事件对象。 |
1552| int32_t displayId | 鼠标事件的屏幕Id。 |
1553
1554### OH_Input_CreateTouchEvent()
1555
1556```
1557struct Input_TouchEvent* OH_Input_CreateTouchEvent()
1558```
1559
1560**描述**
1561
1562创建触屏事件对象。
1563
1564**系统能力:** SystemCapability.MultimodalInput.Input.Core
1565
1566**起始版本:** 12
1567
1568**返回:**
1569
1570| 类型 | 说明 |
1571| -- | -- |
1572| struct | 如果操作成功返回一个[Input_TouchEvent](capi-input-input-touchevent.md)指针对象,否则返回空指针。 |
1573
1574### OH_Input_DestroyTouchEvent()
1575
1576```
1577void OH_Input_DestroyTouchEvent(struct Input_TouchEvent** touchEvent)
1578```
1579
1580**描述**
1581
1582销毁触屏事件对象。
1583
1584**系统能力:** SystemCapability.MultimodalInput.Input.Core
1585
1586**起始版本:** 12
1587
1588
1589**参数:**
1590
1591| 参数项 | 描述 |
1592| -- | -- |
1593| struct [Input_TouchEvent](capi-input-input-touchevent.md)** touchEvent | 触屏事件对象。 |
1594
1595### OH_Input_SetTouchEventAction()
1596
1597```
1598void OH_Input_SetTouchEventAction(struct Input_TouchEvent* touchEvent, int32_t action)
1599```
1600
1601**描述**
1602
1603设置触屏事件的动作。
1604
1605**系统能力:** SystemCapability.MultimodalInput.Input.Core
1606
1607**起始版本:** 12
1608
1609
1610**参数:**
1611
1612| 参数项 | 描述 |
1613| -- | -- |
1614| struct [Input_TouchEvent](capi-input-input-touchevent.md)* touchEvent | 触屏事件对象,通过[OH_Input_CreateTouchEvent](#oh_input_createtouchevent)接口可以创建触屏事件对象。<br>使用完需使用[OH_Input_DestroyTouchEvent](#oh_input_destroytouchevent)接口销毁触屏事件对象。 |
1615| int32_t action | 触屏的动作。相关取值可参考[Input_TouchEventAction](#input_toucheventaction)。 |
1616
1617### OH_Input_GetTouchEventAction()
1618
1619```
1620int32_t OH_Input_GetTouchEventAction(const struct Input_TouchEvent* touchEvent)
1621```
1622
1623**描述**
1624
1625获取触屏事件的动作。
1626
1627**系统能力:** SystemCapability.MultimodalInput.Input.Core
1628
1629**起始版本:** 12
1630
1631
1632**参数:**
1633
1634| 参数项 | 描述 |
1635| -- | -- |
1636| const struct [Input_TouchEvent](capi-input-input-touchevent.md)* touchEvent | 触屏事件对象,通过[OH_Input_CreateTouchEvent](#oh_input_createtouchevent)接口可以创建触屏事件对象。<br>使用完需使用[OH_Input_DestroyTouchEvent](#oh_input_destroytouchevent)接口销毁触屏事件对象。 |
1637
1638**返回:**
1639
1640| 类型 | 说明 |
1641| -- | -- |
1642| int32_t | 触屏的动作。相关取值可参考[Input_TouchEventAction](#input_toucheventaction)。 |
1643
1644### OH_Input_SetTouchEventFingerId()
1645
1646```
1647void OH_Input_SetTouchEventFingerId(struct Input_TouchEvent* touchEvent, int32_t id)
1648```
1649
1650**描述**
1651
1652设置触屏事件的手指ID。
1653
1654**系统能力:** SystemCapability.MultimodalInput.Input.Core
1655
1656**起始版本:** 12
1657
1658
1659**参数:**
1660
1661| 参数项 | 描述 |
1662| -- | -- |
1663| struct [Input_TouchEvent](capi-input-input-touchevent.md)* touchEvent | 触屏事件对象,通过[OH_Input_CreateTouchEvent](#oh_input_createtouchevent)接口可以创建触屏事件对象。<br>使用完需使用[OH_Input_DestroyTouchEvent](#oh_input_destroytouchevent)接口销毁触屏事件对象。 |
1664| int32_t id | 触屏的手指ID。第一个手指碰到屏幕,id就是0,第二个手指碰到屏幕,id就是1,依次累加。 |
1665
1666### OH_Input_GetTouchEventFingerId()
1667
1668```
1669int32_t OH_Input_GetTouchEventFingerId(const struct Input_TouchEvent* touchEvent)
1670```
1671
1672**描述**
1673
1674获取触屏事件的手指ID。
1675
1676**系统能力:** SystemCapability.MultimodalInput.Input.Core
1677
1678**起始版本:** 12
1679
1680
1681**参数:**
1682
1683| 参数项 | 描述 |
1684| -- | -- |
1685| const struct [Input_TouchEvent](capi-input-input-touchevent.md)* touchEvent | 触屏事件对象,通过[OH_Input_CreateTouchEvent](#oh_input_createtouchevent)接口可以创建触屏事件对象。<br>使用完需使用[OH_Input_DestroyTouchEvent](#oh_input_destroytouchevent)接口销毁触屏事件对象。 |
1686
1687**返回:**
1688
1689| 类型 | 说明 |
1690| -- | -- |
1691| int32_t | 触屏的手指ID。第一个手指碰到屏幕,id就是0,第二个手指碰到屏幕,id就是1,依次累加。 |
1692
1693### OH_Input_SetTouchEventDisplayX()
1694
1695```
1696void OH_Input_SetTouchEventDisplayX(struct Input_TouchEvent* touchEvent, int32_t displayX)
1697```
1698
1699**描述**
1700
1701设置触屏事件以指定屏幕左上角为原点的相对坐标系的X坐标。
1702
1703**系统能力:** SystemCapability.MultimodalInput.Input.Core
1704
1705**起始版本:** 12
1706
1707
1708**参数:**
1709
1710| 参数项 | 描述 |
1711| -- | -- |
1712| struct [Input_TouchEvent](capi-input-input-touchevent.md)* touchEvent | 触屏事件对象,通过[OH_Input_CreateTouchEvent](#oh_input_createtouchevent)接口可以创建触屏事件对象。<br>使用完需使用[OH_Input_DestroyTouchEvent](#oh_input_destroytouchevent)接口销毁触屏事件对象。 |
1713| int32_t displayX | 触屏事件以指定屏幕左上角为原点的相对坐标系的X坐标。 |
1714
1715### OH_Input_GetTouchEventDisplayX()
1716
1717```
1718int32_t OH_Input_GetTouchEventDisplayX(const struct Input_TouchEvent* touchEvent)
1719```
1720
1721**描述**
1722
1723获取触屏事件以指定屏幕左上角为原点的相对坐标系的X坐标。
1724
1725**系统能力:** SystemCapability.MultimodalInput.Input.Core
1726
1727**起始版本:** 12
1728
1729
1730**参数:**
1731
1732| 参数项 | 描述 |
1733| -- | -- |
1734| const struct [Input_TouchEvent](capi-input-input-touchevent.md)* touchEvent | 触屏事件对象,通过[OH_Input_CreateTouchEvent](#oh_input_createtouchevent)接口可以创建触屏事件对象。<br>使用完需使用[OH_Input_DestroyTouchEvent](#oh_input_destroytouchevent)接口销毁触屏事件对象。 |
1735
1736**返回:**
1737
1738| 类型 | 说明 |
1739| -- | -- |
1740| int32_t | 触屏事件以指定屏幕左上角为原点的相对坐标系的X坐标。 |
1741
1742### OH_Input_SetTouchEventDisplayY()
1743
1744```
1745void OH_Input_SetTouchEventDisplayY(struct Input_TouchEvent* touchEvent, int32_t displayY)
1746```
1747
1748**描述**
1749
1750设置触屏事件以指定屏幕左上角为原点的相对坐标系的Y坐标。
1751
1752**系统能力:** SystemCapability.MultimodalInput.Input.Core
1753
1754**起始版本:** 12
1755
1756
1757**参数:**
1758
1759| 参数项 | 描述 |
1760| -- | -- |
1761| struct [Input_TouchEvent](capi-input-input-touchevent.md)* touchEvent | 触屏事件对象,通过[OH_Input_CreateTouchEvent](#oh_input_createtouchevent)接口可以创建触屏事件对象。<br>使用完需使用[OH_Input_DestroyTouchEvent](#oh_input_destroytouchevent)接口销毁触屏事件对象。 |
1762| int32_t displayY | 触屏事件以指定屏幕左上角为原点的相对坐标系的Y坐标。 |
1763
1764### OH_Input_GetTouchEventDisplayY()
1765
1766```
1767int32_t OH_Input_GetTouchEventDisplayY(const struct Input_TouchEvent* touchEvent)
1768```
1769
1770**描述**
1771
1772获取触屏事件以指定屏幕左上角为原点的相对坐标系的Y坐标。
1773
1774**系统能力:** SystemCapability.MultimodalInput.Input.Core
1775
1776**起始版本:** 12
1777
1778
1779**参数:**
1780
1781| 参数项 | 描述 |
1782| -- | -- |
1783| const struct [Input_TouchEvent](capi-input-input-touchevent.md)* touchEvent | 触屏事件对象,通过[OH_Input_CreateTouchEvent](#oh_input_createtouchevent)接口可以创建触屏事件对象。<br>使用完需使用[OH_Input_DestroyTouchEvent](#oh_input_destroytouchevent)接口销毁触屏事件对象。 |
1784
1785**返回:**
1786
1787| 类型 | 说明 |
1788| -- | -- |
1789| int32_t | 触屏事件以指定屏幕左上角为原点的相对坐标系的Y坐标。 |
1790
1791### OH_Input_SetTouchEventActionTime()
1792
1793```
1794void OH_Input_SetTouchEventActionTime(struct Input_TouchEvent* touchEvent, int64_t actionTime)
1795```
1796
1797**描述**
1798
1799设置触屏事件发生的时间。
1800
1801**系统能力:** SystemCapability.MultimodalInput.Input.Core
1802
1803**起始版本:** 12
1804
1805
1806**参数:**
1807
1808| 参数项 | 描述 |
1809| -- | -- |
1810| touchEvent | 触屏事件对象,通过[OH_Input_CreateTouchEvent](#oh_input_createtouchevent)接口可以创建触屏事件对象。<br>使用完需使用[OH_Input_DestroyTouchEvent](#oh_input_destroytouchevent)接口销毁触屏事件对象。 |
1811| int64_t actionTime | 触屏事件发生的时间,表示从1970.1.1 00:00:00 GMT逝去的微秒数。 |
1812
1813### OH_Input_GetTouchEventActionTime()
1814
1815```
1816int64_t OH_Input_GetTouchEventActionTime(const struct Input_TouchEvent* touchEvent)
1817```
1818
1819**描述**
1820
1821获取触屏事件发生的时间。
1822
1823**系统能力:** SystemCapability.MultimodalInput.Input.Core
1824
1825**起始版本:** 12
1826
1827
1828**参数:**
1829
1830| 参数项 | 描述 |
1831| -- | -- |
1832| touchEvent | 触屏事件对象,通过[OH_Input_CreateTouchEvent](#oh_input_createtouchevent)接口可以创建触屏事件对象。<br>使用完需使用[OH_Input_DestroyTouchEvent](#oh_input_destroytouchevent)接口销毁触屏事件对象。 |
1833
1834**返回:**
1835
1836| 类型 | 说明 |
1837| -- | -- |
1838| int64_t | 返回触屏事件发生的时间。 |
1839
1840### OH_Input_SetTouchEventWindowId()
1841
1842```
1843void OH_Input_SetTouchEventWindowId(struct Input_TouchEvent* touchEvent, int32_t windowId)
1844```
1845
1846**描述**
1847
1848设置触屏事件的窗口Id。
1849
1850**系统能力:** SystemCapability.MultimodalInput.Input.Core
1851
1852**起始版本:** 15
1853
1854
1855**参数:**
1856
1857| 参数项 | 描述 |
1858| -- | -- |
1859| struct [Input_TouchEvent](capi-input-input-touchevent.md)* touchEvent | 触屏事件对象,通过[OH_Input_CreateTouchEvent](#oh_input_createtouchevent)接口可以创建触屏事件对象。<br>使用完需使用[OH_Input_DestroyTouchEvent](#oh_input_destroytouchevent)接口销毁触屏事件对象。 |
1860| int32_t windowId | 触屏事件的窗口Id。 |
1861
1862### OH_Input_GetTouchEventWindowId()
1863
1864```
1865int32_t OH_Input_GetTouchEventWindowId(const struct Input_TouchEvent* touchEvent)
1866```
1867
1868**描述**
1869
1870获取触屏事件的窗口Id。
1871
1872**系统能力:** SystemCapability.MultimodalInput.Input.Core
1873
1874**起始版本:** 15
1875
1876
1877**参数:**
1878
1879| 参数项 | 描述 |
1880| -- | -- |
1881| const struct [Input_TouchEvent](capi-input-input-touchevent.md)* touchEvent | 触屏事件对象,通过[OH_Input_CreateTouchEvent](#oh_input_createtouchevent)接口可以创建触屏事件对象。<br>使用完需使用[OH_Input_DestroyTouchEvent](#oh_input_destroytouchevent)接口销毁触屏事件对象。 |
1882
1883**返回:**
1884
1885| 类型 | 说明 |
1886| -- | -- |
1887| int32_t | 触屏事件的窗口Id。 |
1888
1889### OH_Input_SetTouchEventDisplayId()
1890
1891```
1892void OH_Input_SetTouchEventDisplayId(struct Input_TouchEvent* touchEvent, int32_t displayId)
1893```
1894
1895**描述**
1896
1897设置触屏事件的屏幕Id。
1898
1899**系统能力:** SystemCapability.MultimodalInput.Input.Core
1900
1901**起始版本:** 15
1902
1903
1904**参数:**
1905
1906| 参数项 | 描述 |
1907| -- | -- |
1908| struct [Input_TouchEvent](capi-input-input-touchevent.md)* touchEvent | 触屏事件对象,通过[OH_Input_CreateTouchEvent](#oh_input_createtouchevent)接口可以创建触屏事件对象。<br>使用完需使用[OH_Input_DestroyTouchEvent](#oh_input_destroytouchevent)接口销毁触屏事件对象。 |
1909| int32_t displayId | 触屏事件的屏幕Id。 |
1910
1911### OH_Input_GetTouchEventDisplayId()
1912
1913```
1914int32_t OH_Input_GetTouchEventDisplayId(const struct Input_TouchEvent* touchEvent)
1915```
1916
1917**描述**
1918
1919获取触屏事件的屏幕Id。
1920
1921**系统能力:** SystemCapability.MultimodalInput.Input.Core
1922
1923**起始版本:** 15
1924
1925
1926**参数:**
1927
1928| 参数项 | 描述 |
1929| -- | -- |
1930| const struct [Input_TouchEvent](capi-input-input-touchevent.md)* touchEvent | 触屏事件对象,通过[OH_Input_CreateTouchEvent](#oh_input_createtouchevent)接口可以创建触屏事件对象。<br>使用完需使用[OH_Input_DestroyTouchEvent](#oh_input_destroytouchevent)接口销毁触屏事件对象。 |
1931
1932**返回:**
1933
1934| 类型 | 说明 |
1935| -- | -- |
1936| int32_t | 触屏事件的屏幕Id。 |
1937
1938### OH_Input_CancelInjection()
1939
1940```
1941void OH_Input_CancelInjection()
1942```
1943
1944**描述**
1945
1946取消事件注入并撤销授权。
1947
1948**系统能力:** SystemCapability.MultimodalInput.Input.Core
1949
1950**起始版本:** 12
1951
1952### OH_Input_RequestInjection()
1953
1954```
1955Input_Result OH_Input_RequestInjection(Input_InjectAuthorizeCallback callback)
1956```
1957
1958**描述**
1959
1960当前应用申请注入权限,包括申请注入按键事件[OH_Input_InjectKeyEvent](capi-oh-input-manager-h.md#oh_input_injectkeyevent)、注入触屏事件[OH_Input_InjectTouchEvent](capi-oh-input-manager-h.md#oh_input_injecttouchevent)、注入鼠标事件[OH_Input_InjectMouseEvent](capi-oh-input-manager-h.md#oh_input_injectmouseevent)等注入操作的权限。
1961
1962**系统能力:** SystemCapability.MultimodalInput.Input.Core
1963
1964**设备行为差异**:该接口仅在PC/2in1设备上生效,在其他设备上返回801错误码。
1965
1966**起始版本:** 20
1967
1968
1969**参数:**
1970
1971| 参数项 | 描述 |
1972| -- | -- |
1973| [Input_InjectAuthorizeCallback](capi-oh-input-manager-h.md#input_injectauthorizecallback) callback | 授权状态回调,具体请参考[Input_InjectAuthorizeCallback](capi-oh-input-manager-h.md#input_injectauthorizecallback)。 |
1974
1975**返回:**
1976
1977| 类型 | 说明 |
1978| -- | -- |
1979| [Input_Result](capi-oh-input-manager-h.md#input_result) | 返回结果码,参见[Input_Result](capi-oh-input-manager-h.md#input_result)。<br>      INPUT_SUCCESS = 0 申请授权成功,等待用户授权结果并回调授权状态。<br>      INPUT_PARAMETER_ERROR = 401  参数错误,参数callback为空。<br>      INPUT_DEVICE_NOT_SUPPORTED = 801  设备不支持。<br>      INPUT_SERVICE_EXCEPTION = 3800001  服务器错误。<br>      INPUT_INJECTION_AUTHORIZING =  3900005 正在授权中。<br>      INPUT_INJECTION_OPERATION_FREQUENT = 3900006 重复请求(当前应用连续申请授权弹窗成功,间隔时间不超过3秒)。<br>      INPUT_INJECTION_AUTHORIZED = 3900007 当前应用已经授权。<br>      INPUT_INJECTION_AUTHORIZED_OTHERS = 3900008   其它应用已经授权。 |
1980
1981### OH_Input_QueryAuthorizedStatus()
1982
1983```
1984Input_Result OH_Input_QueryAuthorizedStatus(Input_InjectionStatus* status)
1985```
1986
1987**描述**
1988
1989查询当前应用注入的权限状态。
1990
1991**起始版本:** 20
1992
1993
1994**参数:**
1995
1996| 参数项 | 描述 |
1997| -- | -- |
1998| [Input_InjectionStatus](capi-oh-input-manager-h.md#input_injectionstatus)* status | 当前应用注入权限状态。参见[Input_InjectionStatus](capi-oh-input-manager-h.md#input_injectionstatus)。 |
1999
2000**返回:**
2001
2002| 类型 | 说明 |
2003| -- | -- |
2004| [Input_Result](capi-oh-input-manager-h.md#input_result) | 返回结果码,参见[Input_Result](capi-oh-input-manager-h.md#input_result)。<br>      INPUT_SUCCESS = 0 查询成功。<br>      INPUT_PARAMETER_ERROR = 401  参数错误,参数status为空。<br>      INPUT_SERVICE_EXCEPTION = 3800001  服务器错误。 |
2005
2006### OH_Input_CreateAxisEvent()
2007
2008```
2009Input_AxisEvent* OH_Input_CreateAxisEvent(void)
2010```
2011
2012**描述**
2013
2014创建轴事件对象实例。
2015
2016**系统能力:** SystemCapability.MultimodalInput.Input.Core
2017
2018**起始版本:** 12
2019
2020**返回:**
2021
2022| 类型 | 说明 |
2023| -- | -- |
2024| Input_AxisEvent* | 成功返回[Input_AxisEvent](capi-input-input-axisevent.md)对象实例,失败则返回null。 |
2025
2026### OH_Input_DestroyAxisEvent()
2027
2028```
2029Input_Result OH_Input_DestroyAxisEvent(Input_AxisEvent** axisEvent)
2030```
2031
2032**描述**
2033
2034销毁轴事件对象实例。
2035
2036**系统能力:** SystemCapability.MultimodalInput.Input.Core
2037
2038**起始版本:** 12
2039
2040
2041**参数:**
2042
2043| 参数项 | 描述 |
2044| -- | -- |
2045| [Input_AxisEvent](capi-input-input-axisevent.md)** axisEvent | 轴事件对象实例的指针。 |
2046
2047**返回:**
2048
2049| 类型 | 说明 |
2050| -- | -- |
2051| [Input_Result](#input_result) | 若销毁成功,则返回[INPUT_SUCCESS](#input_result);若axisEvent为NULL或者axisEvent为NULL,则返回[INPUT_PARAMETER_ERROR](#input_result)。 |
2052
2053### OH_Input_SetAxisEventAction()
2054
2055```
2056Input_Result OH_Input_SetAxisEventAction(Input_AxisEvent* axisEvent, InputEvent_AxisAction action)
2057```
2058
2059**描述**
2060
2061设置轴事件的动作。
2062
2063**系统能力:** SystemCapability.MultimodalInput.Input.Core
2064
2065**起始版本:** 12
2066
2067
2068**参数:**
2069
2070| 参数项 | 描述 |
2071| -- | -- |
2072| [Input_AxisEvent](capi-input-input-axisevent.md)* axisEvent | 轴事件对象,通过[OH_Input_CreateAxisEvent](#oh_input_createaxisevent)接口可以创建轴事件对象。<br>使用完需使用[OH_Input_DestroyAxisEvent](#oh_input_destroyaxisevent)接口销毁轴事件对象。 |
2073| [InputEvent_AxisAction](capi-oh-axis-type-h.md#inputevent_axisaction) action | 轴事件动作,具体请参考[InputEvent_AxisAction](capi-oh-axis-type-h.md#inputevent_axisaction)。 |
2074
2075**返回:**
2076
2077| 类型 | 说明 |
2078| -- | -- |
2079| [Input_Result](#input_result) | 若设置轴事件的动作成功,则返回[INPUT_SUCCESS](#input_result);若axisEvent为NULL,则返回[INPUT_PARAMETER_ERROR](#input_result)。 |
2080
2081### OH_Input_GetAxisEventAction()
2082
2083```
2084Input_Result OH_Input_GetAxisEventAction(const Input_AxisEvent* axisEvent, InputEvent_AxisAction *action)
2085```
2086
2087**描述**
2088
2089获取轴事件的动作。
2090
2091**系统能力:** SystemCapability.MultimodalInput.Input.Core
2092
2093**起始版本:** 12
2094
2095
2096**参数:**
2097
2098| 参数项 | 描述 |
2099| -- | -- |
2100| const [Input_AxisEvent](capi-input-input-axisevent.md)* axisEvent | 轴事件对象,通过[OH_Input_CreateAxisEvent](#oh_input_createaxisevent)接口可以创建轴事件对象。<br>使用完需使用[OH_Input_DestroyAxisEvent](#oh_input_destroyaxisevent)接口销毁轴事件对象。 |
2101| [InputEvent_AxisAction](capi-oh-axis-type-h.md#inputevent_axisaction) *action | action 出参,返回轴事件动作,具体请参考在[InputEvent_AxisAction](capi-oh-axis-type-h.md#inputevent_axisaction)。 |
2102
2103**返回:**
2104
2105| 类型 | 说明 |
2106| -- | -- |
2107| [Input_Result](#input_result) | 若获取轴事件的动作成功,则返回[INPUT_SUCCESS](#input_result);若axisEvent或者action为NULL,则返回[INPUT_PARAMETER_ERROR](#input_result)。 |
2108
2109### OH_Input_SetAxisEventDisplayX()
2110
2111```
2112Input_Result OH_Input_SetAxisEventDisplayX(Input_AxisEvent* axisEvent, float displayX)
2113```
2114
2115**描述**
2116
2117设置轴事件以指定屏幕左上角为原点的相对坐标系的X坐标。
2118
2119**系统能力:** SystemCapability.MultimodalInput.Input.Core
2120
2121**起始版本:** 12
2122
2123
2124**参数:**
2125
2126| 参数项 | 描述 |
2127| -- | -- |
2128| [Input_AxisEvent](capi-input-input-axisevent.md)* axisEvent | 轴事件对象,通过[OH_Input_CreateAxisEvent](#oh_input_createaxisevent)接口可以创建轴事件对象。<br>使用完需使用[OH_Input_DestroyAxisEvent](#oh_input_destroyaxisevent)接口销毁轴事件对象。 |
2129| float displayX | 轴事件以指定屏幕左上角为原点的相对坐标系的X坐标。 |
2130
2131**返回:**
2132
2133| 类型 | 说明 |
2134| -- | -- |
2135| [Input_Result](#input_result) | 若设置轴事件的X坐标成功,则返回[INPUT_SUCCESS](#input_result);若axisEvent为NULL,则返回[INPUT_PARAMETER_ERROR](#input_result)。 |
2136
2137### OH_Input_GetAxisEventDisplayX()
2138
2139```
2140Input_Result OH_Input_GetAxisEventDisplayX(const Input_AxisEvent* axisEvent, float* displayX)
2141```
2142
2143**描述**
2144
2145获取轴事件以指定屏幕左上角为原点的相对坐标系的X坐标。
2146
2147**系统能力:** SystemCapability.MultimodalInput.Input.Core
2148
2149**起始版本:** 12
2150
2151
2152**参数:**
2153
2154| 参数项 | 描述 |
2155| -- | -- |
2156| const [Input_AxisEvent](capi-input-input-axisevent.md)* axisEvent | 轴事件对象,通过[OH_Input_CreateAxisEvent](#oh_input_createaxisevent)接口可以创建轴事件对象。<br>使用完需使用[OH_Input_DestroyAxisEvent](#oh_input_destroyaxisevent)接口销毁轴事件对象。 |
2157| float* displayX | 出参,返回轴事件以指定屏幕左上角为原点的相对坐标系的X坐标。 |
2158
2159**返回:**
2160
2161| 类型 | 说明 |
2162| -- | -- |
2163| [Input_Result](#input_result) | 若获取轴事件的X坐标成功,则返回[INPUT_SUCCESS](#input_result);若axisEvent或者displayX为NULL,则返回[INPUT_PARAMETER_ERROR](#input_result)。 |
2164
2165### OH_Input_SetAxisEventDisplayY()
2166
2167```
2168Input_Result OH_Input_SetAxisEventDisplayY(Input_AxisEvent* axisEvent, float displayY)
2169```
2170
2171**描述**
2172
2173设置轴事件以指定屏幕左上角为原点的相对坐标系的Y坐标。
2174
2175**系统能力:** SystemCapability.MultimodalInput.Input.Core
2176
2177**起始版本:** 12
2178
2179
2180**参数:**
2181
2182| 参数项 | 描述 |
2183| -- | -- |
2184| [Input_AxisEvent](capi-input-input-axisevent.md)* axisEvent | 轴事件对象,通过[OH_Input_CreateAxisEvent](#oh_input_createaxisevent)接口可以创建轴事件对象。<br>使用完需使用[OH_Input_DestroyAxisEvent](#oh_input_destroyaxisevent)接口销毁轴事件对象。 |
2185| float displayY | 轴事件以指定屏幕左上角为原点的相对坐标系的Y坐标。 |
2186
2187**返回:**
2188
2189| 类型 | 说明 |
2190| -- | -- |
2191| [Input_Result](#input_result) | 若设置轴事件的Y坐标成功,则返回[INPUT_SUCCESS](#input_result);若axisEvent为NULL,则返回[INPUT_PARAMETER_ERROR](#input_result)。 |
2192
2193### OH_Input_GetAxisEventDisplayY()
2194
2195```
2196Input_Result OH_Input_GetAxisEventDisplayY(const Input_AxisEvent* axisEvent, float* displayY)
2197```
2198
2199**描述**
2200
2201获取轴事件以指定屏幕左上角为原点的相对坐标系的Y坐标。
2202
2203**系统能力:** SystemCapability.MultimodalInput.Input.Core
2204
2205**起始版本:** 12
2206
2207
2208**参数:**
2209
2210| 参数项 | 描述 |
2211| -- | -- |
2212| const [Input_AxisEvent](capi-input-input-axisevent.md)* axisEvent | 轴事件对象,通过[OH_Input_CreateAxisEvent](#oh_input_createaxisevent)接口可以创建轴事件对象。<br>使用完需使用[OH_Input_DestroyAxisEvent](#oh_input_destroyaxisevent)接口销毁轴事件对象。 |
2213| float* displayY | 出参,返回轴事件以指定屏幕左上角为原点的相对坐标系的Y坐标。 |
2214
2215**返回:**
2216
2217| 类型 | 说明 |
2218| -- | -- |
2219| [Input_Result](#input_result) | 若获取轴事件的Y坐标成功,则返回[INPUT_SUCCESS](#input_result);若axisEvent或者displayY为NULL,则返回[INPUT_PARAMETER_ERROR](#input_result)。 |
2220
2221### OH_Input_SetAxisEventAxisValue()
2222
2223```
2224Input_Result OH_Input_SetAxisEventAxisValue(Input_AxisEvent* axisEvent,InputEvent_AxisType axisType, double axisValue)
2225```
2226
2227**描述**
2228
2229设置轴事件指定轴类型的轴值。
2230
2231**系统能力:** SystemCapability.MultimodalInput.Input.Core
2232
2233**起始版本:** 12
2234
2235
2236**参数:**
2237
2238| 参数项 | 描述 |
2239| -- | -- |
2240| [Input_AxisEvent](capi-input-input-axisevent.md)* axisEvent | 轴事件对象,通过[OH_Input_CreateAxisEvent](#oh_input_createaxisevent)接口可以创建轴事件对象。<br>使用完需使用[OH_Input_DestroyAxisEvent](#oh_input_destroyaxisevent)接口销毁轴事件对象。 |
2241| [InputEvent_AxisType](capi-oh-axis-type-h.md#inputevent_axistype) axisType | 轴类型,具体请参考[InputEvent_AxisType](capi-oh-axis-type-h.md#inputevent_axistype)。 |
2242| double axisValue | 轴事件的值,正数向前滚动(例如,1.0表示向前滚动一个单位),负数向后滚动(例如,-1.0表示向后滚动一个单位),零表示没有滚动。 |
2243
2244**返回:**
2245
2246| 类型 | 说明 |
2247| -- | -- |
2248| [Input_Result](#input_result) | 若设置轴事件指定轴类型的轴值成功,则返回[INPUT_SUCCESS](#input_result);若axisEvent为NULL,则返回[INPUT_PARAMETER_ERROR](#input_result)。 |
2249
2250### OH_Input_GetAxisEventAxisValue()
2251
2252```
2253Input_Result OH_Input_GetAxisEventAxisValue(const Input_AxisEvent* axisEvent,InputEvent_AxisType axisType, double* axisValue)
2254```
2255
2256**描述**
2257
2258获取轴事件指定轴类型的轴值。
2259
2260**系统能力:** SystemCapability.MultimodalInput.Input.Core
2261
2262**起始版本:** 12
2263
2264
2265**参数:**
2266
2267| 参数项 | 描述 |
2268| -- | -- |
2269| const [Input_AxisEvent](capi-input-input-axisevent.md)* axisEvent | 轴事件对象,通过[OH_Input_CreateAxisEvent](#oh_input_createaxisevent)接口可以创建轴事件对象。<br>使用完需使用[OH_Input_DestroyAxisEvent](#oh_input_destroyaxisevent)接口销毁轴事件对象。 |
2270| [InputEvent_AxisType](capi-oh-axis-type-h.md#inputevent_axistype) axisType | 轴类型,具体请参考[InputEvent_AxisType](capi-oh-axis-type-h.md#inputevent_axistype)。 |
2271| double* axisValue | 出参,返回轴事件的值,正数向前滚动(例如,1.0表示向前滚动一个单位),负数向后滚动(例如,-1.0表示向后滚动一个单位),零表示没有滚动。 |
2272
2273**返回:**
2274
2275| 类型 | 说明 |
2276| -- | -- |
2277| [Input_Result](#input_result) | 若获取轴事件指定轴类型的轴值成功,则返回[INPUT_SUCCESS](#input_result);若axisEvent或者axisValue为NULL,则返回[INPUT_PARAMETER_ERROR](#input_result)。 |
2278
2279### OH_Input_SetAxisEventActionTime()
2280
2281```
2282Input_Result OH_Input_SetAxisEventActionTime(Input_AxisEvent* axisEvent, int64_t actionTime)
2283```
2284
2285**描述**
2286
2287设置轴事件发生的时间。
2288
2289**系统能力:** SystemCapability.MultimodalInput.Input.Core
2290
2291**起始版本:** 12
2292
2293
2294**参数:**
2295
2296| 参数项 | 描述 |
2297| -- | -- |
2298| [Input_AxisEvent](capi-input-input-axisevent.md)* axisEvent | 轴事件对象,通过[OH_Input_CreateAxisEvent](#oh_input_createaxisevent)接口可以创建轴事件对象。<br>使用完需使用[OH_Input_DestroyAxisEvent](#oh_input_destroyaxisevent)接口销毁轴事件对象。 |
2299| int64_t actionTime | 轴事件发生的时间,表示从1970.1.1 00:00:00 GMT逝去的微秒数。 |
2300
2301**返回:**
2302
2303| 类型 | 说明 |
2304| -- | -- |
2305| [Input_Result](#input_result) | 若设置轴事件发生的时间成功,则返回[INPUT_SUCCESS](#input_result);若axisEvent为NULL,则返回[INPUT_PARAMETER_ERROR](#input_result)。 |
2306
2307### OH_Input_GetAxisEventActionTime()
2308
2309```
2310Input_Result OH_Input_GetAxisEventActionTime(const Input_AxisEvent* axisEvent, int64_t* actionTime)
2311```
2312
2313**描述**
2314
2315获取轴事件发生的时间。
2316
2317**系统能力:** SystemCapability.MultimodalInput.Input.Core
2318
2319**起始版本:** 12
2320
2321
2322**参数:**
2323
2324| 参数项 | 描述 |
2325| -- | -- |
2326| const [Input_AxisEvent](capi-input-input-axisevent.md)* axisEvent | 轴事件对象,通过[OH_Input_CreateAxisEvent](#oh_input_createaxisevent)接口可以创建轴事件对象。<br>使用完需使用[OH_Input_DestroyAxisEvent](#oh_input_destroyaxisevent)接口销毁轴事件对象。 |
2327| int64_t* actionTime | 出参,返回轴事件发生的时间,表示从1970.1.1 00:00:00 GMT逝去的微秒数。 |
2328
2329**返回:**
2330
2331| 类型 | 说明 |
2332| -- | -- |
2333| [Input_Result](#input_result) | 若获取轴事件发生的时间成功,则返回[INPUT_SUCCESS](#input_result);若axisEvent或者actionTime为NULL,则返回[INPUT_PARAMETER_ERROR](#input_result)。 |
2334
2335### OH_Input_SetAxisEventType()
2336
2337```
2338Input_Result OH_Input_SetAxisEventType(Input_AxisEvent* axisEvent, InputEvent_AxisEventType axisEventType)
2339```
2340
2341**描述**
2342
2343设置轴事件类型。
2344
2345**系统能力:** SystemCapability.MultimodalInput.Input.Core
2346
2347**起始版本:** 12
2348
2349
2350**参数:**
2351
2352| 参数项 | 描述 |
2353| -- | -- |
2354| [Input_AxisEvent](capi-input-input-axisevent.md)* axisEvent | 轴事件对象,通过[OH_Input_CreateAxisEvent](#oh_input_createaxisevent)接口可以创建轴事件对象。<br>使用完需使用[OH_Input_DestroyAxisEvent](#oh_input_destroyaxisevent)接口销毁轴事件对象。 |
2355| [InputEvent_AxisEventType](capi-oh-axis-type-h.md#inputevent_axiseventtype) axisEventType | 轴事件类型,具体请参考[InputEvent_AxisEventType](capi-oh-axis-type-h.md#inputevent_axiseventtype)。 |
2356
2357**返回:**
2358
2359| 类型 | 说明 |
2360| -- | -- |
2361| [Input_Result](#input_result) | 若设置轴事件类型成功,则返回[INPUT_SUCCESS](#input_result);若axisEvent为NULL,则返回[INPUT_PARAMETER_ERROR](#input_result)。 |
2362
2363### OH_Input_GetAxisEventType()
2364
2365```
2366Input_Result OH_Input_GetAxisEventType(const Input_AxisEvent* axisEvent, InputEvent_AxisEventType* axisEventType)
2367```
2368
2369**描述**
2370
2371获取轴事件类型。
2372
2373**系统能力:** SystemCapability.MultimodalInput.Input.Core
2374
2375**起始版本:** 12
2376
2377
2378**参数:**
2379
2380| 参数项 | 描述 |
2381| -- | -- |
2382| const [Input_AxisEvent](capi-input-input-axisevent.md)* axisEvent | 轴事件对象,通过[OH_Input_CreateAxisEvent](#oh_input_createaxisevent)接口可以创建轴事件对象。<br>使用完需使用[OH_Input_DestroyAxisEvent](#oh_input_destroyaxisevent)接口销毁轴事件对象。 |
2383| [InputEvent_AxisEventType](capi-oh-axis-type-h.md#inputevent_axiseventtype)* axisEventType | 出参,返回轴事件类型,具体请参考[InputEvent_AxisEventType](capi-oh-axis-type-h.md#inputevent_axiseventtype)。 |
2384
2385**返回:**
2386
2387| 类型 | 说明 |
2388| -- | -- |
2389| [Input_Result](#input_result) | 若获取轴事件类型成功,则返回[INPUT_SUCCESS](#input_result);若axisEvent或者axisEventType为NULL,则返回[INPUT_PARAMETER_ERROR](#input_result)。 |
2390
2391### OH_Input_SetAxisEventSourceType()
2392
2393```
2394Input_Result OH_Input_SetAxisEventSourceType(Input_AxisEvent* axisEvent, InputEvent_SourceType sourceType)
2395```
2396
2397**描述**
2398
2399设置轴事件源类型。
2400
2401**系统能力:** SystemCapability.MultimodalInput.Input.Core
2402
2403**起始版本:** 12
2404
2405
2406**参数:**
2407
2408| 参数项 | 描述 |
2409| -- | -- |
2410| [Input_AxisEvent](capi-input-input-axisevent.md)* axisEvent | 轴事件对象,通过[OH_Input_CreateAxisEvent](#oh_input_createaxisevent)接口可以创建轴事件对象。<br>使用完需使用[OH_Input_DestroyAxisEvent](#oh_input_destroyaxisevent)接口销毁轴事件对象。 |
2411| [InputEvent_SourceType](#inputevent_sourcetype) sourceType | 轴事件源类型,具体请参考[InputEvent_SourceType](#inputevent_sourcetype)。 |
2412
2413**返回:**
2414
2415| 类型 | 说明 |
2416| -- | -- |
2417| [Input_Result](#input_result) | 若设置轴事件源类型成功,则返回[INPUT_SUCCESS](#input_result);若axisEvent为NULL,则返回[INPUT_PARAMETER_ERROR](#input_result)。 |
2418
2419### OH_Input_GetAxisEventSourceType()
2420
2421```
2422Input_Result OH_Input_GetAxisEventSourceType(const Input_AxisEvent* axisEvent, InputEvent_SourceType* sourceType)
2423```
2424
2425**描述**
2426
2427获取轴事件源类型。
2428
2429**系统能力:** SystemCapability.MultimodalInput.Input.Core
2430
2431**起始版本:** 12
2432
2433
2434**参数:**
2435
2436| 参数项 | 描述 |
2437| -- | -- |
2438| const [Input_AxisEvent](capi-input-input-axisevent.md)* axisEvent | 轴事件对象,通过[OH_Input_CreateAxisEvent](#oh_input_createaxisevent)接口可以创建轴事件对象。<br>使用完需使用[OH_Input_DestroyAxisEvent](#oh_input_destroyaxisevent)接口销毁轴事件对象。 |
2439| [InputEvent_SourceType](#inputevent_sourcetype)* sourceType | 出参,返回轴事件源类型,具体请参考[InputEvent_SourceType](#inputevent_sourcetype)。 |
2440
2441**返回:**
2442
2443| 类型 | 说明 |
2444| -- | -- |
2445| [Input_Result](#input_result) | 若获取轴事件源类型成功,则返回[INPUT_SUCCESS](#input_result);若axisEvent或者sourceType为NULL,则返回[INPUT_PARAMETER_ERROR](#input_result)。 |
2446
2447### OH_Input_SetAxisEventWindowId()
2448
2449```
2450Input_Result OH_Input_SetAxisEventWindowId(Input_AxisEvent* axisEvent, int32_t windowId)
2451```
2452
2453**描述**
2454
2455设置轴事件的窗口Id。
2456
2457**系统能力:** SystemCapability.MultimodalInput.Input.Core
2458
2459**起始版本:** 15
2460
2461
2462**参数:**
2463
2464| 参数项 | 描述 |
2465| -- | -- |
2466| [Input_AxisEvent](capi-input-input-axisevent.md)* axisEvent | 轴事件对象,通过[OH_Input_CreateAxisEvent](#oh_input_createaxisevent)接口可以创建轴事件对象。<br>使用完需使用[OH_Input_DestroyAxisEvent](#oh_input_destroyaxisevent)接口销毁轴事件对象。 |
2467| int32_t windowId | 轴事件窗口Id。 |
2468
2469**返回:**
2470
2471| 类型 | 说明 |
2472| -- | -- |
2473| [Input_Result](#input_result) | 若设置轴事件的窗口Id成功,则返回[INPUT_SUCCESS](#input_result);若axisEvent为NULL,则返回[INPUT_PARAMETER_ERROR](#input_result)。 |
2474
2475### OH_Input_GetAxisEventWindowId()
2476
2477```
2478Input_Result OH_Input_GetAxisEventWindowId(const Input_AxisEvent* axisEvent, int32_t* windowId)
2479```
2480
2481**描述**
2482
2483获取轴事件的窗口Id。
2484
2485**系统能力:** SystemCapability.MultimodalInput.Input.Core
2486
2487**起始版本:** 15
2488
2489
2490**参数:**
2491
2492| 参数项 | 描述 |
2493| -- | -- |
2494| const [Input_AxisEvent](capi-input-input-axisevent.md)* axisEvent | 轴事件对象,通过[OH_Input_CreateAxisEvent](#oh_input_createaxisevent)接口可以创建轴事件对象。<br>使用完需使用[OH_Input_DestroyAxisEvent](#oh_input_destroyaxisevent)接口销毁轴事件对象。 |
2495| int32_t* windowId | 出参,返回轴事件窗口Id。 |
2496
2497**返回:**
2498
2499| 类型 | 说明 |
2500| -- | -- |
2501| [Input_Result](#input_result) | 若获取轴事件的窗口Id成功,则返回[INPUT_SUCCESS](#input_result);若axisEvent或者windowId为NULL,则返回[INPUT_PARAMETER_ERROR](#input_result)。 |
2502
2503### OH_Input_SetAxisEventDisplayId()
2504
2505```
2506Input_Result OH_Input_SetAxisEventDisplayId(Input_AxisEvent* axisEvent, int32_t displayId)
2507```
2508
2509**描述**
2510
2511设置轴事件的屏幕Id。
2512
2513**系统能力:** SystemCapability.MultimodalInput.Input.Core
2514
2515**起始版本:** 15
2516
2517
2518**参数:**
2519
2520| 参数项 | 描述 |
2521| -- | -- |
2522| [Input_AxisEvent](capi-input-input-axisevent.md)* axisEvent | 轴事件对象,通过[OH_Input_CreateAxisEvent](#oh_input_createaxisevent)接口可以创建轴事件对象。<br>使用完需使用[OH_Input_DestroyAxisEvent](#oh_input_destroyaxisevent)接口销毁轴事件对象。 |
2523| int32_t displayId | 轴事件屏幕Id。 |
2524
2525**返回:**
2526
2527| 类型 | 说明 |
2528| -- | -- |
2529| [Input_Result](#input_result) | 若设置轴事件的屏幕Id成功,则返回[INPUT_SUCCESS](#input_result);若axisEvent为NULL,则返回[INPUT_PARAMETER_ERROR](#input_result)。 |
2530
2531### OH_Input_GetAxisEventDisplayId()
2532
2533```
2534Input_Result OH_Input_GetAxisEventDisplayId(const Input_AxisEvent* axisEvent, int32_t* displayId)
2535```
2536
2537**描述**
2538
2539获取轴事件的屏幕Id。
2540
2541**系统能力:** SystemCapability.MultimodalInput.Input.Core
2542
2543**起始版本:** 15
2544
2545
2546**参数:**
2547
2548| 参数项 | 描述 |
2549| -- | -- |
2550| const [Input_AxisEvent](capi-input-input-axisevent.md)* axisEvent | 轴事件对象,通过[OH_Input_CreateAxisEvent](#oh_input_createaxisevent)接口可以创建轴事件对象。<br>使用完需使用[OH_Input_DestroyAxisEvent](#oh_input_destroyaxisevent)接口销毁轴事件对象。 |
2551| int32_t* displayId | 出参,返回轴事件屏幕Id。 |
2552
2553**返回:**
2554
2555| 类型 | 说明 |
2556| -- | -- |
2557| [Input_Result](#input_result) | 若获取轴事件的屏幕Id成功,则返回[INPUT_SUCCESS](#input_result);若axisEvent或者displayId为NULL,则返回[INPUT_PARAMETER_ERROR](#input_result)。 |
2558
2559### OH_Input_AddKeyEventMonitor()
2560
2561```
2562Input_Result OH_Input_AddKeyEventMonitor(Input_KeyEventCallback callback)
2563```
2564
2565**描述**
2566
2567添加按键事件监听。
2568
2569**系统能力:** SystemCapability.MultimodalInput.Input.Core
2570
2571**需要权限:** ohos.permission.INPUT_MONITORING
2572
2573**起始版本:** 12
2574
2575
2576**参数:**
2577
2578| 参数项 | 描述 |
2579| -- | -- |
2580| [Input_KeyEventCallback](#input_keyeventcallback) callback | 回调函数,用于接收按键事件。 |
2581
2582**返回:**
2583
2584| 类型 | 说明 |
2585| -- | -- |
2586| [Input_Result](#input_result) | 若添加按键事件监听成功,则返回[INPUT_SUCCESS](#input_result);若权限校验失败,则返回[INPUT_PERMISSION_DENIED](#input_result);<br>         若callback为空,则返回[INPUT_PARAMETER_ERROR](#input_result);若服务异常,则返回[INPUT_SERVICE_EXCEPTION](#input_result)。 |
2587
2588### OH_Input_AddMouseEventMonitor()
2589
2590```
2591Input_Result OH_Input_AddMouseEventMonitor(Input_MouseEventCallback callback)
2592```
2593
2594**描述**
2595
2596添加鼠标事件监听,包含鼠标点击,移动,不包含滚轮事件,滚轮事件归属于轴事件。
2597
2598**系统能力:** SystemCapability.MultimodalInput.Input.Core
2599
2600**需要权限:** ohos.permission.INPUT_MONITORING
2601
2602**起始版本:** 12
2603
2604
2605**参数:**
2606
2607| 参数项 | 描述 |
2608| -- | -- |
2609| [Input_MouseEventCallback](#input_mouseeventcallback) callback | 回调函数,用于接收鼠标事件。 |
2610
2611**返回:**
2612
2613| 类型 | 说明 |
2614| -- | -- |
2615| [Input_Result](#input_result) | 若添加鼠标事件监听成功,则返回[INPUT_SUCCESS](#input_result);若权限校验失败,则返回[INPUT_PERMISSION_DENIED](#input_result);<br>         若callback为空,则返回[INPUT_PARAMETER_ERROR](#input_result);若服务异常,则返回[INPUT_SERVICE_EXCEPTION](#input_result)。 |
2616
2617### OH_Input_AddTouchEventMonitor()
2618
2619```
2620Input_Result OH_Input_AddTouchEventMonitor(Input_TouchEventCallback callback)
2621```
2622
2623**描述**
2624
2625添加触屏事件监听。
2626
2627**系统能力:** SystemCapability.MultimodalInput.Input.Core
2628
2629**需要权限:** ohos.permission.INPUT_MONITORING
2630
2631**起始版本:** 12
2632
2633
2634**参数:**
2635
2636| 参数项 | 描述 |
2637| -- | -- |
2638| [Input_TouchEventCallback](#input_toucheventcallback) callback | 回调函数,用于接收触屏事件。 |
2639
2640**返回:**
2641
2642| 类型 | 说明 |
2643| -- | -- |
2644| [Input_Result](#input_result) | 若添加触屏事件监听成功,则返回[INPUT_SUCCESS](#input_result);若权限校验失败,则返回[INPUT_PERMISSION_DENIED](#input_result);<br>         若callback为空,则返回[INPUT_PARAMETER_ERROR](#input_result);若服务异常,则返回[INPUT_SERVICE_EXCEPTION](#input_result)。 |
2645
2646### OH_Input_AddAxisEventMonitorForAll()
2647
2648```
2649Input_Result OH_Input_AddAxisEventMonitorForAll(Input_AxisEventCallback callback)
2650```
2651
2652**描述**
2653
2654添加所有类型轴事件监听,轴事件类型定义在[InputEvent_AxisEventType](capi-oh-axis-type-h.md#inputevent_axiseventtype)中。
2655
2656**系统能力:** SystemCapability.MultimodalInput.Input.Core
2657
2658**需要权限:** ohos.permission.INPUT_MONITORING
2659
2660**起始版本:** 12
2661
2662
2663**参数:**
2664
2665| 参数项 | 描述 |
2666| -- | -- |
2667| [Input_AxisEventCallback](#input_axiseventcallback) callback | 回调函数,用于接收轴事件。 |
2668
2669**返回:**
2670
2671| 类型 | 说明 |
2672| -- | -- |
2673| [Input_Result](#input_result) | 若添加轴事件监听成功,则返回[INPUT_SUCCESS](#input_result);若权限校验失败,则返回[INPUT_PERMISSION_DENIED](#input_result);<br>         若callback为空,则返回[INPUT_PARAMETER_ERROR](#input_result);若服务异常,则返回[INPUT_SERVICE_EXCEPTION](#input_result)。 |
2674
2675### OH_Input_AddAxisEventMonitor()
2676
2677```
2678Input_Result OH_Input_AddAxisEventMonitor(InputEvent_AxisEventType axisEventType, Input_AxisEventCallback callback)
2679```
2680
2681**描述**
2682
2683添加指定类型的轴事件监听,轴事件类型定义在[InputEvent_AxisEventType](capi-oh-axis-type-h.md#inputevent_axiseventtype)中。
2684
2685**系统能力:** SystemCapability.MultimodalInput.Input.Core
2686
2687**需要权限:** ohos.permission.INPUT_MONITORING
2688
2689**起始版本:** 12
2690
2691
2692**参数:**
2693
2694| 参数项 | 描述 |
2695| -- | -- |
2696| [InputEvent_AxisEventType](capi-oh-axis-type-h.md#inputevent_axiseventtype) axisEventType | 要监听的轴事件类型,轴事件类型定义在[InputEvent_AxisEventType](capi-oh-axis-type-h.md#inputevent_axiseventtype)中。 |
2697| [Input_AxisEventCallback](#input_axiseventcallback) callback | 回调函数,用于接收指定类型的轴事件 |
2698
2699**返回:**
2700
2701| 类型 | 说明 |
2702| -- | -- |
2703| [Input_Result](#input_result) | 若添加轴事件监听成功,则返回[INPUT_SUCCESS](#input_result);若权限校验失败,则返回[INPUT_PERMISSION_DENIED](#input_result);<br>         若callback为空,则返回[INPUT_PARAMETER_ERROR](#input_result);若服务异常,则返回[INPUT_SERVICE_EXCEPTION](#input_result)。 |
2704
2705### OH_Input_RemoveKeyEventMonitor()
2706
2707```
2708Input_Result OH_Input_RemoveKeyEventMonitor(Input_KeyEventCallback callback)
2709```
2710
2711**描述**
2712
2713移除按键事件监听。
2714
2715**系统能力:** SystemCapability.MultimodalInput.Input.Core
2716
2717**需要权限:** ohos.permission.INPUT_MONITORING
2718
2719**起始版本:** 12
2720
2721
2722**参数:**
2723
2724| 参数项 | 描述 |
2725| -- | -- |
2726| [Input_KeyEventCallback](#input_keyeventcallback) callback | 指定要被移除的用于按键事件监听的回调函数。 |
2727
2728**返回:**
2729
2730| 类型 | 说明 |
2731| -- | -- |
2732| [Input_Result](#input_result) | 若移除按键事件监听成功,则返回[INPUT_SUCCESS](#input_result);若权限校验失败,则返回[INPUT_PERMISSION_DENIED](#input_result);<br>         若callback为空或者没有被添加监听,则返回[INPUT_PARAMETER_ERROR](#input_result);若服务异常,则返回[INPUT_SERVICE_EXCEPTION](#input_result)。 |
2733
2734### OH_Input_RemoveMouseEventMonitor()
2735
2736```
2737Input_Result OH_Input_RemoveMouseEventMonitor(Input_MouseEventCallback callback)
2738```
2739
2740**描述**
2741
2742移除鼠标事件监听。
2743
2744**系统能力:** SystemCapability.MultimodalInput.Input.Core
2745
2746**需要权限:** ohos.permission.INPUT_MONITORING
2747
2748**起始版本:** 12
2749
2750
2751**参数:**
2752
2753| 参数项 | 描述 |
2754| -- | -- |
2755| [Input_MouseEventCallback](#input_mouseeventcallback) callback | 指定要被移除的用于鼠标事件监听的回调函数。 |
2756
2757**返回:**
2758
2759| 类型 | 说明 |
2760| -- | -- |
2761| [Input_Result](#input_result) | 若移除鼠标事件监听成功,则返回[INPUT_SUCCESS](#input_result);若权限校验失败,则返回[INPUT_PERMISSION_DENIED](#input_result);<br>         若callback为空或者没有被添加监听,则返回[INPUT_PARAMETER_ERROR](#input_result);若服务异常,则返回[INPUT_SERVICE_EXCEPTION](#input_result)。 |
2762
2763### OH_Input_RemoveTouchEventMonitor()
2764
2765```
2766Input_Result OH_Input_RemoveTouchEventMonitor(Input_TouchEventCallback callback)
2767```
2768
2769**描述**
2770
2771移除触屏事件监听。
2772
2773**系统能力:** SystemCapability.MultimodalInput.Input.Core
2774
2775**需要权限:** ohos.permission.INPUT_MONITORING
2776
2777**起始版本:** 12
2778
2779
2780**参数:**
2781
2782| 参数项 | 描述 |
2783| -- | -- |
2784| [Input_TouchEventCallback](#input_toucheventcallback) callback | 指定要被移除的用于触屏事件监听的回调函数。 |
2785
2786**返回:**
2787
2788| 类型 | 说明 |
2789| -- | -- |
2790| [Input_Result](#input_result) | 若移除触屏事件监听成功,则返回[INPUT_SUCCESS](#input_result);若权限校验失败,则返回[INPUT_PERMISSION_DENIED](#input_result);<br>         若callback为空或者没有被添加监听,则返回[INPUT_PARAMETER_ERROR](#input_result);若服务异常,则返回[INPUT_SERVICE_EXCEPTION](#input_result)。 |
2791
2792### OH_Input_RemoveAxisEventMonitorForAll()
2793
2794```
2795Input_Result OH_Input_RemoveAxisEventMonitorForAll(Input_AxisEventCallback callback)
2796```
2797
2798**描述**
2799
2800移除所有类型轴事件监听。
2801
2802**系统能力:** SystemCapability.MultimodalInput.Input.Core
2803
2804**需要权限:** ohos.permission.INPUT_MONITORING
2805
2806**起始版本:** 12
2807
2808
2809**参数:**
2810
2811| 参数项 | 描述 |
2812| -- | -- |
2813| [Input_AxisEventCallback](#input_axiseventcallback) callback | 指定要被移除的用于所有类型轴事件监听的回调函数。 |
2814
2815**返回:**
2816
2817| 类型 | 说明 |
2818| -- | -- |
2819| [Input_Result](#input_result) | 若移除轴事件监听成功,则返回[INPUT_SUCCESS](#input_result);若权限校验失败,则返回[INPUT_PERMISSION_DENIED](#input_result);<br>         若callback为空或者没有被添加监听,则返回[INPUT_PARAMETER_ERROR](#input_result);若服务异常,则返回[INPUT_SERVICE_EXCEPTION](#input_result)。 |
2820
2821### OH_Input_RemoveAxisEventMonitor()
2822
2823```
2824Input_Result OH_Input_RemoveAxisEventMonitor(InputEvent_AxisEventType axisEventType, Input_AxisEventCallback callback)
2825```
2826
2827**描述**
2828
2829移除指定类型轴事件监听,轴事件类型定义在[InputEvent_AxisEventType](capi-oh-axis-type-h.md#inputevent_axiseventtype)中。
2830
2831**系统能力:** SystemCapability.MultimodalInput.Input.Core
2832
2833**需要权限:** ohos.permission.INPUT_MONITORING
2834
2835**起始版本:** 12
2836
2837
2838**参数:**
2839
2840| 参数项 | 描述 |
2841| -- | -- |
2842| [InputEvent_AxisEventType](capi-oh-axis-type-h.md#inputevent_axiseventtype) axisEventType | 指定要移除监听的轴事件类型,轴事件类型定义在[InputEvent_AxisEventType](capi-oh-axis-type-h.md#inputevent_axiseventtype)中。 |
2843| [Input_AxisEventCallback](#input_axiseventcallback) callback | 指定要被移除的用于指定类型轴事件监听的回调函数。 |
2844
2845**返回:**
2846
2847| 类型 | 说明 |
2848| -- | -- |
2849| [Input_Result](#input_result) | 若移除轴事件监听成功,则返回[INPUT_SUCCESS](#input_result);若权限校验失败,则返回[INPUT_PERMISSION_DENIED](#input_result);<br>         若callback为空或者没有被添加监听,则返回[INPUT_PARAMETER_ERROR](#input_result);若服务异常,则返回[INPUT_SERVICE_EXCEPTION](#input_result)。 |
2850
2851### OH_Input_AddKeyEventInterceptor()
2852
2853```
2854Input_Result OH_Input_AddKeyEventInterceptor(Input_KeyEventCallback callback, Input_InterceptorOptions *option)
2855```
2856
2857**描述**
2858
2859添加按键事件的拦截,重复添加只有第一次生效。仅在应用获焦时拦截按键事件。
2860
2861**系统能力:** SystemCapability.MultimodalInput.Input.Core
2862
2863**需要权限:** ohos.permission.INTERCEPT_INPUT_EVENT
2864
2865**起始版本:** 12
2866
2867
2868**参数:**
2869
2870| 参数项 | 描述 |
2871| -- | -- |
2872| [Input_KeyEventCallback](#input_keyeventcallback) callback | 回调函数,用于接收按键事件。 |
2873| [Input_InterceptorOptions](capi-input-input-interceptoroptions.md) *option | option 输入事件拦截的可选项,传null则使用默认值。 |
2874
2875**返回:**
2876
2877| 类型 | 说明 |
2878| -- | -- |
2879| [Input_Result](#input_result) | 若添加按键事件的拦截成功,则返回[INPUT_SUCCESS](#input_result);若权限校验失败,则返回[INPUT_PERMISSION_DENIED](#input_result);<br>         若callback为空,则返回[INPUT_PARAMETER_ERROR](#input_result);若重复添加拦截器,则返回[INPUT_REPEAT_INTERCEPTOR](#input_result);<br>         若服务异常;则返回[INPUT_SERVICE_EXCEPTION](#input_result)。 |
2880
2881### OH_Input_AddInputEventInterceptor()
2882
2883```
2884Input_Result OH_Input_AddInputEventInterceptor(Input_InterceptorEventCallback *callback,Input_InterceptorOptions *option)
2885```
2886
2887**描述**
2888
2889添加输入事件拦截,包括鼠标、触屏和轴事件,重复添加只有第一次生效。仅命中应用窗口时拦截输入事件。
2890
2891**系统能力:** SystemCapability.MultimodalInput.Input.Core
2892
2893**需要权限:** ohos.permission.INTERCEPT_INPUT_EVENT
2894
2895**起始版本:** 12
2896
2897
2898**参数:**
2899
2900| 参数项 | 描述 |
2901| -- | -- |
2902| [Input_InterceptorEventCallback](capi-input-input-interceptoreventcallback.md) *callback | callback 用于回调输入事件的结构体指针,请参考定义[Input_InterceptorEventCallback](capi-input-input-interceptoreventcallback.md)。 |
2903| [Input_InterceptorOptions](capi-input-input-interceptoroptions.md) *option | option 输入事件拦截的可选项,传null则使用默认值。 |
2904
2905**返回:**
2906
2907| 类型 | 说明 |
2908| -- | -- |
2909| [Input_Result](#input_result) | 若添加输入事件的拦截成功,则返回[INPUT_SUCCESS](#input_result);若权限校验失败,则返回[INPUT_PERMISSION_DENIED](#input_result);<br>         若callback为空,则返回[INPUT_PARAMETER_ERROR](#input_result);若重复添加拦截器,则返回[INPUT_REPEAT_INTERCEPTOR](#input_result);<br>         若服务异常;则返回[INPUT_SERVICE_EXCEPTION](#input_result)。 |
2910
2911### OH_Input_RemoveKeyEventInterceptor()
2912
2913```
2914Input_Result OH_Input_RemoveKeyEventInterceptor(void)
2915```
2916
2917**描述**
2918
2919移除按键事件拦截。
2920
2921**系统能力:** SystemCapability.MultimodalInput.Input.Core
2922
2923**需要权限:** ohos.permission.INTERCEPT_INPUT_EVENT
2924
2925**起始版本:** 12
2926
2927**返回:**
2928
2929| 类型 | 说明 |
2930| -- | -- |
2931| [Input_Result](#input_result) | 若移除按键事件拦截成功,则返回[INPUT_SUCCESS](#input_result);若权限校验失败,则返回[INPUT_PERMISSION_DENIED](#input_result);<br>         若服务异常,则返回[INPUT_SERVICE_EXCEPTION](#input_result)。 |
2932
2933### OH_Input_RemoveInputEventInterceptor()
2934
2935```
2936Input_Result OH_Input_RemoveInputEventInterceptor(void)
2937```
2938
2939**描述**
2940
2941移除输入事件拦截,包括鼠标、触屏和轴事件。
2942
2943**系统能力:** SystemCapability.MultimodalInput.Input.Core
2944
2945**需要权限:** ohos.permission.INTERCEPT_INPUT_EVENT
2946
2947**起始版本:** 12
2948
2949**返回:**
2950
2951| 类型 | 说明 |
2952| -- | -- |
2953| [Input_Result](#input_result) | 若移除输入事件拦截成功,则返回[INPUT_SUCCESS](#input_result);若权限校验失败,则返回[INPUT_PERMISSION_DENIED](#input_result);<br>         若服务异常,则返回[INPUT_SERVICE_EXCEPTION](#input_result)。 |
2954
2955### OH_Input_GetIntervalSinceLastInput()
2956
2957```
2958Input_Result OH_Input_GetIntervalSinceLastInput(int64_t *timeInterval)
2959```
2960
2961**描述**
2962
2963获取距离上次系统输入事件的时间间隔。
2964
2965**系统能力:** SystemCapability.MultimodalInput.Input.Core
2966
2967**起始版本:** 14
2968
2969
2970**参数:**
2971
2972| 参数项 | 描述 |
2973| -- | -- |
2974| int64_t *timeInterval | timeInterval 时间间隔,单位为微秒。 |
2975
2976**返回:**
2977
2978| 类型 | 说明 |
2979| -- | -- |
2980| [Input_Result](#input_result) | OH_Input_GetIntervalSinceLastInput 函数错误码。<br>         若获取时间间隔成功,则返回[INPUT_SUCCESS](#input_result);若获取失败,返回[INPUT_SERVICE_EXCEPTION](#input_result)。 |
2981
2982### OH_Input_CreateHotkey()
2983
2984```
2985Input_Hotkey *OH_Input_CreateHotkey(void)
2986```
2987
2988**描述**
2989
2990创建快捷键对象的实例。
2991
2992**系统能力:** SystemCapability.MultimodalInput.Input.Core
2993
2994**起始版本:** 14
2995
2996**返回:**
2997
2998| 类型 | 说明 |
2999| -- | -- |
3000| [Input_Hotkey](capi-input-input-hotkey.md) | 如果操作成功,则返回一个[Input_Hotkey](capi-input-input-hotkey.md)指针对象。否则, 返回一个空指针, 可能的原因是内存分配失败。 |
3001
3002### OH_Input_DestroyHotkey()
3003
3004```
3005void OH_Input_DestroyHotkey(Input_Hotkey **hotkey)
3006```
3007
3008**描述**
3009
3010销毁快捷键对象的实例。
3011
3012**系统能力:** SystemCapability.MultimodalInput.Input.Core
3013
3014**起始版本:** 14
3015
3016
3017**参数:**
3018
3019| 参数项 | 描述 |
3020| -- | -- |
3021| [Input_Hotkey](capi-input-input-hotkey.md) **hotkey | hotkey 快捷键对象的实例。 |
3022
3023### OH_Input_SetPreKeys()
3024
3025```
3026void OH_Input_SetPreKeys(Input_Hotkey *hotkey, int32_t *preKeys, int32_t size)
3027```
3028
3029**描述**
3030
3031设置修饰键。
3032
3033**系统能力:** SystemCapability.MultimodalInput.Input.Core
3034
3035**起始版本:** 14
3036
3037
3038**参数:**
3039
3040| 参数项 | 描述 |
3041| -- | -- |
3042| [Input_Hotkey](capi-input-input-hotkey.md) *hotkey | hotkey 快捷键对象的实例。 |
3043| int32_t *preKeys | preKeys 修饰键列表。 |
3044| int32_t size | 修饰键个数, 取值范围1~2个。 |
3045
3046### OH_Input_GetPreKeys()
3047
3048```
3049Input_Result OH_Input_GetPreKeys(const Input_Hotkey *hotkey, int32_t **preKeys, int32_t *preKeyCount)
3050```
3051
3052**描述**
3053
3054获取修饰键。
3055
3056**系统能力:** SystemCapability.MultimodalInput.Input.Core
3057
3058**起始版本:** 14
3059
3060
3061**参数:**
3062
3063| 参数项 | 描述 |
3064| -- | -- |
3065| const [Input_Hotkey](capi-input-input-hotkey.md) *hotkey | hotkey 快捷键对象的实例。 |
3066| int32_t **preKeys | preKeys 返回修饰键列表。 |
3067| int32_t *preKeyCount | preKeyCount 返回修饰键个数。 |
3068
3069**返回:**
3070
3071| 类型 | 说明 |
3072| -- | -- |
3073| [Input_Result](#input_result) | OH_Input_GetPreKeys 函数错误码。<br>         若获取成功,返回[INPUT_SUCCESS](#input_result);若获取失败,返回[INPUT_PARAMETER_ERROR](#input_result)。 |
3074
3075### OH_Input_SetFinalKey()
3076
3077```
3078void OH_Input_SetFinalKey(Input_Hotkey* hotkey, int32_t finalKey)
3079```
3080
3081**描述**
3082
3083设置被修饰键。
3084
3085**系统能力:** SystemCapability.MultimodalInput.Input.Core
3086
3087**起始版本:** 14
3088
3089
3090**参数:**
3091
3092| 参数项 | 描述 |
3093| -- | -- |
3094| [Input_Hotkey](capi-input-input-hotkey.md)* hotkey | 快捷键对象的实例。 |
3095| int32_t finalKey | 被修饰键值,被修饰键值只能是1个。 |
3096
3097### OH_Input_GetFinalKey()
3098
3099```
3100Input_Result OH_Input_GetFinalKey(const Input_Hotkey* hotkey, int32_t *finalKeyCode)
3101```
3102
3103**描述**
3104
3105获取被修饰键。
3106
3107**系统能力:** SystemCapability.MultimodalInput.Input.Core
3108
3109**起始版本:** 14
3110
3111
3112**参数:**
3113
3114| 参数项 | 描述 |
3115| -- | -- |
3116| const [Input_Hotkey](capi-input-input-hotkey.md)* hotkey | 快捷键对象的实例。 |
3117| int32_t *finalKeyCode | finalKeyCode 返回被修饰键键值。 |
3118
3119**返回:**
3120
3121| 类型 | 说明 |
3122| -- | -- |
3123| [Input_Result](#input_result) | OH_Input_GetFinalKey 函数错误码。<br>         若获取成功,返回[INPUT_SUCCESS](#input_result);<br>         若获取失败,返回[INPUT_PARAMETER_ERROR](#input_result)。 |
3124
3125### OH_Input_CreateAllSystemHotkeys()
3126
3127```
3128Input_Hotkey **OH_Input_CreateAllSystemHotkeys(int32_t count)
3129```
3130
3131**描述**
3132
3133创建[Input_Hotkey](capi-input-input-hotkey.md)类型实例的数组。
3134
3135**系统能力:** SystemCapability.MultimodalInput.Input.Core
3136
3137**起始版本:** 14
3138
3139
3140**参数:**
3141
3142| 参数项 | 描述 |
3143| -- | -- |
3144| int32_t count | 创建[Input_Hotkey](capi-input-input-hotkey.md)实例的数量。 |
3145
3146**返回:**
3147
3148| 类型 | 说明 |
3149| -- | -- |
3150| [Input_Hotkey](capi-input-input-hotkey.md) | OH_Input_CreateAllSystemHotkeys 函数错误码。<br>         [INPUT_SUCCESS](#input_result) 创建实例数组的双指针成功。 |
3151
3152### OH_Input_DestroyAllSystemHotkeys()
3153
3154```
3155void OH_Input_DestroyAllSystemHotkeys(Input_Hotkey **hotkeys, int32_t count)
3156```
3157
3158**描述**
3159
3160销毁[Input_Hotkey](capi-input-input-hotkey.md)实例数组并回收内存。
3161
3162**系统能力:** SystemCapability.MultimodalInput.Input.Core
3163
3164**起始版本:** 14
3165
3166
3167**参数:**
3168
3169| 参数项 | 描述 |
3170| -- | -- |
3171| [Input_Hotkey](capi-input-input-hotkey.md) **hotkeys | hotkeys 指向[Input_Hotkey](capi-input-input-hotkey.md)实例数组的双指针。 |
3172| int32_t count | 销毁[Input_Hotkey](capi-input-input-hotkey.md)实例的数量。 |
3173
3174### OH_Input_GetAllSystemHotkeys()
3175
3176```
3177Input_Result OH_Input_GetAllSystemHotkeys(Input_Hotkey **hotkey, int32_t *count)
3178```
3179
3180**描述**
3181
3182获取设置的所有快捷键。
3183
3184**系统能力:** SystemCapability.MultimodalInput.Input.Core
3185
3186**起始版本:** 14
3187
3188
3189**参数:**
3190
3191| 参数项 | 描述 |
3192| -- | -- |
3193| [Input_Hotkey](capi-input-input-hotkey.md) **hotkey | hotkey 返回[Input_Hotkey](capi-input-input-hotkey.md) 类型实例数组。首次调用可传入NULL,可获取数组长度。 |
3194| int32_t *count | count 返回支持快捷键的个数。 |
3195
3196**返回:**
3197
3198| 类型 | 说明 |
3199| -- | -- |
3200| [Input_Result](#input_result) | OH_Input_GetAllSystemHotkeys 函数错误码。<br>         若获取成功,返回[INPUT_SUCCESS](#input_result);<br>         若获取失败,返回[INPUT_PARAMETER_ERROR](#input_result)。 |
3201
3202### OH_Input_SetRepeat()
3203
3204```
3205void OH_Input_SetRepeat(Input_Hotkey* hotkey, bool isRepeat)
3206```
3207
3208**描述**
3209
3210设置是否上报重复key事件。
3211
3212**系统能力:** SystemCapability.MultimodalInput.Input.Core
3213
3214**起始版本:** 14
3215
3216
3217**参数:**
3218
3219| 参数项 | 描述 |
3220| -- | -- |
3221| [Input_Hotkey](capi-input-input-hotkey.md)* hotkey | 快捷键对象的实例。 |
3222| bool isRepeat | 是否上报重复key事件。true表示上报,false表示不上报。 |
3223
3224### OH_Input_GetRepeat()
3225
3226```
3227Input_Result OH_Input_GetRepeat(const Input_Hotkey* hotkey, bool *isRepeat)
3228```
3229
3230**描述**
3231
3232获取是否上报重复key事件。
3233
3234**系统能力:** SystemCapability.MultimodalInput.Input.Core
3235
3236**起始版本:** 14
3237
3238
3239**参数:**
3240
3241| 参数项 | 描述 |
3242| -- | -- |
3243| const [Input_Hotkey](capi-input-input-hotkey.md)* hotkey | 快捷键对象的实例。 |
3244| bool *isRepeat | isRepeat 返回Key事件是否重复。 |
3245
3246**返回:**
3247
3248| 类型 | 说明 |
3249| -- | -- |
3250| [Input_Result](#input_result) | OH_Input_GetRepeat 函数错误码。<br>         若获取成功,返回[INPUT_SUCCESS](#input_result);<br>         若获取失败,返回[INPUT_PARAMETER_ERROR](#input_result)。 |
3251
3252### OH_Input_AddHotkeyMonitor()
3253
3254```
3255Input_Result OH_Input_AddHotkeyMonitor(const Input_Hotkey* hotkey, Input_HotkeyCallback callback)
3256```
3257
3258**描述**
3259
3260订阅快捷键事件。此接口在智能穿戴、轻量级智能穿戴设备不生效。
3261
3262**系统能力:** SystemCapability.MultimodalInput.Input.Core
3263
3264**起始版本:** 14
3265
3266
3267**参数:**
3268
3269| 参数项 | 描述 |
3270| -- | -- |
3271| const [Input_Hotkey](capi-input-input-hotkey.md)* hotkey | 指定要订阅的快捷键对象。 |
3272| [Input_HotkeyCallback](#input_hotkeycallback) callback | 回调函数,用于回调快捷键事件。 |
3273
3274**返回:**
3275
3276| 类型 | 说明 |
3277| -- | -- |
3278| [Input_Result](#input_result) | OH_Input_AddHotkeyMonitor 函数错误码。<br>         [INPUT_SUCCESS](#input_result) 表示订阅组合按键成功。<br>         [INPUT_PARAMETER_ERROR](#input_result) 参数检查失败。<br>         [INPUT_OCCUPIED_BY_SYSTEM](#input_result) 该快捷键已被系统占用,可以通过接口[OH_Input_GetAllSystemHotkeys](#oh_input_getallsystemhotkeys)查询所有的系统快捷键。<br>         [INPUT_OCCUPIED_BY_OTHER](#input_result) 已被抢占订阅。<br>         [INPUT_DEVICE_NOT_SUPPORTED](#input_result) 表示功能不受支持。 |
3279
3280### OH_Input_RemoveHotkeyMonitor()
3281
3282```
3283Input_Result OH_Input_RemoveHotkeyMonitor(const Input_Hotkey* hotkey, Input_HotkeyCallback callback)
3284```
3285
3286**描述**
3287
3288取消订阅快捷键。
3289
3290**系统能力:** SystemCapability.MultimodalInput.Input.Core
3291
3292**起始版本:** 14
3293
3294
3295**参数:**
3296
3297| 参数项 | 描述 |
3298| -- | -- |
3299| const [Input_Hotkey](capi-input-input-hotkey.md)* hotkey | 指定要取消订阅的快捷键对象。 |
3300| [Input_HotkeyCallback](#input_hotkeycallback) callback | 回调函数,用于回调快捷键事件。 |
3301
3302**返回:**
3303
3304| 类型 | 说明 |
3305| -- | -- |
3306| [Input_Result](#input_result) | OH_Input_RemoveHotkeyMonitor 函数错误码。<br>         [INPUT_SUCCESS](#input_result) 取消订阅组合按键成功, [INPUT_PARAMETER_ERROR](#input_result) 参数检查失败。 |
3307
3308### OH_Input_RegisterDeviceListener()
3309
3310```
3311Input_Result OH_Input_RegisterDeviceListener(Input_DeviceListener* listener)
3312```
3313
3314**描述**
3315
3316注册设备热插拔的监听器。
3317
3318**系统能力:** SystemCapability.MultimodalInput.Input.Core
3319
3320**起始版本:** 13
3321
3322
3323**参数:**
3324
3325| 参数项 | 描述 |
3326| -- | -- |
3327| [Input_DeviceListener](capi-input-input-devicelistener.md)* listener | 指向设备热插拔监听器[Input_DeviceListener](capi-input-input-devicelistener.md)的指针。 |
3328
3329**返回:**
3330
3331| 类型 | 说明 |
3332| -- | -- |
3333| [Input_Result](#input_result) | OH_Input_RegisterDeviceListener 的返回值。<br>         [INPUT_SUCCESS](#input_result) 表示注册成功。<br>         [INPUT_PARAMETER_ERROR](#input_result) 表示listener 为NULL。 |
3334
3335### OH_Input_UnregisterDeviceListener()
3336
3337```
3338Input_Result OH_Input_UnregisterDeviceListener(Input_DeviceListener* listener)
3339```
3340
3341**描述**
3342
3343取消注册设备热插拔的监听。
3344
3345**系统能力:** SystemCapability.MultimodalInput.Input.Core
3346
3347**起始版本:** 13
3348
3349
3350**参数:**
3351
3352| 参数项 | 描述 |
3353| -- | -- |
3354| [Input_DeviceListener](capi-input-input-devicelistener.md)* listener | 指向设备热插拔监听器[Input_DeviceListener](capi-input-input-devicelistener.md)的指针。 |
3355
3356**返回:**
3357
3358| 类型 | 说明 |
3359| -- | -- |
3360| [Input_Result](#input_result) | OH_Input_UnregisterDeviceListener 的返回值。<br>         [INPUT_SUCCESS](#input_result) 表示取消注册成功。<br>         [INPUT_PARAMETER_ERROR](#input_result) 表示listener 为 NULL 或者 listener 未被注册。<br>         [INPUT_SERVICE_EXCEPTION](#input_result) 表示由于服务异常调用失败。 |
3361
3362### OH_Input_UnregisterDeviceListeners()
3363
3364```
3365Input_Result OH_Input_UnregisterDeviceListeners()
3366```
3367
3368**描述**
3369
3370取消注册所有的设备热插拔的监听。
3371
3372**系统能力:** SystemCapability.MultimodalInput.Input.Core
3373
3374**起始版本:** 13
3375
3376**返回:**
3377
3378| 类型 | 说明 |
3379| -- | -- |
3380| [Input_Result](#input_result) | OH_Input_UnregisterDeviceListener 的返回值。<br>         [INPUT_SUCCESS](#input_result) 表示调用成功。<br>         [INPUT_SERVICE_EXCEPTION](#input_result) 表示由于服务异常调用失败。 |
3381
3382### OH_Input_GetDeviceIds()
3383
3384```
3385Input_Result OH_Input_GetDeviceIds(int32_t *deviceIds, int32_t inSize, int32_t *outSize)
3386```
3387
3388**描述**
3389
3390获取所有输入设备的ID列表。
3391
3392**系统能力:** SystemCapability.MultimodalInput.Input.Core
3393
3394**起始版本:** 13
3395
3396
3397**参数:**
3398
3399| 参数项 | 描述 |
3400| -- | -- |
3401| int32_t *deviceIds | deviceIds 保存输入设备ID的列表。 |
3402| int32_t inSize | 保存输入设备ID列表的大小。 |
3403| int32_t *outSize | outSize 输出输入设备ID列表的长度,值小于等于inSize长度。 |
3404
3405**返回:**
3406
3407| 类型 | 说明 |
3408| -- | -- |
3409| [Input_Result](#input_result) | [INPUT_SUCCESS](#input_result) 表示操作成功。<br>         [INPUT_PARAMETER_ERROR](#input_result) 表示deviceIds或outSize为空指针或inSize小于0。 |
3410
3411### OH_Input_GetDevice()
3412
3413```
3414Input_Result OH_Input_GetDevice(int32_t deviceId, Input_DeviceInfo **deviceInfo)
3415```
3416
3417**描述**
3418
3419获取输入设备信息。
3420
3421**系统能力:** SystemCapability.MultimodalInput.Input.Core
3422
3423**起始版本:** 13
3424
3425
3426**参数:**
3427
3428| 参数项 | 描述 |
3429| -- | -- |
3430| int32_t deviceId | 设备ID。 |
3431| [Input_DeviceInfo](capi-input-input-deviceinfo.md) **deviceInfo | deviceInfo 指向输入设备信息[Input_DeviceInfo](capi-input-input-deviceinfo.md)的指针。 |
3432
3433**返回:**
3434
3435| 类型 | 说明 |
3436| -- | -- |
3437| [Input_Result](#input_result) | [INPUT_SUCCESS](#input_result) 表示操作成功。<br>         [INPUT_PARAMETER_ERROR](#input_result) 表示deviceInfo为空指针或deviceId无效。<br> 可以通过 [OH_Input_GetDeviceIds](#oh_input_getdeviceids) 表示接口查询系统支持的设备ID。 |
3438
3439### OH_Input_CreateDeviceInfo()
3440
3441```
3442Input_DeviceInfo* OH_Input_CreateDeviceInfo(void)
3443```
3444
3445**描述**
3446
3447创建输入设备信息的对象。
3448
3449**系统能力:** SystemCapability.MultimodalInput.Input.Core
3450
3451**起始版本:** 13
3452
3453**返回:**
3454
3455| 类型 | 说明 |
3456| -- | -- |
3457| Input_DeviceInfo* | 如果操作成功,返回设备信息[Input_DeviceInfo](capi-input-input-deviceinfo.md)实例的指针。否则返回空指针,可能的原因是分配内存失败。 |
3458
3459### OH_Input_DestroyDeviceInfo()
3460
3461```
3462void OH_Input_DestroyDeviceInfo(Input_DeviceInfo **deviceInfo)
3463```
3464
3465**描述**
3466
3467销毁输入设备信息的对象。
3468
3469**系统能力:** SystemCapability.MultimodalInput.Input.Core
3470
3471**起始版本:** 13
3472
3473
3474**参数:**
3475
3476| 参数项 | 描述 |
3477| -- | -- |
3478| [Input_DeviceInfo](capi-input-input-deviceinfo.md) **deviceInfo | deviceInfo 设备信息的对象。 |
3479
3480### OH_Input_GetKeyboardType()
3481
3482```
3483Input_Result OH_Input_GetKeyboardType(int32_t deviceId, int32_t *keyboardType)
3484```
3485
3486**描述**
3487
3488获取输入设备的键盘类型。
3489
3490**系统能力:** SystemCapability.MultimodalInput.Input.Core
3491
3492**起始版本:** 13
3493
3494
3495**参数:**
3496
3497| 参数项 | 描述 |
3498| -- | -- |
3499| int32_t deviceId | 设备ID。 |
3500| int32_t *keyboardType | keyboardType 指向输入设备的键盘指针。 |
3501
3502**返回:**
3503
3504| 类型 | 说明 |
3505| -- | -- |
3506| [Input_Result](#input_result) | [INPUT_SUCCESS](#input_result) 表示操作成功。<br>         [INPUT_PARAMETER_ERROR](#input_result) 表示设备ID为无效值或者keyboardType是空指针。 |
3507
3508### OH_Input_GetDeviceId()
3509
3510```
3511Input_Result OH_Input_GetDeviceId(Input_DeviceInfo *deviceInfo, int32_t *id)
3512```
3513
3514**描述**
3515
3516获取输入设备的id。
3517
3518**系统能力:** SystemCapability.MultimodalInput.Input.Core
3519
3520**起始版本:** 13
3521
3522
3523**参数:**
3524
3525| 参数项 | 描述 |
3526| -- | -- |
3527| [Input_DeviceInfo](capi-input-input-deviceinfo.md) *deviceInfo | deviceInfo 输入设备信息[Input_DeviceInfo](capi-input-input-deviceinfo.md)。 |
3528| int32_t *id | id 指向输入设备ID的指针。 |
3529
3530**返回:**
3531
3532| 类型 | 说明 |
3533| -- | -- |
3534| [Input_Result](#input_result) | [INPUT_SUCCESS](#input_result) 表示操作成功。<br>         [INPUT_PARAMETER_ERROR](#input_result) 表示deviceInfo或者id是空指针。 |
3535
3536### OH_Input_GetDeviceName()
3537
3538```
3539Input_Result OH_Input_GetDeviceName(Input_DeviceInfo *deviceInfo, char **name)
3540```
3541
3542**描述**
3543
3544获取输入设备的名称。
3545
3546**系统能力:** SystemCapability.MultimodalInput.Input.Core
3547
3548**起始版本:** 13
3549
3550
3551**参数:**
3552
3553| 参数项 | 描述 |
3554| -- | -- |
3555| [Input_DeviceInfo](capi-input-input-deviceinfo.md) *deviceInfo | deviceInfo 输入设备信息[Input_DeviceInfo](capi-input-input-deviceinfo.md)。 |
3556| char **name | name 指向输入设备名称的指针。 |
3557
3558**返回:**
3559
3560| 类型 | 说明 |
3561| -- | -- |
3562| [Input_Result](#input_result) | [INPUT_SUCCESS](#input_result) 表示操作成功。<br>         [INPUT_PARAMETER_ERROR](#input_result) 表示deviceInfo或者name是空指针。 |
3563
3564### OH_Input_GetCapabilities()
3565
3566```
3567Input_Result OH_Input_GetCapabilities(Input_DeviceInfo *deviceInfo, int32_t *capabilities)
3568```
3569
3570**描述**
3571
3572获取有关输入设备能力信息,比如设备是触摸屏、触控板、键盘等。
3573
3574**系统能力:** SystemCapability.MultimodalInput.Input.Core
3575
3576**起始版本:** 13
3577
3578
3579**参数:**
3580
3581| 参数项 | 描述 |
3582| -- | -- |
3583| [Input_DeviceInfo](capi-input-input-deviceinfo.md) *deviceInfo | deviceInfo 输入设备信息[Input_DeviceInfo](capi-input-input-deviceinfo.md)。 |
3584| int32_t *capabilities | capabilities 指向输入设备能力信息的指针。 |
3585
3586**返回:**
3587
3588| 类型 | 说明 |
3589| -- | -- |
3590| [Input_Result](#input_result) | [INPUT_SUCCESS](#input_result) 表示操作成功。<br>         [INPUT_PARAMETER_ERROR](#input_result) 表示deviceInfo或者capabilities是空指针。 |
3591
3592### OH_Input_GetDeviceVersion()
3593
3594```
3595Input_Result OH_Input_GetDeviceVersion(Input_DeviceInfo *deviceInfo, int32_t *version)
3596```
3597
3598**描述**
3599
3600获取输入设备的版本信息。
3601
3602**系统能力:** SystemCapability.MultimodalInput.Input.Core
3603
3604**起始版本:** 13
3605
3606
3607**参数:**
3608
3609| 参数项 | 描述 |
3610| -- | -- |
3611| [Input_DeviceInfo](capi-input-input-deviceinfo.md) *deviceInfo | deviceInfo 输入设备信息[Input_DeviceInfo](capi-input-input-deviceinfo.md)。 |
3612| int32_t *version | version 指向输入设备版本信息的指针。 |
3613
3614**返回:**
3615
3616| 类型 | 说明 |
3617| -- | -- |
3618| [Input_Result](#input_result) | [INPUT_SUCCESS](#input_result) 表示操作成功。<br>         [INPUT_PARAMETER_ERROR](#input_result) 表示deviceInfo或者version是空指针。 |
3619
3620### OH_Input_GetDeviceProduct()
3621
3622```
3623Input_Result OH_Input_GetDeviceProduct(Input_DeviceInfo *deviceInfo, int32_t *product)
3624```
3625
3626**描述**
3627
3628获取输入设备的产品信息。
3629
3630**系统能力:** SystemCapability.MultimodalInput.Input.Core
3631
3632**起始版本:** 13
3633
3634
3635**参数:**
3636
3637| 参数项 | 描述 |
3638| -- | -- |
3639| [Input_DeviceInfo](capi-input-input-deviceinfo.md) *deviceInfo | deviceInfo 输入设备信息[Input_DeviceInfo](capi-input-input-deviceinfo.md)。 |
3640| int32_t *product | product 指向输入设备产品信息的指针。 |
3641
3642**返回:**
3643
3644| 类型 | 说明 |
3645| -- | -- |
3646| [Input_Result](#input_result) | [INPUT_SUCCESS](#input_result) 表示操作成功。<br>         [INPUT_PARAMETER_ERROR](#input_result) 表示deviceInfo或者product是空指针。 |
3647
3648### OH_Input_GetDeviceVendor()
3649
3650```
3651Input_Result OH_Input_GetDeviceVendor(Input_DeviceInfo *deviceInfo, int32_t *vendor)
3652```
3653
3654**描述**
3655
3656获取输入设备的厂商信息。
3657
3658**系统能力:** SystemCapability.MultimodalInput.Input.Core
3659
3660**起始版本:** 13
3661
3662
3663**参数:**
3664
3665| 参数项 | 描述 |
3666| -- | -- |
3667| [Input_DeviceInfo](capi-input-input-deviceinfo.md) *deviceInfo | deviceInfo 输入设备信息[Input_DeviceInfo](capi-input-input-deviceinfo.md)。 |
3668| int32_t *vendor | vendor 指向输入设备厂商信息的指针。 |
3669
3670**返回:**
3671
3672| 类型 | 说明 |
3673| -- | -- |
3674| [Input_Result](#input_result) | [INPUT_SUCCESS](#input_result) 表示操作成功。<br>         [INPUT_PARAMETER_ERROR](#input_result) 表示deviceInfo或者vendor是空指针。 |
3675
3676### OH_Input_GetDeviceAddress()
3677
3678```
3679Input_Result OH_Input_GetDeviceAddress(Input_DeviceInfo *deviceInfo, char **address)
3680```
3681
3682**描述**
3683
3684获取输入设备的物理地址。
3685
3686**系统能力:** SystemCapability.MultimodalInput.Input.Core
3687
3688**起始版本:** 13
3689
3690
3691**参数:**
3692
3693| 参数项 | 描述 |
3694| -- | -- |
3695| [Input_DeviceInfo](capi-input-input-deviceinfo.md) *deviceInfo | deviceInfo 输入设备信息[Input_DeviceInfo](capi-input-input-deviceinfo.md)。 |
3696| char **address | address 指向输入设备物理地址的指针。 |
3697
3698**返回:**
3699
3700| 类型 | 说明 |
3701| -- | -- |
3702| [Input_Result](#input_result) | [INPUT_SUCCESS](#input_result) 表示操作成功。<br>         [INPUT_PARAMETER_ERROR](#input_result) 表示deviceInfo或者address是空指针。 |
3703
3704### OH_Input_GetFunctionKeyState()
3705
3706```
3707Input_Result OH_Input_GetFunctionKeyState(int32_t keyCode, int32_t *state)
3708```
3709
3710**描述**
3711
3712获取功能键状态。
3713
3714**起始版本:** 15
3715
3716
3717**参数:**
3718
3719| 参数项 | 描述 |
3720| -- | -- |
3721| int32_t keyCode | 功能键值。支持的功能键包含CapsLock键。 |
3722| int32_t *state | state 功能键状态。0表示功能键关闭,1表示功能键打开。 |
3723
3724**返回:**
3725
3726| 类型 | 说明 |
3727| -- | -- |
3728| [Input_Result](#input_result) | OH_Input_GetFunctionKeyState的执行结果。<br>         [INPUT_SUCCESS](#input_result) 表示获取状态成功。<br>         [INPUT_PARAMETER_ERROR](#input_result) 表示参数错误。<br>         {@link INPUT_DEVICE_NOT_EXIST } 表示键盘设备不存在。 |
3729
3730### OH_Input_InjectTouchEvent()
3731
3732```
3733int32_t OH_Input_InjectTouchEvent(const struct Input_TouchEvent* touchEvent)
3734```
3735
3736**描述**
3737
3738使用以指定屏幕左上角为原点的相对坐标系的坐标注入触屏事件。
3739
3740如果当前处于用户未授权状态,调用该接口注入事件不生效。
3741
3742从API version 20开始,建议先使用[OH_Input_RequestInjection](#oh_input_requestinjection)请求授权。然后通过[OH_Input_QueryAuthorizedStatus](#oh_input_queryauthorizedstatus)查询授权状态,当授权状态为[AUTHORIZED](capi-oh-input-manager-h.md#input_injectionstatus)时,再使用该接口。
3743
3744**起始版本:** 12
3745
3746
3747**参数:**
3748
3749| 参数项 | 描述 |
3750| -- | -- |
3751| const struct [Input_TouchEvent](capi-input-input-touchevent.md)* touchEvent | 触屏事件对象,通过[OH_Input_CreateTouchEvent](#oh_input_createtouchevent)接口可以创建触屏事件对象。<br>使用完需使用[OH_Input_DestroyTouchEvent](#oh_input_destroytouchevent)接口销毁触屏事件对象。 |
3752
3753**返回:**
3754
3755| 类型 | 说明 |
3756| -- | -- |
3757| int32_t | OH_Input_InjectTouchEvent的执行结果。<br>         [INPUT_SUCCESS](#input_result) 表示注入成功。<br>         [INPUT_PARAMETER_ERROR](#input_result) 表示参数错误。<br>         [INPUT_PERMISSION_DENIED](#input_result) 表示缺少权限。 |
3758
3759### OH_Input_InjectMouseEvent()
3760
3761```
3762int32_t OH_Input_InjectMouseEvent(const struct Input_MouseEvent* mouseEvent)
3763```
3764
3765**描述**
3766
3767使用以指定屏幕左上角为原点的相对坐标系的坐标注入鼠标事件。
3768
3769如果当前处于用户未授权状态,调用该接口注入事件不生效。
3770
3771从API version 20开始,建议先使用[OH_Input_RequestInjection](#oh_input_requestinjection)请求授权。然后通过[OH_Input_QueryAuthorizedStatus](#oh_input_queryauthorizedstatus)查询授权状态,当授权状态为[AUTHORIZED](capi-oh-input-manager-h.md#input_injectionstatus)时,再使用该接口。
3772
3773**系统能力:** SystemCapability.MultimodalInput.Input.Core
3774
3775**起始版本:** 12
3776
3777
3778**参数:**
3779
3780| 参数项 | 描述 |
3781| -- | -- |
3782| const struct [Input_MouseEvent](capi-input-input-mouseevent.md)* mouseEvent |  鼠标事件对象,通过[OH_Input_CreateMouseEvent](#oh_input_createmouseevent)接口可以创建鼠标事件对象。<br>使用完需使用[OH_Input_DestroyMouseEvent](#oh_input_destroymouseevent)接口销毁鼠标事件对象。 |
3783
3784**返回:**
3785
3786| 类型 | 说明 |
3787| -- | -- |
3788| int32_t | OH_Input_InjectTouchEvent的执行结果。<br>         [INPUT_SUCCESS](#input_result) 表示注入成功。<br>         [INPUT_PARAMETER_ERROR](#input_result) 表示参数错误。<br>         [INPUT_PERMISSION_DENIED](#input_result) 表示缺少权限。 |
3789
3790### OH_Input_GetMouseEventDisplayId()
3791
3792```
3793int32_t OH_Input_GetMouseEventDisplayId(const struct Input_MouseEvent* mouseEvent)
3794```
3795
3796**描述**
3797
3798获取鼠标事件的屏幕Id。
3799
3800**系统能力:** SystemCapability.MultimodalInput.Input.Core
3801
3802**起始版本:** 15
3803
3804
3805**参数:**
3806
3807| 参数项 | 描述 |
3808| -- | -- |
3809| const struct [Input_MouseEvent](capi-input-input-mouseevent.md)* mouseEvent | 鼠标事件对象,通过[OH_Input_CreateMouseEvent](#oh_input_createmouseevent)接口可以创建鼠标事件对象。<br>使用完需使用[OH_Input_DestroyMouseEvent](#oh_input_destroymouseevent)接口销毁鼠标事件对象。 |
3810
3811**返回:**
3812
3813| 类型 | 说明 |
3814| -- | -- |
3815| int32_t | 若获取鼠标事件的屏幕Id成功,则返回鼠标事件的屏幕Id;若mouseEvent为NULL,则返回-1。 |
3816
3817### OH_Input_QueryMaxTouchPoints()
3818
3819```
3820Input_Result OH_Input_QueryMaxTouchPoints(int32_t *count)
3821```
3822
3823**描述**
3824
3825查询设备支持的最大触屏报点数。
3826
3827**起始版本:** 20
3828
3829**参数:**
3830
3831| 参数项 | 描述 |
3832| -- | -- |
3833| int32_t *count | 设备支持的最大触屏报点数,count取值范围为0-10,-1表示未知数量。 |
3834
3835**返回:**
3836
3837| 类型 | 说明 |
3838| -- | -- |
3839| [Input_Result](capi-oh-input-manager-h.md#input_result) | OH_Input_QueryMaxTouchPoints的执行结果:<br>[INPUT_SUCCESS](#input_result) 表示查询成功。<br> [INPUT_PARAMETER_ERROR](capi-oh-input-manager-h.md#input_result) 表示参数错误。 |
3840
3841### OH_Input_InjectMouseEventGlobal()
3842```
3843int32_t OH_Input_InjectMouseEventGlobal(const struct Input_MouseEvent* mouseEvent)
3844```
3845
3846**描述**
3847
3848使用以主屏左上角为原点的全局坐标系的坐标注入鼠标事件。
3849
3850如果当前处于用户未授权状态,调用该接口注入事件不生效。
3851
3852建议先使用[OH_Input_RequestInjection](#oh_input_requestinjection)请求授权。然后通过[OH_Input_QueryAuthorizedStatus](#oh_input_queryauthorizedstatus)查询授权状态,当授权状态为[AUTHORIZED](capi-oh-input-manager-h.md#input_injectionstatus)时,再使用该接口。
3853
3854**起始版本:** 20
3855
3856**参数:**
3857
3858| 参数项 | 描述 |
3859| -- | -- |
3860| const struct [Input_MouseEvent](capi-input-input-mouseevent.md)* mouseEvent | 鼠标事件对象,通过[OH_Input_CreateMouseEvent](#oh_input_createmouseevent)接口可以创建鼠标事件对象。<br>使用完需使用[OH_Input_DestroyMouseEvent](#oh_input_destroymouseevent)接口销毁鼠标事件对象。 |
3861
3862**返回:**
3863
3864| 类型 | 说明 |
3865| -- | -- |
3866| int32_t | OH_Input_InjectMouseEventGlobal的执行结果。<br>         [INPUT_SUCCESS](#input_result) 表示注入成功。<br>         [INPUT_PARAMETER_ERROR](#input_result) 表示参数错误。<br>         [INPUT_PERMISSION_DENIED](#input_result) 表示缺少权限。 |
3867
3868### OH_Input_SetMouseEventGlobalX()
3869```
3870void OH_Input_SetMouseEventGlobalX(struct Input_MouseEvent* mouseEvent, int32_t globalX)
3871```
3872
3873**描述**
3874
3875设置鼠标事件以主屏左上角为原点的全局坐标系的X坐标。
3876
3877**起始版本:** 20
3878
3879**参数:**
3880
3881| 参数项 | 描述 |
3882| -- | -- |
3883| const struct [Input_MouseEvent](capi-input-input-mouseevent.md)* mouseEvent | 鼠标事件对象,通过[OH_Input_CreateMouseEvent](#oh_input_createmouseevent)接口可以创建鼠标事件对象。<br>使用完需使用[OH_Input_DestroyMouseEvent](#oh_input_destroymouseevent)接口销毁鼠标事件对象。 |
3884| int32_t globalX | 鼠标事件以主屏左上角为原点的全局坐标系的X坐标。 |
3885
3886### OH_Input_GetMouseEventGlobalX()
3887
3888```
3889int32_t OH_Input_GetMouseEventGlobalX(const struct Input_MouseEvent* mouseEvent)
3890```
3891
3892**描述**
3893
3894获取鼠标事件以主屏左上角为原点的全局坐标系的X坐标。
3895
3896**起始版本:** 20
3897
3898**参数:**
3899
3900| 参数项 | 描述 |
3901| -- | -- |
3902| const struct [Input_MouseEvent](capi-input-input-mouseevent.md)* mouseEvent | 鼠标事件对象,通过[OH_Input_CreateMouseEvent](#oh_input_createmouseevent)接口可以创建鼠标事件对象。<br>使用完需使用[OH_Input_DestroyMouseEvent](#oh_input_destroymouseevent)接口销毁鼠标事件对象。 |
3903
3904**返回:**
3905
3906| 类型 | 说明 |
3907| -- | -- |
3908| int32_t | 鼠标事件以主屏左上角为原点的全局坐标系的X坐标。 |
3909
3910### OH_Input_SetMouseEventGlobalY()
3911
3912```
3913void OH_Input_SetMouseEventGlobalY(struct Input_MouseEvent* mouseEvent, int32_t globalY)
3914```
3915
3916**描述**
3917
3918设置鼠标事件以主屏左上角为原点的全局坐标系的Y坐标。
3919
3920**起始版本:** 20
3921
3922**参数:**
3923
3924| 参数项 | 描述 |
3925| -- | -- |
3926| const struct [Input_MouseEvent](capi-input-input-mouseevent.md)* mouseEvent | 鼠标事件对象,通过[OH_Input_CreateMouseEvent](#oh_input_createmouseevent)接口可以创建鼠标事件对象。<br>使用完需使用[OH_Input_DestroyMouseEvent](#oh_input_destroymouseevent)接口销毁鼠标事件对象。 |
3927| int32_t globalY | 鼠标事件以主屏左上角为原点的全局坐标系的Y坐标。 |
3928
3929### OH_Input_GetMouseEventGlobalY()
3930
3931```
3932int32_t OH_Input_GetMouseEventGlobalY(const struct Input_MouseEvent* mouseEvent)
3933```
3934
3935**描述**
3936
3937获取鼠标事件以主屏左上角为原点的全局坐标系的Y坐标。
3938
3939**起始版本:** 20
3940
3941**参数:**
3942
3943| 参数项 | 描述 |
3944| -- | -- |
3945| const struct [Input_MouseEvent](capi-input-input-mouseevent.md)* mouseEvent | 鼠标事件对象,通过[OH_Input_CreateMouseEvent](#oh_input_createmouseevent)接口可以创建鼠标事件对象。<br>使用完需使用[OH_Input_DestroyMouseEvent](#oh_input_destroymouseevent)接口销毁鼠标事件对象。 |
3946
3947**返回:**
3948
3949| 类型 | 说明 |
3950| -- | -- |
3951| int32_t | 鼠标事件以主屏左上角为原点的全局坐标系的Y坐标。 |
3952
3953### OH_Input_InjectTouchEventGlobal()
3954
3955```
3956int32_t OH_Input_InjectTouchEventGlobal(const struct Input_TouchEvent* touchEvent)
3957```
3958
3959**描述**
3960
3961使用以主屏左上角为原点的全局坐标系的坐标注入触屏事件。
3962
3963如果当前处于用户未授权状态,调用该接口注入事件不生效。
3964
3965建议先使用[OH_Input_RequestInjection](#oh_input_requestinjection)请求授权。然后通过[OH_Input_QueryAuthorizedStatus](#oh_input_queryauthorizedstatus)查询授权状态,当授权状态为[AUTHORIZED](capi-oh-input-manager-h.md#input_injectionstatus)时,再使用该接口。
3966
3967**起始版本:** 20
3968
3969**参数:**
3970
3971| 参数项 | 描述 |
3972| -- | -- |
3973| const struct [Input_TouchEvent](capi-input-input-touchevent.md)* touchEvent | 触屏事件对象,通过[OH_Input_CreateTouchEvent](#oh_input_createtouchevent)接口可以创建触屏事件对象。<br>使用完需使用[OH_Input_DestroyTouchEvent](#oh_input_destroytouchevent)接口销毁触屏事件对象。 |
3974
3975**返回:**
3976
3977| 类型 | 说明 |
3978| -- | -- |
3979| int32_t | OH_Input_InjectTouchEventGlobal的执行结果。<br>         [INPUT_SUCCESS](#input_result) 表示注入成功。<br>         [INPUT_PARAMETER_ERROR](#input_result) 表示参数错误。<br>         [INPUT_PERMISSION_DENIED](#input_result) 表示缺少权限。 |
3980
3981### OH_Input_SetTouchEventGlobalX()
3982
3983```
3984void OH_Input_SetTouchEventGlobalX(struct Input_TouchEvent* touchEvent, int32_t globalX)
3985```
3986
3987**描述**
3988
3989设置触屏事件以主屏左上角为原点的全局坐标系的X坐标。
3990
3991**起始版本:** 20
3992
3993**参数:**
3994
3995| 参数项 | 描述 |
3996| -- | -- |
3997| const struct [Input_TouchEvent](capi-input-input-touchevent.md)* touchEvent | 触屏事件对象,通过[OH_Input_CreateTouchEvent](#oh_input_createtouchevent)接口可以创建触屏事件对象。<br>使用完需使用[OH_Input_DestroyTouchEvent](#oh_input_destroytouchevent)接口销毁触屏事件对象。 |
3998| int32_t globalX | 触屏事件以主屏左上角为原点的全局坐标系的X坐标。 |
3999
4000### OH_Input_GetTouchEventGlobalX()
4001
4002```
4003int32_t OH_Input_GetTouchEventGlobalX(const struct Input_TouchEvent* touchEvent)
4004```
4005
4006**描述**
4007
4008获取触屏事件以主屏左上角为原点的全局坐标系的X坐标。
4009
4010**起始版本:** 20
4011
4012**参数:**
4013
4014| 参数项 | 描述 |
4015| -- | -- |
4016| const struct [Input_TouchEvent](capi-input-input-touchevent.md)* touchEvent | 触屏事件对象,通过[OH_Input_CreateTouchEvent](#oh_input_createtouchevent)接口可以创建触屏事件对象。<br>使用完需使用[OH_Input_DestroyTouchEvent](#oh_input_destroytouchevent)接口销毁触屏事件对象。 |
4017
4018**返回:**
4019
4020| 类型 | 说明 |
4021| -- | -- |
4022| int32_t | 触屏事件以主屏左上角为原点的全局坐标系的X坐标。 |
4023
4024### OH_Input_SetTouchEventGlobalY()
4025
4026```
4027void OH_Input_SetTouchEventGlobalY(struct Input_TouchEvent* touchEvent, int32_t globalY)
4028```
4029
4030**描述**
4031
4032设置触屏事件以主屏左上角为原点的全局坐标系的Y坐标。
4033
4034**起始版本:** 20
4035
4036**参数:**
4037
4038| 参数项 | 描述 |
4039| -- | -- |
4040| const struct [Input_TouchEvent](capi-input-input-touchevent.md)* touchEvent | 触屏事件对象,通过[OH_Input_CreateTouchEvent](#oh_input_createtouchevent)接口可以创建触屏事件对象。<br>使用完需使用[OH_Input_DestroyTouchEvent](#oh_input_destroytouchevent)接口销毁触屏事件对象。 |
4041| int32_t globalY | 触屏事件以主屏左上角为原点的全局坐标系的Y坐标。 |
4042
4043### OH_Input_GetTouchEventGlobalY()
4044
4045```
4046int32_t OH_Input_GetTouchEventGlobalY(const struct Input_TouchEvent* touchEvent)
4047```
4048
4049**描述**
4050
4051获取触屏事件以主屏左上角为原点的全局坐标系的Y坐标。
4052
4053**起始版本:** 20
4054
4055**参数:**
4056
4057| 参数项 | 描述 |
4058| -- | -- |
4059| const struct [Input_TouchEvent](capi-input-input-touchevent.md)* touchEvent | 触屏事件对象,通过[OH_Input_CreateTouchEvent](#oh_input_createtouchevent)接口可以创建触屏事件对象。<br>使用完需使用[OH_Input_DestroyTouchEvent](#oh_input_destroytouchevent)接口销毁触屏事件对象。 |
4060
4061**返回:**
4062
4063| 类型 | 说明 |
4064| -- | -- |
4065| int32_t | 触屏事件以主屏左上角为原点的全局坐标系的Y坐标。 |
4066
4067### OH_Input_SetAxisEventGlobalX()
4068
4069```
4070Input_Result OH_Input_SetAxisEventGlobalX(struct Input_AxisEvent* axisEvent, int32_t globalX)
4071```
4072
4073**描述**
4074
4075设置轴事件以主屏左上角为原点的全局坐标系的X坐标。
4076
4077**起始版本:** 20
4078
4079**参数:**
4080
4081| 参数项 | 描述 |
4082| -- | -- |
4083| const [Input_AxisEvent](capi-input-input-axisevent.md)* axisEvent | 轴事件对象,通过[OH_Input_CreateAxisEvent](#oh_input_createaxisevent)接口可以创建轴事件对象。<br>使用完需使用[OH_Input_DestroyAxisEvent](#oh_input_destroyaxisevent)接口销毁轴事件对象。 |
4084| int32_t globalX | 轴事件以主屏左上角为原点的全局坐标系的X坐标。 |
4085
4086**返回:**
4087
4088| 类型 | 说明 |
4089| -- | -- |
4090| [Input_Result](#input_result) | [INPUT_SUCCESS](#input_result) 表示操作成功。<br>         [INPUT_PARAMETER_ERROR](#input_result) 表示axisEvent是空指针。 |
4091
4092### OH_Input_GetAxisEventGlobalX()
4093
4094```
4095Input_Result OH_Input_GetAxisEventGlobalX(const Input_AxisEvent* axisEvent, int32_t* globalX)
4096```
4097
4098**描述**
4099
4100获取轴事件以主屏左上角为原点的全局坐标系的X坐标。
4101
4102**起始版本:** 20
4103
4104**参数:**
4105
4106| 参数项 | 描述 |
4107| -- | -- |
4108| const [Input_AxisEvent](capi-input-input-axisevent.md)* axisEvent | 轴事件对象,通过[OH_Input_CreateAxisEvent](#oh_input_createaxisevent)接口可以创建轴事件对象。<br>使用完需使用[OH_Input_DestroyAxisEvent](#oh_input_destroyaxisevent)接口销毁轴事件对象。 |
4109| int32_t* globalX | 轴事件以主屏左上角为原点的全局坐标系的X坐标。 |
4110
4111**返回:**
4112
4113| 类型 | 说明 |
4114| -- | -- |
4115| [Input_Result](#input_result) | [INPUT_SUCCESS](#input_result) 表示操作成功。<br>         [INPUT_PARAMETER_ERROR](#input_result) 表示axisEvent或者globalX是空指针。 |
4116
4117### OH_Input_SetAxisEventGlobalY()
4118
4119```
4120Input_Result OH_Input_SetAxisEventGlobalY(struct Input_AxisEvent* axisEvent, int32_t globalY)
4121```
4122
4123**描述**
4124
4125设置轴事件以主屏左上角为原点的全局坐标系的Y坐标。
4126
4127**起始版本:** 20
4128
4129**参数:**
4130
4131| 参数项 | 描述 |
4132| -- | -- |
4133| const [Input_AxisEvent](capi-input-input-axisevent.md)* axisEvent | 轴事件对象,通过[OH_Input_CreateAxisEvent](#oh_input_createaxisevent)接口可以创建轴事件对象。<br>使用完需使用[OH_Input_DestroyAxisEvent](#oh_input_destroyaxisevent)接口销毁轴事件对象。 |
4134| int32_t globalY | 轴事件以主屏左上角为原点的全局坐标系的Y坐标。 |
4135
4136**返回:**
4137
4138| 类型 | 说明 |
4139| -- | -- |
4140| [Input_Result](#input_result) | [INPUT_SUCCESS](#input_result) 表示操作成功。<br>         [INPUT_PARAMETER_ERROR](#input_result) 表示axisEvent是空指针。 |
4141
4142### OH_Input_GetAxisEventGlobalY()
4143
4144```
4145Input_Result OH_Input_GetAxisEventGlobalY(const Input_AxisEvent* axisEvent, int32_t* globalY)
4146```
4147
4148**描述**
4149
4150获取轴事件以主屏左上角为原点的全局坐标系的Y坐标。
4151
4152**起始版本:** 20
4153
4154**参数:**
4155
4156| 参数项 | 描述 |
4157| -- | -- |
4158| const [Input_AxisEvent](capi-input-input-axisevent.md)* axisEvent | 轴事件对象,通过[OH_Input_CreateAxisEvent](#oh_input_createaxisevent)接口可以创建轴事件对象。<br>使用完需使用[OH_Input_DestroyAxisEvent](#oh_input_destroyaxisevent)接口销毁轴事件对象。 |
4159| int32_t* globalY | 轴事件以主屏左上角为原点的全局坐标系的Y坐标。 |
4160
4161**返回:**
4162
4163| 类型 | 说明 |
4164| -- | -- |
4165| [Input_Result](#input_result) | [INPUT_SUCCESS](#input_result) 表示操作成功。<br>         [INPUT_PARAMETER_ERROR](#input_result) 表示axisEvent或者globalY是空指针。 |
4166
4167### OH_Input_GetPointerLocation()
4168
4169```
4170Input_Result OH_Input_GetPointerLocation(int32_t *displayId, double *displayX, double *displayY)
4171```
4172
4173**描述**
4174
4175获取当前屏幕上鼠标的坐标点。
4176
4177**起始版本:** 20
4178
4179**参数:**
4180
4181| 参数项 | 描述 |
4182| -- | -- |
4183| int32_t *displayId | 当前屏幕的屏幕Id。 |
4184| double *displayX | 鼠标在当前屏幕的X坐标。 |
4185| double *displayY | 鼠标在当前屏幕的Y坐标。 |
4186
4187**返回:**
4188
4189| 类型 | 说明 |
4190| -- | -- |
4191| [Input_Result](#input_result) | OH_Input_GetPointerLocation的执行结果:<br>      [INPUT_SUCCESS](#input_result) 表示查询成功。<br>      [INPUT_PARAMETER_ERROR](#input_result) 表示参数错误。<br>      [INPUT_SERVICE_EXCEPTION](#input_result) 表示服务异常。<br>      [INPUT_APP_NOT_FOCUSED](#input_result) 表示当前应用不是焦点应用。<br>      [INPUT_DEVICE_NO_POINTER](#input_result) 表示无鼠标类输入外设。 |