harmony 鸿蒙ui_input_event.h

  • 2025-06-12
  • 浏览 (4)

ui_input_event.h

概述

提供ArkUI在Native侧的事件定义。

库: libace_ndk.z.so

引用文件:

系统能力: SystemCapability.ArkUI.ArkUI.Full

起始版本: 12

相关模块:ArkUI_EventModule

汇总

类型定义

名称 描述
typedef struct ArkUI_UIInputEvent ArkUI_UIInputEvent UI输入事件定义。

枚举

名称 描述
ArkUI_UIInputEvent_Type { ARKUI_UIINPUTEVENT_TYPE_UNKNOWN = 0, ARKUI_UIINPUTEVENT_TYPE_TOUCH = 1, ARKUI_UIINPUTEVENT_TYPE_AXIS = 2, ARKUI_UIINPUTEVENT_TYPE_MOUSE = 3 } UI输入事件类型定义。
{
OH_NATIVEXCOMPONENT_RESULT_SUCCESS = 0, OH_NATIVEXCOMPONENT_RESULT_FAILED = -1, OH_NATIVEXCOMPONENT_RESULT_BAD_PARAMETER = -2, UI_TOUCH_EVENT_ACTION_CANCEL = 0,
UI_TOUCH_EVENT_ACTION_DOWN = 1, UI_TOUCH_EVENT_ACTION_MOVE = 2, UI_TOUCH_EVENT_ACTION_UP = 3
}
定义输入事件的Action Code。
{
UI_INPUT_EVENT_TOOL_TYPE_UNKNOWN = 0, UI_INPUT_EVENT_TOOL_TYPE_FINGER = 1, UI_INPUT_EVENT_TOOL_TYPE_PEN = 2, UI_INPUT_EVENT_TOOL_TYPE_MOUSE = 3,
UI_INPUT_EVENT_TOOL_TYPE_TOUCHPAD = 4, UI_INPUT_EVENT_TOOL_TYPE_JOYSTICK = 5
}
产生输入事件的工具类型定义。
{ UI_INPUT_EVENT_SOURCE_TYPE_UNKNOWN = 0, UI_INPUT_EVENT_SOURCE_TYPE_MOUSE = 1, UI_INPUT_EVENTT_SOURCE_TYPE_TOUCH_SCREEN = 2 } 产生输入事件的来源类型定义。
HitTestMode { HTM_DEFAULT = 0, HTM_BLOCK, HTM_TRANSPARENT, HTM_NONE } 定义触摸测试类型的枚举值。
{ UI_MOUSE_EVENT_ACTION_UNKNOWN = 0, UI_MOUSE_EVENT_ACTION_PRESS = 1, UI_MOUSE_EVENT_ACTION_RELEASE = 2, UI_MOUSE_EVENT_ACTION_MOVE = 3, UI_MOUSE_EVENT_ACTION_CANCEL = 13, } 定义鼠标事件的Action Code。
{
UI_MOUSE_EVENT_BUTTON_NONE = 0, UI_MOUSE_EVENT_BUTTON_LEFT = 1, UI_MOUSE_EVENT_BUTTON_RIGHT = 2, UI_MOUSE_EVENT_BUTTON_MIDDLE = 3,
UI_MOUSE_EVENT_BUTTON_BACK = 4, UI_MOUSE_EVENT_BUTTON_FORWARD = 5
}
定义鼠标事件的按键类型。
ArkUI_ModifierKeyName { ARKUI_MODIFIER_KEY_CTRL = 1 << 0, ARKUI_MODIFIER_KEY_SHIFT = 1 << 1, ARKUI_MODIFIER_KEY_ALT = 1 << 2, ARKUI_MODIFIER_KEY_FN = 1 << 3 } 定义modifier按键。
{
UI_FOCUS_AXIS_EVENT_ABS_X = 0, UI_FOCUS_AXIS_EVENT_ABS_Y = 1, UI_FOCUS_AXIS_EVENT_ABS_Z = 2, UI_FOCUS_AXIS_EVENT_ABS_RZ = 3,
UI_FOCUS_AXIS_EVENT_ABS_GAS = 4, UI_FOCUS_AXIS_EVENT_ABS_BRAKE = 5, UI_FOCUS_AXIS_EVENT_ABS_HAT0X = 6, UI_FOCUS_AXIS_EVENT_ABS_HAT0Y = 7
}
定义焦点轴事件的轴类型。
{
ARKUI_EVENT_HAND_NONE = 0, ARKUI_EVENT_HAND_LEFT = 1, ARKUI_EVENT_HAND_RIGHT = 2}
定义事件是由左手点击触发还是右手点击触发。

函数

名称 描述
int32_t OH_ArkUI_UIInputEvent_GetType (const ArkUI_UIInputEvent *event) 获取UI输入事件的类型。
int32_t OH_ArkUI_UIInputEvent_GetAction (const ArkUI_UIInputEvent *event) 获取UI输入事件的操作类型。
int32_t OH_ArkUI_UIInputEvent_GetSourceType (const ArkUI_UIInputEvent *event) 获取产生UI输入事件的来源类型。
int32_t OH_ArkUI_UIInputEvent_GetToolType (const ArkUI_UIInputEvent *event) 获取产生UI输入事件的工具类型。
int64_t OH_ArkUI_UIInputEvent_GetEventTime (const ArkUI_UIInputEvent *event) 获取UI输入事件发生的时间。
uint32_t OH_ArkUI_PointerEvent_GetPointerCount (const ArkUI_UIInputEvent *event) 从带有指向性的输入事件(如触摸事件、鼠标事件、轴事件)中获取多点触控的接触点数量。
int32_t OH_ArkUI_PointerEvent_GetPointerId (const ArkUI_UIInputEvent *event, uint32_t pointerIndex) 从带有指向性的输入事件(如触摸事件、鼠标事件、轴事件)中获取多点触控的接触点标识。
int32_t OH_ArkUI_PointerEvent_GetChangedPointerId (const ArkUI_UIInputEvent *event, uint32_t *pointerIndex) 获取当前触摸事件触发的id。
float OH_ArkUI_PointerEvent_GetX (const ArkUI_UIInputEvent *event) 从带有指向性的输入事件(如触摸事件、鼠标事件、轴事件)中获取相对于当前组件左上角的X坐标。
float OH_ArkUI_PointerEvent_GetXByIndex (const ArkUI_UIInputEvent *event, uint32_t pointerIndex) 从带有指向性的输入事件(如触摸事件、鼠标事件、轴事件)中获取特定接触点相对于当前组件左上角的X坐标。
float OH_ArkUI_PointerEvent_GetY (const ArkUI_UIInputEvent *event) 从带有指向性的输入事件(如触摸事件、鼠标事件、轴事件)中获取相对于当前组件左上角的Y坐标。
float OH_ArkUI_PointerEvent_GetYByIndex (const ArkUI_UIInputEvent *event, uint32_t pointerIndex) 从带有指向性的输入事件(如触摸事件、鼠标事件、轴事件)中获取特定接触点相对于当前组件左上角的Y坐标。
float OH_ArkUI_PointerEvent_GetWindowX (const ArkUI_UIInputEvent *event) 从带有指向性的输入事件(如触摸事件、鼠标事件、轴事件)中获取相对于当前应用窗口左上角的X坐标。
float OH_ArkUI_PointerEvent_GetWindowXByIndex (const ArkUI_UIInputEvent *event, uint32_t pointerIndex) 从带有指向性的输入事件(如触摸事件、鼠标事件、轴事件)中获取特定接触点相对于当前应用窗口左上角的X坐标。
float OH_ArkUI_PointerEvent_GetWindowY (const ArkUI_UIInputEvent *event) 从带有指向性的输入事件(如触摸事件、鼠标事件、轴事件)中获取相对于当前应用窗口左上角的Y坐标。
float OH_ArkUI_PointerEvent_GetWindowYByIndex (const ArkUI_UIInputEvent *event, uint32_t pointerIndex) 从带有指向性的输入事件(如触摸事件、鼠标事件、轴事件)中获取特定接触点相对于当前应用窗口左上角的Y坐标。
float OH_ArkUI_PointerEvent_GetDisplayX (const ArkUI_UIInputEvent *event) 从带有指向性的输入事件(如触摸事件、鼠标事件、轴事件)中获取相对于当前屏幕左上角的X坐标。
float OH_ArkUI_PointerEvent_GetDisplayXByIndex (const ArkUI_UIInputEvent *event, uint32_t pointerIndex) 从带有指向性的输入事件(如触摸事件、鼠标事件、轴事件)中获取特定接触点相对于当前屏幕左上角的X坐标。
float OH_ArkUI_PointerEvent_GetDisplayY (const ArkUI_UIInputEvent *event) 从带有指向性的输入事件(如触摸事件、鼠标事件、轴事件)中获取相对于当前屏幕左上角的Y坐标。
float OH_ArkUI_PointerEvent_GetDisplayYByIndex (const ArkUI_UIInputEvent *event, uint32_t pointerIndex) 从带有指向性的输入事件(如触摸事件、鼠标事件、轴事件)中获取特定接触点相对于当前屏幕左上角的Y坐标。
float OH_ArkUI_PointerEvent_GetPressure (const ArkUI_UIInputEvent *event, uint32_t pointerIndex) 从带有指向性的输入事件(如触摸事件)中获取触屏压力。
float OH_ArkUI_PointerEvent_GetTiltX (const ArkUI_UIInputEvent *event, uint32_t pointerIndex) 从带有指向性的输入事件(如触摸事件)中获取相对YZ平面的角度,取值的范围[-90, 90],其中正值是向右倾斜。
float OH_ArkUI_PointerEvent_GetTiltY (const ArkUI_UIInputEvent *event, uint32_t pointerIndex) 从带有指向性的输入事件(如触摸事件)中获取相对XZ平面的角度,值的范围[-90, 90],其中正值是向下倾斜。
int32_t OH_ArkUI_PointerEvent_GetRollAngle (const ArkUI_UIInputEvent *event, double *rollAngle) 从带有指向性的输入事件(如触摸事件)中获取手写笔与设备平面的夹角。
float OH_ArkUI_PointerEvent_GetTouchAreaWidth (const ArkUI_UIInputEvent *event, uint32_t pointerIndex) 从带有指向性的输入事件(如触摸事件)中获取触屏区域的宽度。
float OH_ArkUI_PointerEvent_GetTouchAreaHeight (const ArkUI_UIInputEvent *event, uint32_t pointerIndex) 从带有指向性的输入事件(如触摸事件)中获取触屏区域的高度。
uint32_t OH_ArkUI_PointerEvent_GetHistorySize (const ArkUI_UIInputEvent *event) 从带有指向性的输入事件(如触摸事件、鼠标事件、轴事件)中获取历史事件数量。
int64_t OH_ArkUI_PointerEvent_GetHistoryEventTime (const ArkUI_UIInputEvent *event, uint32_t historyIndex) 从带有指向性的输入事件(如触摸事件、鼠标事件、轴事件)中获取历史事件发生的时间。
uint32_t OH_ArkUI_PointerEvent_GetHistoryPointerCount (const ArkUI_UIInputEvent *event, uint32_t historyIndex) 从带有指向性的输入事件(如触摸事件、鼠标事件、轴事件)中获取特定历史事件中多点触控的接触点数量。
int32_t OH_ArkUI_PointerEvent_GetHistoryPointerId (const ArkUI_UIInputEvent *event, uint32_t pointerIndex, uint32_t historyIndex) 从带有指向性的输入事件(如触摸事件、鼠标事件、轴事件)中获取多点触控的接触点标识。
float OH_ArkUI_PointerEvent_GetHistoryX (const ArkUI_UIInputEvent *event, uint32_t pointerIndex, uint32_t historyIndex) 从带有指向性的输入事件(如触摸事件、鼠标事件、轴事件)中获取特定历史事件中特定接触点相对于当前组件左上角的X坐标。
float OH_ArkUI_PointerEvent_GetHistoryY (const ArkUI_UIInputEvent *event, uint32_t pointerIndex, uint32_t historyIndex) 从带有指向性的输入事件(如触摸事件、鼠标事件、轴事件)中获取特定历史事件中特定接触点相对于当前组件左上角的Y坐标。
float OH_ArkUI_PointerEvent_GetHistoryWindowX (const ArkUI_UIInputEvent *event, uint32_t pointerIndex, uint32_t historyIndex) 从带有指向性的输入事件(如触摸事件、鼠标事件、轴事件)中获取特定历史事件中特定接触点相对于当前应用窗口左上角的X坐标。
float OH_ArkUI_PointerEvent_GetHistoryWindowY (const ArkUI_UIInputEvent *event, uint32_t pointerIndex, uint32_t historyIndex) 从带有指向性的输入事件(如触摸事件、鼠标事件、轴事件)中获取特定历史事件中特定接触点相对于当前应用窗口左上角的Y坐标。
float OH_ArkUI_PointerEvent_GetHistoryDisplayX (const ArkUI_UIInputEvent *event, uint32_t pointerIndex, uint32_t historyIndex) 从带有指向性的输入事件(如触摸事件、鼠标事件、轴事件)中获取特定历史事件中特定接触点相对于当前屏幕左上角的X坐标。
float OH_ArkUI_PointerEvent_GetHistoryDisplayY (const ArkUI_UIInputEvent *event, uint32_t pointerIndex, uint32_t historyIndex) 从带有指向性的输入事件(如触摸事件、鼠标事件、轴事件)中获取特定历史事件中特定接触点相对于当前屏幕左上角的Y坐标。
float OH_ArkUI_PointerEvent_GetHistoryPressure (const ArkUI_UIInputEvent *event, uint32_t pointerIndex, uint32_t historyIndex) 从带有指向性的输入事件(如触摸事件)中获取特定历史事件中的触屏压力。
float OH_ArkUI_PointerEvent_GetHistoryTiltX (const ArkUI_UIInputEvent *event, uint32_t pointerIndex, uint32_t historyIndex) 从带有指向性的输入事件(如触摸事件)中获取特定历史事件中的相对YZ平面的角度,取值的范围[-90, 90],其中正值是向右倾斜。
float OH_ArkUI_PointerEvent_GetHistoryTiltY (const ArkUI_UIInputEvent *event, uint32_t pointerIndex, uint32_t historyIndex) 从带有指向性的输入事件(如触摸事件)中获取特定历史事件中的相对XZ平面的角度,值的范围[-90, 90],其中正值是向下倾斜。
float OH_ArkUI_PointerEvent_GetHistoryTouchAreaWidth (const ArkUI_UIInputEvent *event, uint32_t pointerIndex, uint32_t historyIndex) 从带有指向性的输入事件(如触摸事件)中获取特定历史事件中的触屏区域的宽度。
float OH_ArkUI_PointerEvent_GetHistoryTouchAreaHeight (const ArkUI_UIInputEvent *event, uint32_t pointerIndex, uint32_t historyIndex) 从带有指向性的输入事件(如触摸事件)中获取特定历史事件中的触屏区域的高度。
double OH_ArkUI_AxisEvent_GetVerticalAxisValue (const ArkUI_UIInputEvent *event) 获取当前轴事件的垂直滚动轴的值。
double OH_ArkUI_AxisEvent_GetHorizontalAxisValue (const ArkUI_UIInputEvent *event) 获取当前轴事件的水平滚动轴的值。
double OH_ArkUI_AxisEvent_GetPinchAxisScaleValue (const ArkUI_UIInputEvent *event) 获取当前轴事件的捏合轴缩放的值。
int32_t OH_ArkUI_AxisEvent_GetAxisAction(const ArkUI_UIInputEvent *event) 获取当前轴事件的操作类型的值。
int32_t OH_ArkUI_PointerEvent_SetInterceptHitTestMode (const ArkUI_UIInputEvent *event, HitTestMode mode) 配置HitTest模式。
int32_t OH_ArkUI_MouseEvent_GetMouseButton (const ArkUI_UIInputEvent *event) 获取鼠标事件的按键类型的值。
int32_t OH_ArkUI_MouseEvent_GetMouseAction (const ArkUI_UIInputEvent *event) 获取鼠标事件的鼠标动作类型的值。
int32_t OH_ArkUI_PointerEvent_SetStopPropagation (const ArkUI_UIInputEvent *event, bool stopPropagation) 设置是否阻止事件冒泡。
int32_t OH_ArkUI_UIInputEvent_GetDeviceId (const ArkUI_UIInputEvent *event) 获取当前按键的输入设备ID。
int32_t OH_ArkUI_UIInputEvent_GetPressedKeys (const ArkUI_UIInputEvent *event, int32_t *pressedKeyCodes, int32_t *length) 获取所有按下的按键,当前只支持按键事件。
double OH_ArkUI_FocusAxisEvent_GetAxisValue (const ArkUI_UIInputEvent *event, int32_t *axis) 获取焦点轴事件的轴值。
int32_t OH_ArkUI_FocusAxisEvent_SetStopPropagation (const ArkUI_UIInputEvent *event, bool *stopPropagation) 设置是否阻止焦点轴事件冒泡。
int32_t OH_ArkUI_PointerEvent_GetInteractionHand (const ArkUI_UIInputEvent *event, ArkUI_InteractionHand *hand) 获取当前触摸事件是左手点击触发还是右手点击触发。
int32_t OH_ArkUI_PointerEvent_GetInteractionHandByIndex (const ArkUI_UIInputEvent *event, int32_t pointerIndex, ArkUI_InteractionHand *hand) 获取当前触摸事件是左手点击触发还是右手点击触发。
int32_t OH_ArkUI_PointerEvent_CreateClonedEvent (const ArkUI_UIInputEvent *event, ArkUI_UIInputEvent *clonedevent) 基于原始事件指针创建克隆事件指针。
int32_t OH_ArkUI_PointerEvent_DestroyClonedEvent (const ArkUI_UIInputEvent *event) 销毁克隆事件指针。
int32_t OH_ArkUI_PointerEvent_SetClonedEventLocalPosition (const ArkUI_UIInputEvent *event, float x, float y) 设置指向性事件相对于当前组件左上角的X坐标和Y坐标。
int32_t OH_ArkUI_PointerEvent_SetClonedEventLocalPositionByIndex (const ArkUI_UIInputEvent *event, float x, float y, int32_t pointerIndex) 设置指向性事件特有接触点相对于当前组件左上角的X坐标和Y坐标。
int32_t OH_ArkUI_PointerEvent_SetClonedEventActionType (const ArkUI_UIInputEvent *event, int32_t actionType) 设置当前带有指向性的克隆输入事件的事件类型。
int32_t OH_ArkUI_PointerEvent_SetClonedEventChangedFingerId (const ArkUI_UIInputEvent *event, int32_t fingerId) 设置当前带有指向性的克隆输入事件的触摸点ID。
int32_t OH_ArkUI_PointerEvent_SetClonedEventFingerIdByIndex (const ArkUI_UIInputEvent *event, int32_t fingerId, int32_t pointerIndexe) 设置带有指向性的克隆输入事件特定接触点的触摸点ID。
int32_t OH_ArkUI_PointerEvent_PostClonedEvent (ArkUI_NodeHandle *node, const ArkUI_UIInputEvent *event) 转发克隆事件到特定节点。
int64_t OH_ArkUI_PointerEvent_GetPressedTimeByIndex (const ArkUI_UIInputEvent *event, int32_t pointerIndex) 获取特定触摸点的按压时间。
float OH_ArkUI_MouseEvent_GetRawDeltaX (const ArkUI_UIInputEvent *event) 获取X轴相对于前一个上报的鼠标事件的鼠标指针位置的偏移量。当鼠标指针位于屏幕边缘时,该值可能小于两次上报的X坐标的差。
float OH_ArkUI_MouseEvent_GetRawDeltaY (const ArkUI_UIInputEvent *event) 获取相对于前一个上报的鼠标事件的鼠标指针位置的Y轴偏移量。当鼠标指针位于屏幕边缘时,该值可能小于两次上报的Y坐标的差。
int32_t OH_ArkUI_MouseEvent_GetPressedButtons (const ArkUI_UIInputEvent *event, int32_t* pressedButtons, int32_t* length) 从鼠标事件中获取按下的按钮。
int32_t OH_ArkUI_UIInputEvent_GetTargetDisplayId (const ArkUI_UIInputEvent *event) 获取发生UI输入事件的屏幕ID。
float OH_ArkUI_UIInputEvent_GetEventTargetWidth (const ArkUI_UIInputEvent *event) 获取事件命中的组件的宽度。
float OH_ArkUI_UIInputEvent_GetEventTargetHeight (const ArkUI_UIInputEvent *event) 获取事件命中的组件的高度。
float OH_ArkUI_UIInputEvent_GetEventTargetPositionX (const ArkUI_UIInputEvent *event) 获取事件命中的组件的X坐标。
float OH_ArkUI_UIInputEvent_GetEventTargetPositionY (const ArkUI_UIInputEvent *event) 获取事件命中的组件的Y坐标。
float OH_ArkUI_UIInputEvent_GetEventTargetGlobalPositionX (const ArkUI_UIInputEvent *event) 获取事件命中的组件的全局X坐标。
float OH_ArkUI_UIInputEvent_GetEventTargetGlobalPositionY (const ArkUI_UIInputEvent *event) 获取事件命中的组件的全局Y坐标。
bool OH_ArkUI_HoverEvent_IsHovered (const ArkUI_UIInputEvent *event) 获取鼠标是否悬浮在当前组件上。
int32_t OH_ArkUI_UIInputEvent_GetModifierKeyStates (const ArkUI_UIInputEvent *event, uint64_t keys) 获取UI输入事件的功能键按压状态。
ArkUI_ErrorCode OH_ArkUI_UIInputEvent_GetLatestStatus() 调用该方法获取最近一次UIInput相关方法的执行情况。通常情况下不需要使用该方法,仅在返回值结果不确定是否异常时使用。
起始版本: 20

你可能感兴趣的鸿蒙文章

harmony 鸿蒙ArkUI(方舟UI框架)

harmony 鸿蒙ARKUI_TextPickerCascadeRangeContent

harmony 鸿蒙ARKUI_TextPickerRangeContent

harmony 鸿蒙ArkUI_AnimateCompleteCallback

harmony 鸿蒙ArkUI_AttributeItem

harmony 鸿蒙ArkUI_ColorStop

harmony 鸿蒙ArkUI_ContextCallback

harmony 鸿蒙ArkUI_EventModule

harmony 鸿蒙ArkUI_ExpectedFrameRateRange

harmony 鸿蒙ArkUI_IntOffset

0  赞