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