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