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