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