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