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