文档管理中心
您当前浏览的HarmonyOS 5.0.0(API 12)文档归档不再维护,推荐您使用最新版本。详细请参考文档维护策略变更
API参考系统基础功能Input Kit(多模输入服务)C API头文件oh_input_manager.h

oh_input_manager.h

概述

提供事件注入和关键状态查询等功能。

系统能力: SystemCapability.MultimodalInput.Input.Core

库: libohinput.so

起始版本: 12

相关模块:Input

汇总

结构体

展开
名称 描述
struct Input_InterceptorEventCallback 拦截回调事件结构体,拦截鼠标事件、触摸事件和轴事件。

类型定义

展开
名称 描述
typedef enum Input_KeyStateActionInput_KeyStateAction 按键状态的枚举值。
typedef enum Input_KeyEventActionInput_KeyEventAction 按键事件类型的枚举值。
typedef enum Input_MouseEventActionInput_MouseEventAction 鼠标动作的枚举值。
typedef enum InputEvent_MouseAxisInputEvent_MouseAxis 鼠标轴事件类型。
typedef enum Input_MouseEventButtonInput_MouseEventButton 鼠标按键的枚举值。
typedef enum Input_TouchEventActionInput_TouchEventAction 触摸动作的枚举值。
typedef enum InputEvent_SourceTypeInputEvent_SourceType 输入事件源类型。
typedef struct Input_KeyStateInput_KeyState 定义按键信息,用于标识按键行为。例如,“Ctrl”按键信息包含键值和键类型。
typedef struct Input_KeyEventInput_KeyEvent 要注入的按键事件。
typedef struct Input_MouseEventInput_MouseEvent 要注入的鼠标事件。
typedef struct Input_TouchEventInput_TouchEvent 要注入的触摸事件。
typedef struct Input_AxisEventInput_AxisEvent 轴事件。
typedef enum Input_ResultInput_Result 错误码枚举值。
typedef void(* Input_KeyEventCallback) (const Input_KeyEvent *keyEvent) 按键事件的回调函数,keyEvent的生命周期为回调函数内。
typedef void(* Input_MouseEventCallback) (const Input_MouseEvent *mouseEvent) 鼠标事件的回调函数,mouseEvent的生命周期为回调函数内。
typedef void(* Input_TouchEventCallback) (const Input_TouchEvent *touchEvent) 触摸事件的回调函数,touchEvent的生命周期为回调函数内。
typedef void(* Input_AxisEventCallback) (const Input_AxisEvent *axisEvent) 轴事件的回调函数,axisEvent的生命周期为回调函数内。
typedef struct Input_InterceptorEventCallbackInput_InterceptorEventCallback 拦截回调事件结构体,拦截鼠标事件、触摸事件和轴事件。
typedef struct Input_InterceptorOptionsInput_InterceptorOptions 事件拦截选项。

函数

展开
名称 描述
Input_ResultOH_Input_GetKeyState (struct Input_KeyState *keyState) 查询按键状态的枚举对象。
struct Input_KeyState * OH_Input_CreateKeyState () 创建按键状态的枚举对象。
void OH_Input_DestroyKeyState (struct Input_KeyState **keyState) 销毁按键状态的枚举对象。
void OH_Input_SetKeyCode (struct Input_KeyState *keyState, int32_t keyCode) 设置按键状态对象的键值。
int32_t OH_Input_GetKeyCode (const struct Input_KeyState *keyState) 获取按键状态对象的键值。
void OH_Input_SetKeyPressed (struct Input_KeyState *keyState, int32_t keyAction) 设置按键状态对象的按键是否按下。
int32_t OH_Input_GetKeyPressed (const struct Input_KeyState *keyState) 获取按键状态对象的按键是否按下。
void OH_Input_SetKeySwitch (struct Input_KeyState *keyState, int32_t keySwitch) 设置按键状态对象的按键开关。
int32_t OH_Input_GetKeySwitch (const struct Input_KeyState *keyState) 获取按键状态对象的按键开关。
int32_t OH_Input_InjectKeyEvent (const struct Input_KeyEvent *keyEvent) 注入按键事件
struct Input_KeyEvent * OH_Input_CreateKeyEvent () 创建按键事件对象
void OH_Input_DestroyKeyEvent (struct Input_KeyEvent **keyEvent) 销毁按键事件对象
void OH_Input_SetKeyEventAction (struct Input_KeyEvent *keyEvent, int32_t action) 设置按键事件类型
int32_t OH_Input_GetKeyEventAction (const struct Input_KeyEvent *keyEvent) 获取按键事件类型
void OH_Input_SetKeyEventKeyCode (struct Input_KeyEvent *keyEvent, int32_t keyCode) 设置按键事件的键值
int32_t OH_Input_GetKeyEventKeyCode (const struct Input_KeyEvent *keyEvent) 获取按键事件的键值
void OH_Input_SetKeyEventActionTime (struct Input_KeyEvent *keyEvent, int64_t actionTime) 设置按键事件发生的时间
int64_t OH_Input_GetKeyEventActionTime (const struct Input_KeyEvent *keyEvent) 获取按键事件发生的时间
int32_t OH_Input_InjectMouseEvent (const struct Input_MouseEvent *mouseEvent) 注入鼠标事件
struct Input_MouseEvent * OH_Input_CreateMouseEvent () 创建鼠标事件对象
void OH_Input_DestroyMouseEvent (struct Input_MouseEvent **mouseEvent) 销毁鼠标事件对象
void OH_Input_SetMouseEventAction (struct Input_MouseEvent *mouseEvent, int32_t action) 设置鼠标事件的动作
int32_t OH_Input_GetMouseEventAction (const struct Input_MouseEvent *mouseEvent) 获取鼠标事件的动作
void OH_Input_SetMouseEventDisplayX (struct Input_MouseEvent *mouseEvent, int32_t displayX) 设置鼠标事件的屏幕X坐标
int32_t OH_Input_GetMouseEventDisplayX (const struct Input_MouseEvent *mouseEvent) 获取鼠标事件的屏幕X坐标
void OH_Input_SetMouseEventDisplayY (struct Input_MouseEvent *mouseEvent, int32_t displayY) 设置鼠标事件的屏幕Y坐标
int32_t OH_Input_GetMouseEventDisplayY (const struct Input_MouseEvent *mouseEvent) 获取鼠标事件的屏幕Y坐标
void OH_Input_SetMouseEventButton (struct Input_MouseEvent *mouseEvent, int32_t button) 设置鼠标事件的按键
int32_t OH_Input_GetMouseEventButton (const struct Input_MouseEvent *mouseEvent) 获取鼠标事件的按键
void OH_Input_SetMouseEventAxisType (struct Input_MouseEvent *mouseEvent, int32_t axisType) 设置鼠标轴事件的类型
int32_t OH_Input_GetMouseEventAxisType (const struct Input_MouseEvent *mouseEvent) 获取鼠标轴事件的类型
void OH_Input_SetMouseEventAxisValue (struct Input_MouseEvent *mouseEvent, float axisValue) 设置鼠标轴事件的值
float OH_Input_GetMouseEventAxisValue (const struct Input_MouseEvent *mouseEvent) 获取鼠标轴事件的值
void OH_Input_SetMouseEventActionTime (struct Input_MouseEvent *mouseEvent, int64_t actionTime) 设置鼠标事件发生的时间
int64_t OH_Input_GetMouseEventActionTime (const struct Input_MouseEvent *mouseEvent) 获取鼠标事件发生的时间
int32_t OH_Input_InjectTouchEvent (const struct Input_TouchEvent *touchEvent) 注入触摸事件
struct Input_TouchEvent * OH_Input_CreateTouchEvent () 创建触屏事件对象
void OH_Input_DestroyTouchEvent (struct Input_TouchEvent **touchEvent) 销毁触屏事件对象
void OH_Input_SetTouchEventAction (struct Input_TouchEvent *touchEvent, int32_t action) 设置触屏事件的动作
int32_t OH_Input_GetTouchEventAction (const struct Input_TouchEvent *touchEvent) 获取触屏事件的动作
void OH_Input_SetTouchEventFingerId (struct Input_TouchEvent *touchEvent, int32_t id) 设置触屏事件的手指ID
int32_t OH_Input_GetTouchEventFingerId (const struct Input_TouchEvent *touchEvent) 获取触屏事件的手指ID
void OH_Input_SetTouchEventDisplayX (struct Input_TouchEvent *touchEvent, int32_t displayX) 设置触屏事件的屏幕X坐标
int32_t OH_Input_GetTouchEventDisplayX (const struct Input_TouchEvent *touchEvent) 获取触屏事件的屏幕X坐标
void OH_Input_SetTouchEventDisplayY (struct Input_TouchEvent *touchEvent, int32_t displayY) 设置触屏事件的屏幕Y坐标
int32_t OH_Input_GetTouchEventDisplayY (const struct Input_TouchEvent *touchEvent) 获取触屏事件的屏幕Y坐标
void OH_Input_SetTouchEventActionTime (struct Input_TouchEvent *touchEvent, int64_t actionTime) 设置触摸事件发生的时间
int64_t OH_Input_GetTouchEventActionTime (const struct Input_TouchEvent *touchEvent) 获取触摸事件发生的时间
void OH_Input_CancelInjection () 取消事件注入并撤销授权
Input_AxisEvent * OH_Input_CreateAxisEvent (void) 创建轴事件对象实例。
Input_ResultOH_Input_DestroyAxisEvent (Input_AxisEvent **axisEvent) 销毁轴事件对象实例。
Input_ResultOH_Input_SetAxisEventAction (Input_AxisEvent *axisEvent, InputEvent_AxisAction action) 设置轴事件的动作。
Input_ResultOH_Input_GetAxisEventAction (const Input_AxisEvent *axisEvent, InputEvent_AxisAction *action) 获取轴事件的动作。
Input_ResultOH_Input_SetAxisEventDisplayX (Input_AxisEvent *axisEvent, float displayX) 设置轴事件的X坐标。
Input_ResultOH_Input_GetAxisEventDisplayX (const Input_AxisEvent *axisEvent, float *displayX) 获取轴事件的X坐标。
Input_ResultOH_Input_SetAxisEventDisplayY (Input_AxisEvent *axisEvent, float displayY) 设置轴事件的Y坐标。
Input_ResultOH_Input_GetAxisEventDisplayY (const Input_AxisEvent *axisEvent, float *displayY) 获取轴事件的Y坐标。
Input_ResultOH_Input_SetAxisEventAxisValue (Input_AxisEvent *axisEvent, InputEvent_AxisType axisType, double axisValue) 设置轴事件指定轴类型的轴值。
Input_ResultOH_Input_GetAxisEventAxisValue (const Input_AxisEvent *axisEvent, InputEvent_AxisType axisType, double *axisValue) 获取轴事件指定轴类型的轴值。
Input_ResultOH_Input_SetAxisEventActionTime (Input_AxisEvent *axisEvent, int64_t actionTime) 设置轴事件发生的时间。
Input_ResultOH_Input_GetAxisEventActionTime (const Input_AxisEvent *axisEvent, int64_t *actionTime) 获取轴事件发生的时间。
Input_ResultOH_Input_SetAxisEventType (Input_AxisEvent *axisEvent, InputEvent_AxisEventType axisEventType) 设置轴事件类型。
Input_ResultOH_Input_GetAxisEventType (const Input_AxisEvent *axisEvent, InputEvent_AxisEventType *axisEventType) 获取轴事件类型。
Input_ResultOH_Input_SetAxisEventSourceType (Input_AxisEvent *axisEvent, InputEvent_SourceType sourceType) 设置轴事件源类型。
Input_ResultOH_Input_GetAxisEventSourceType (const Input_AxisEvent *axisEvent, InputEvent_SourceType *sourceType) 获取轴事件源类型。
Input_ResultOH_Input_AddKeyEventMonitor (Input_KeyEventCallback callback) 添加按键事件监听。
Input_ResultOH_Input_AddMouseEventMonitor (Input_MouseEventCallback callback) 添加鼠标事件监听,包含鼠标点击,移动,不包含滚轮事件,滚轮事件归属于轴事件。
Input_ResultOH_Input_AddTouchEventMonitor (Input_TouchEventCallback callback) 添加触摸事件监听。
Input_ResultOH_Input_AddAxisEventMonitorForAll (Input_AxisEventCallback callback) 添加所有类型轴事件监听,轴事件类型定义在InputEvent_AxisEventType中。
Input_ResultOH_Input_AddAxisEventMonitor (InputEvent_AxisEventType axisEventType, Input_AxisEventCallback callback) 添加指定类型的轴事件监听,轴事件类型定义在InputEvent_AxisEventType中。
Input_ResultOH_Input_RemoveKeyEventMonitor (Input_KeyEventCallback callback) 移除按键事件监听。
Input_ResultOH_Input_RemoveMouseEventMonitor (Input_MouseEventCallback callback) 移除鼠标事件监听。
Input_ResultOH_Input_RemoveTouchEventMonitor (Input_TouchEventCallback callback) 移除触摸事件监听。
Input_ResultOH_Input_RemoveAxisEventMonitorForAll (Input_AxisEventCallback callback) 移除所有类型轴事件监听。
Input_ResultOH_Input_RemoveAxisEventMonitor (InputEvent_AxisEventType axisEventType, Input_AxisEventCallback callback) 移除指定类型轴事件监听,轴事件类型定义在InputEvent_AxisEventType中。
Input_ResultOH_Input_AddKeyEventInterceptor (Input_KeyEventCallback callback, Input_InterceptorOptions *option) 添加按键事件的拦截,重复添加只有第一次生效。
Input_ResultOH_Input_AddInputEventInterceptor (Input_InterceptorEventCallback *callback Input_InterceptorOptions *option) 添加输入事件拦截,包括鼠标、触摸和轴事件,重复添加只有第一次生效。
Input_ResultOH_Input_RemoveKeyEventInterceptor () 移除按键事件拦截。
Input_ResultOH_Input_RemoveInputEventInterceptor () 移除输入事件拦截,包括鼠标、触摸和轴事件。
在 API参考 中进行搜索
请输入您想要搜索的关键词