mirror of
https://gitee.com/openharmony/interface_sdk_c
synced 2024-11-27 00:41:01 +00:00
多模新增事件监听和拦截以及鼠标样式设置接口
Signed-off-by: multimodalinput <huiyuehong@huawei.com>
This commit is contained in:
parent
a2605a2524
commit
4f17211975
@ -18,6 +18,7 @@ import("//foundation/multimodalinput/input/multimodalinput_mini.gni")
|
||||
ohos_ndk_headers("ohinput_header") {
|
||||
dest_dir = "$ndk_headers_out_dir/multimodalinput"
|
||||
sources = [
|
||||
"./input/oh_axis_type.h",
|
||||
"./input/oh_input_manager.h",
|
||||
"./input/oh_key_code.h",
|
||||
]
|
||||
@ -29,6 +30,7 @@ ohos_ndk_library("libohinput_ndk") {
|
||||
ndk_description_file = "./ohinput.ndk.json"
|
||||
system_capability = "SystemCapability.MultimodalInput.Input.Core"
|
||||
system_capability_headers = [
|
||||
"multimodalinput/oh_axis_type.h",
|
||||
"multimodalinput/oh_input_manager.h",
|
||||
"multimodalinput/oh_key_code.h",
|
||||
]
|
||||
|
165
multimodalinput/kits/c/input/oh_axis_type.h
Normal file
165
multimodalinput/kits/c/input/oh_axis_type.h
Normal file
@ -0,0 +1,165 @@
|
||||
/*
|
||||
* Copyright (c) 2024 Huawei Device Co., Ltd.
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @addtogroup input
|
||||
* @{
|
||||
*
|
||||
* @brief Provides the C interface in the multi-modal input domain.
|
||||
*
|
||||
* @since 12
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file oh_axis_type.h
|
||||
*
|
||||
* @brief Defines the axis event-specific structure and enumerations.
|
||||
* @kit InputKit
|
||||
* @syscap SystemCapability.MultimodalInput.Input.Core
|
||||
* @library liboh_input.so
|
||||
* @since 12
|
||||
*/
|
||||
|
||||
#ifndef OH_AXIS_TYPE_H
|
||||
#define OH_AXIS_TYPE_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Enumerates axis types.
|
||||
*
|
||||
* @since 12
|
||||
*/
|
||||
typedef enum InputEvent_AxisType {
|
||||
/**
|
||||
* Indicates an unknown axis type. It is generally used as the initial value.
|
||||
*
|
||||
* @since 12
|
||||
*/
|
||||
AXIS_TYPE_UNKNOWN,
|
||||
|
||||
/**
|
||||
* Indicates the vertical scroll axis. When you scroll the mouse wheel or make certain gestures on the touchpad,
|
||||
* the status of the vertical scroll axis changes.
|
||||
*
|
||||
* @since 12
|
||||
*/
|
||||
AXIS_TYPE_SCROLL_VERTICAL,
|
||||
|
||||
/**
|
||||
* Indicates the horizontal scroll axis.
|
||||
* When you scroll the mouse wheel or make certain gestures on the touchpad,
|
||||
* the status of the horizontal scroll axis changes.
|
||||
*
|
||||
* @since 12
|
||||
*/
|
||||
AXIS_TYPE_SCROLL_HORIZONTAL,
|
||||
|
||||
/**
|
||||
* Indicates the pinch axis, which is used to describe a pinch gesture on the touchscreen or touchpad.
|
||||
*
|
||||
* @since 12
|
||||
*/
|
||||
AXIS_TYPE_PINCH,
|
||||
|
||||
/**
|
||||
* Indicates the rotate axis, which is used to describe a rotate gesture on the touchpad.
|
||||
*
|
||||
* @since 12
|
||||
*/
|
||||
AXIS_TYPE_ROTATE
|
||||
} InputEvent_AxisType;
|
||||
|
||||
/**
|
||||
* @brief Enumerates axis event types.
|
||||
*
|
||||
* @since 12
|
||||
*/
|
||||
typedef enum InputEvent_AxisEventType {
|
||||
/**
|
||||
* @brief Enumerates two-finger pinch events. The axis value can be AXIS_TYPE_PINCH or AXIS_TYPE_ROTATE.
|
||||
*
|
||||
* @since 12
|
||||
*/
|
||||
AXIS_EVENT_TYPE_PINCH = 1,
|
||||
/**
|
||||
* @brief Enumerates scroll axis events.
|
||||
* The axis value can be AXIS_TYPE_SCROLL_VERTICAL or AXIS_TYPE_SCROLL_HORIZONTAL.
|
||||
* Wherein, the value of AXIS_TYPE_SCROLL_HORIZONTAL is 0 for a mouse wheel event.
|
||||
*
|
||||
* @since 12
|
||||
*/
|
||||
AXIS_EVENT_TYPE_SCROLL = 2
|
||||
} InputEvent_AxisEventType;
|
||||
|
||||
/**
|
||||
* @brief Enumerates axis event source types.
|
||||
*
|
||||
* @since 12
|
||||
*/
|
||||
typedef enum InputEvent_SourceType {
|
||||
/**
|
||||
* Indicates that the input source generates events similar to mouse cursor movement,
|
||||
* button press and release, and wheel scrolling.
|
||||
*
|
||||
* @since 12
|
||||
*/
|
||||
SOURCE_TYPE_MOUSE = 1,
|
||||
/**
|
||||
* Indicates that the input source generates a touchscreen multi-touch event.
|
||||
*
|
||||
* @since 12
|
||||
*/
|
||||
SOURCE_TYPE_TOUCHSCREEN = 2,
|
||||
/**
|
||||
* Indicates that the input source generates a touchpad multi-touch event.
|
||||
*
|
||||
* @since 12
|
||||
*/
|
||||
SOURCE_TYPE_TOUCHPAD = 3
|
||||
} InputEvent_SourceType;
|
||||
|
||||
/**
|
||||
* @brief Enumerates axis event actions.
|
||||
*
|
||||
* @since 12
|
||||
*/
|
||||
typedef enum InputEvent_AxisAction {
|
||||
/**
|
||||
* Start action for the axis input event.
|
||||
*
|
||||
* @since 12
|
||||
*/
|
||||
AXIS_ACTION_BEGIN = 5,
|
||||
/**
|
||||
* Update action for the axis input event.
|
||||
*
|
||||
* @since 12
|
||||
*/
|
||||
AXIS_ACTION_UPDATE = 6,
|
||||
/**
|
||||
* End action for the axis input event.
|
||||
*
|
||||
* @since 12
|
||||
*/
|
||||
AXIS_ACTION_END = 7,
|
||||
} InputEvent_AxisAction;
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
/** @} */
|
||||
#endif
|
@ -37,6 +37,7 @@
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#include "oh_axis_type.h"
|
||||
#include "oh_key_code.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
@ -48,7 +49,7 @@ extern "C" {
|
||||
*
|
||||
* @since 12
|
||||
*/
|
||||
enum Input_KeyStateAction {
|
||||
typedef enum Input_KeyStateAction {
|
||||
/** Default */
|
||||
KEY_DEFAULT = -1,
|
||||
/** Pressing of a key */
|
||||
@ -59,14 +60,14 @@ enum Input_KeyStateAction {
|
||||
KEY_SWITCH_ON = 2,
|
||||
/** Key switch disabled */
|
||||
KEY_SWITCH_OFF = 3
|
||||
};
|
||||
} Input_KeyStateAction;
|
||||
|
||||
/**
|
||||
* @brief Enumerates key event types.
|
||||
*
|
||||
* @since 12
|
||||
*/
|
||||
typedef enum {
|
||||
typedef enum Input_KeyEventAction {
|
||||
/** Cancellation of a key action. */
|
||||
KEY_ACTION_CANCEL = 0,
|
||||
/** Pressing of a key. */
|
||||
@ -80,7 +81,7 @@ typedef enum {
|
||||
*
|
||||
* @since 12
|
||||
*/
|
||||
typedef enum {
|
||||
typedef enum Input_MouseEventAction {
|
||||
/** Cancel. */
|
||||
MOUSE_ACTION_CANCEL = 0,
|
||||
/** Moving of the mouse pointer. */
|
||||
@ -102,19 +103,19 @@ typedef enum {
|
||||
*
|
||||
* @since 12
|
||||
*/
|
||||
enum InputEvent_MouseAxis {
|
||||
typedef enum InputEvent_MouseAxis {
|
||||
/** Vertical scroll axis */
|
||||
MOUSE_AXIS_SCROLL_VERTICAL = 0,
|
||||
/** Horizontal scroll axis */
|
||||
MOUSE_AXIS_SCROLL_HORIZONTAL = 1,
|
||||
};
|
||||
} InputEvent_MouseAxis;
|
||||
|
||||
/**
|
||||
* @brief Enumerated values of mouse event button.
|
||||
*
|
||||
* @since 12
|
||||
*/
|
||||
typedef enum {
|
||||
typedef enum Input_MouseEventButton {
|
||||
/** Invalid button */
|
||||
MOUSE_BUTTON_NONE = -1,
|
||||
/** Left button on the mouse. */
|
||||
@ -134,7 +135,7 @@ typedef enum {
|
||||
*
|
||||
* @since 12
|
||||
*/
|
||||
typedef enum {
|
||||
typedef enum Input_TouchEventAction {
|
||||
/** Touch cancelled. */
|
||||
TOUCH_ACTION_CANCEL = 0,
|
||||
/** Touch pressed. */
|
||||
@ -150,51 +151,115 @@ typedef enum {
|
||||
*
|
||||
* @since 12
|
||||
*/
|
||||
struct Input_KeyState;
|
||||
typedef struct Input_KeyState Input_KeyState;
|
||||
|
||||
/**
|
||||
* @brief The key event to be injected.
|
||||
*
|
||||
* @since 12
|
||||
*/
|
||||
struct Input_KeyEvent;
|
||||
typedef struct Input_KeyEvent Input_KeyEvent;
|
||||
|
||||
/**
|
||||
* @brief The mouse event to be injected.
|
||||
*
|
||||
* @since 12
|
||||
*/
|
||||
struct Input_MouseEvent;
|
||||
typedef struct Input_MouseEvent Input_MouseEvent;
|
||||
|
||||
/**
|
||||
* @brief The touch event to be injected.
|
||||
*
|
||||
* @since 12
|
||||
*/
|
||||
struct Input_TouchEvent;
|
||||
typedef struct Input_TouchEvent Input_TouchEvent;
|
||||
|
||||
/**
|
||||
* @brief Enumerates the error codes.
|
||||
* @brief Enumerates axis events.
|
||||
*
|
||||
* @since 12
|
||||
*/
|
||||
typedef enum {
|
||||
/** @error Success return code on sucess*/
|
||||
typedef struct Input_AxisEvent Input_AxisEvent;
|
||||
|
||||
/**
|
||||
* @brief Enumerates error codes.
|
||||
*
|
||||
* @since 12
|
||||
*/
|
||||
typedef enum Input_Result {
|
||||
/** @error Success return code on success*/
|
||||
INPUT_SUCCESS = 0,
|
||||
/** @error Permission verification failed */
|
||||
INPUT_PERMISSION_DENIED = 201,
|
||||
/** @error Non-system application */
|
||||
INPUT_NOT_SYSTEM_APPLICATION = 202,
|
||||
/** @error Parameter check failed */
|
||||
INPUT_PARAMETER_ERROR = 401
|
||||
INPUT_PARAMETER_ERROR = 401,
|
||||
/** @error Service error */
|
||||
INPUT_SERVICE_EXCEPTION = 3800001,
|
||||
/** @error Interceptor repeatedly created for an application */
|
||||
INPUT_REPEAT_INTERCEPTOR = 4200001
|
||||
} Input_Result;
|
||||
|
||||
/**
|
||||
* @brief Defines a lifecycle callback for keyEvent. If the callback is triggered, keyEvent will be destroyed.
|
||||
*
|
||||
* @param keyEvent Key event object.
|
||||
* @since 12
|
||||
*/
|
||||
typedef void (*Input_KeyEventCallback)(const Input_KeyEvent* keyEvent);
|
||||
|
||||
/**
|
||||
* @brief Defines a lifecycle callback for mouseEvent. If the callback is triggered, mouseEvent will be destroyed.
|
||||
*
|
||||
* @param mouseEvent Mouse event object.
|
||||
* @since 12
|
||||
*/
|
||||
typedef void (*Input_MouseEventCallback)(const Input_MouseEvent* mouseEvent);
|
||||
|
||||
/**
|
||||
* @brief Defines a lifecycle callback for touchEvent. If the callback is triggered, touchEvent will be destroyed.
|
||||
*
|
||||
* @param touchEvent Touch event object.
|
||||
* @since 12
|
||||
*/
|
||||
typedef void (*Input_TouchEventCallback)(const Input_TouchEvent* touchEvent);
|
||||
|
||||
/**
|
||||
* @brief Defines a lifecycle callback for axisEvent. If the callback is triggered, axisEvent will be destroyed.
|
||||
*
|
||||
* @param axisEvent Axis event object.
|
||||
* @since 12
|
||||
*/
|
||||
typedef void (*Input_AxisEventCallback)(const Input_AxisEvent* axisEvent);
|
||||
|
||||
/**
|
||||
* @brief Defines the structure for the interceptor of event callbacks,
|
||||
* including mouseCallback, touchCallback, and axisCallback.
|
||||
*
|
||||
* @since 12
|
||||
*/
|
||||
typedef struct Input_InterceptorEventCallback {
|
||||
/** Defines a lifecycle callback for **mouseEvent**. */
|
||||
Input_MouseEventCallback mouseCallback;
|
||||
/** Defines a lifecycle callback for **touchEvent**. */
|
||||
Input_TouchEventCallback touchCallback;
|
||||
/** Defines a lifecycle callback for **axisEvent**. */
|
||||
Input_AxisEventCallback axisCallback;
|
||||
} Input_InterceptorEventCallback;
|
||||
|
||||
/**
|
||||
* @brief Defines event interceptor options.
|
||||
* @since 12
|
||||
*/
|
||||
typedef struct Input_InterceptorOptions Input_InterceptorOptions;
|
||||
|
||||
/**
|
||||
* @brief Queries the key state.
|
||||
*
|
||||
* @param keyState Key state.
|
||||
* @return OH_Input_GetKeyState function result code.
|
||||
* {@link INPUT_SUCCESS} get KeyState sucess.\n
|
||||
* {@link INPUT_SUCCESS} get KeyState success.\n
|
||||
* {@link INPUT_PARAMETER_ERROR} keyCode is invalid.\n
|
||||
* @syscap SystemCapability.MultimodalInput.Input.Core
|
||||
* @since 12
|
||||
@ -285,7 +350,7 @@ int32_t OH_Input_GetKeySwitch(const struct Input_KeyState* keyState);
|
||||
*
|
||||
* @param keyEvent - the key event to be injected.
|
||||
* @return OH_Input_InjectKeyEvent function result code.
|
||||
* {@link INPUT_SUCCESS} inject keyEvent sucess.\n
|
||||
* {@link INPUT_SUCCESS} inject keyEvent success.\n
|
||||
* {@link INPUT_PERMISSION_DENIED} Permission verification failed.\n
|
||||
* {@link INPUT_PARAMETER_ERROR} keyCode is less 0, can not process.\n
|
||||
* @syscap SystemCapability.MultimodalInput.Input.Core
|
||||
@ -377,7 +442,7 @@ int64_t OH_Input_GetKeyEventActionTime(const struct Input_KeyEvent* keyEvent);
|
||||
*
|
||||
* @param mouseEvent - the mouse event to be injected.
|
||||
* @return OH_Input_InjectMouseEvent function result code.
|
||||
* {@link INPUT_SUCCESS} inject mouseEvent sucess.\n
|
||||
* {@link INPUT_SUCCESS} inject mouseEvent success.\n
|
||||
* {@link INPUT_PERMISSION_DENIED} Permission verification failed.\n
|
||||
* {@link INPUT_PARAMETER_ERROR} Parameter check failed.\n
|
||||
* @syscap SystemCapability.MultimodalInput.Input.Core
|
||||
@ -508,7 +573,8 @@ int32_t OH_Input_GetMouseEventAxisType(const struct Input_MouseEvent* mouseEvent
|
||||
* @brief Sets the axis value for a mouse axis event.
|
||||
*
|
||||
* @param mouseEvent Mouse event object.
|
||||
* @param axisType Axis value. A positive value means scrolling forward, and a negative number means scrolling backward.
|
||||
* @param axisType Axis value. A positive value means scrolling forward,
|
||||
* and a negative number means scrolling backward.
|
||||
* @syscap SystemCapability.MultimodalInput.Input.Core
|
||||
* @since 12
|
||||
*/
|
||||
@ -549,7 +615,7 @@ int64_t OH_Input_GetMouseEventActionTime(const struct Input_MouseEvent* mouseEve
|
||||
*
|
||||
* @param touchEvent - the touch event to be injected.
|
||||
* @return OH_Input_InjectTouchEvent function result code.
|
||||
* {@link INPUT_SUCCESS} inject touchEvent sucess.\n
|
||||
* {@link INPUT_SUCCESS} inject touchEvent success.\n
|
||||
* {@link INPUT_PARAMETER_ERROR} Parameter check failed.\n
|
||||
* @syscap SystemCapability.MultimodalInput.Input.Core
|
||||
* @since 12
|
||||
@ -683,6 +749,431 @@ int64_t OH_Input_GetTouchEventActionTime(const struct Input_TouchEvent* touchEve
|
||||
*/
|
||||
void OH_Input_CancelInjection();
|
||||
|
||||
/**
|
||||
* @brief Creates an axis event object.
|
||||
*
|
||||
* @return If the operation is successful, a {@Link Input_AxisEvent} object is returned.
|
||||
* If the operation fails, null is returned.
|
||||
* @syscap SystemCapability.MultimodalInput.Input.Core
|
||||
* @since 12
|
||||
*/
|
||||
Input_AxisEvent* OH_Input_CreateAxisEvent(void);
|
||||
|
||||
/**
|
||||
* @brief Destroys an axis event object.
|
||||
*
|
||||
* @param axisEvent Pointer to the axis event object.
|
||||
* @return OH_Input_DestroyAxisEvent function result code.
|
||||
* {@link INPUT_SUCCESS} Destroys axisEvent success.\n
|
||||
* {@link INPUT_PARAMETER_ERROR}The axisEvent is NULL or the *axisEvent is NULL.\n
|
||||
* @syscap SystemCapability.MultimodalInput.Input.Core
|
||||
* @since 12
|
||||
*/
|
||||
Input_Result OH_Input_DestroyAxisEvent(Input_AxisEvent** axisEvent);
|
||||
|
||||
/**
|
||||
* @brief Sets the axis event action.
|
||||
*
|
||||
* @param axisEvent Axis event object. For details, see {@Link Input_AxisEvent}.
|
||||
* @param action Axis event action. The values are defined in {@link InputEvent_AxisAction}.
|
||||
* @return OH_Input_SetAxisEventAction function result code.
|
||||
* {@link INPUT_SUCCESS} Sets the axis event action success.\n
|
||||
* {@link INPUT_PARAMETER_ERROR} The axisEvent is NULL.\n
|
||||
* @syscap SystemCapability.MultimodalInput.Input.Core
|
||||
* @since 12
|
||||
*/
|
||||
Input_Result OH_Input_SetAxisEventAction(Input_AxisEvent* axisEvent, InputEvent_AxisAction action);
|
||||
|
||||
/**
|
||||
* @brief Obtains the axis event action.
|
||||
*
|
||||
* @param axisEvent Axis event object. For details, see {@Link Input_AxisEvent}.
|
||||
* @param action Axis event action. The values are defined in {@link InputEvent_AxisAction}.
|
||||
* @return OH_Input_GetAxisEventAction function result code.
|
||||
* {@link INPUT_SUCCESS} Obtains the axis event action success.\n
|
||||
* {@link INPUT_PARAMETER_ERROR} The axisEvent is NULL or the action is NULL.\n
|
||||
* @syscap SystemCapability.MultimodalInput.Input.Core
|
||||
* @since 12
|
||||
*/
|
||||
Input_Result OH_Input_GetAxisEventAction(const Input_AxisEvent* axisEvent, InputEvent_AxisAction *action);
|
||||
|
||||
/**
|
||||
* @brief Sets the X coordinate of an axis event.
|
||||
*
|
||||
* @param axisEvent Axis event object. For details, see {@Link Input_AxisEvent}.
|
||||
* @param displayX X coordinate of the axis event.
|
||||
* @return OH_Input_SetAxisEventDisplayX function result code.
|
||||
* {@link INPUT_SUCCESS} Sets the X coordinate of the axis event success.\n
|
||||
* {@link INPUT_PARAMETER_ERROR} The axisEvent is NULL.\n
|
||||
* @syscap SystemCapability.MultimodalInput.Input.Core
|
||||
* @since 12
|
||||
*/
|
||||
Input_Result OH_Input_SetAxisEventDisplayX(Input_AxisEvent* axisEvent, float displayX);
|
||||
|
||||
/**
|
||||
* @brief Obtains the X coordinate of an axis event.
|
||||
*
|
||||
* @param axisEvent Axis event object. For details, see {@Link Input_AxisEvent}.
|
||||
* @param displayX X coordinate of the axis event.
|
||||
* @return OH_Input_GetAxisEventDisplayX function result code.
|
||||
* {@link INPUT_SUCCESS} Obtains the X coordinate of the axis event success.\n
|
||||
* {@link INPUT_PARAMETER_ERROR} The axisEvent is NULL or the displayX is NULL.\n
|
||||
* @syscap SystemCapability.MultimodalInput.Input.Core
|
||||
* @since 12
|
||||
*/
|
||||
Input_Result OH_Input_GetAxisEventDisplayX(const Input_AxisEvent* axisEvent, float* displayX);
|
||||
|
||||
/**
|
||||
* @brief Sets the Y coordinate of an axis event.
|
||||
*
|
||||
* @param axisEvent Axis event object. For details, see {@Link Input_AxisEvent}.
|
||||
* @param displayY Y coordinate of the axis event.
|
||||
* @return OH_Input_SetAxisEventDisplayY function result code.
|
||||
* {@link INPUT_SUCCESS} Sets the Y coordinate of the axis event success.\n
|
||||
* {@link INPUT_PARAMETER_ERROR} The axisEvent is NULL.\n
|
||||
* @syscap SystemCapability.MultimodalInput.Input.Core
|
||||
* @since 12
|
||||
*/
|
||||
Input_Result OH_Input_SetAxisEventDisplayY(Input_AxisEvent* axisEvent, float displayY);
|
||||
|
||||
/**
|
||||
* @brief Obtains the Y coordinate of an axis event.
|
||||
*
|
||||
* @param axisEvent Axis event object. For details, see {@Link Input_AxisEvent}.
|
||||
* @param displayY Y coordinate of the axis event.
|
||||
* @return OH_Input_GetAxisEventDisplayY function result code.
|
||||
* {@link INPUT_SUCCESS} Obtains the Y coordinate of the axis event success.\n
|
||||
* {@link INPUT_PARAMETER_ERROR} The axisEvent is NULL or the displayY is NULL.\n
|
||||
* @syscap SystemCapability.MultimodalInput.Input.Core
|
||||
* @since 12
|
||||
*/
|
||||
Input_Result OH_Input_GetAxisEventDisplayY(const Input_AxisEvent* axisEvent, float* displayY);
|
||||
|
||||
/**
|
||||
* @brief Sets the axis value of the axis type specified by the axis event.
|
||||
*
|
||||
* @param axisEvent Axis event object. For details, see {@Link Input_AxisEvent}.
|
||||
* @param axisType Axis type. The values are defined in {@link InputEvent_AxisType}.
|
||||
* @param axisValue Axis value.
|
||||
* @return OH_Input_SetAxisEventAxisValue function result code.
|
||||
* {@link INPUT_SUCCESS} Sets the axis value of the axis event success.\n
|
||||
* {@link INPUT_PARAMETER_ERROR} The axisEvent is NULL.\n
|
||||
* @syscap SystemCapability.MultimodalInput.Input.Core
|
||||
* @since 12
|
||||
*/
|
||||
Input_Result OH_Input_SetAxisEventAxisValue(Input_AxisEvent* axisEvent,
|
||||
InputEvent_AxisType axisType, double axisValue);
|
||||
|
||||
/**
|
||||
* @brief Obtains the axis value for the specified axis type of the axis event.
|
||||
*
|
||||
* @param axisEvent Axis event object. For details, see {@Link Input_AxisEvent}.
|
||||
* @param axisType Axis type. The values are defined in {@link InputEvent_AxisType}.
|
||||
* @param axisValue Axis value.
|
||||
* @return OH_Input_GetAxisEventAxisValue function result code.
|
||||
* {@link INPUT_SUCCESS} Obtains the axis value of the axis event success.\n
|
||||
* {@link INPUT_PARAMETER_ERROR} The axisEvent is NULL or the axisValue is NULL,
|
||||
* or the axisType not found in the axisEvent.\n
|
||||
* @syscap SystemCapability.MultimodalInput.Input.Core
|
||||
* @since 12
|
||||
*/
|
||||
Input_Result OH_Input_GetAxisEventAxisValue(const Input_AxisEvent* axisEvent,
|
||||
InputEvent_AxisType axisType, double* axisValue);
|
||||
|
||||
/**
|
||||
* @brief Sets the time when an axis event occurs.
|
||||
*
|
||||
* @param axisEvent Axis event object. For details, see {@Link Input_AxisEvent}.
|
||||
* @param actionTime Time when an axis event occurs.
|
||||
* @return OH_Input_SetAxisEventActionTime function result code.
|
||||
* {@link INPUT_SUCCESS} Sets the time when an axis event occurs success.\n
|
||||
* {@link INPUT_PARAMETER_ERROR} The axisEvent is NULL.\n
|
||||
* @syscap SystemCapability.MultimodalInput.Input.Core
|
||||
* @since 12
|
||||
*/
|
||||
Input_Result OH_Input_SetAxisEventActionTime(Input_AxisEvent* axisEvent, int64_t actionTime);
|
||||
|
||||
/**
|
||||
* @brief Obtains the time when an axis event occurs.
|
||||
*
|
||||
* @param axisEvent Axis event object. For details, see {@Link Input_AxisEvent}.
|
||||
* @param actionTime Time when an axis event occurs.
|
||||
* @return OH_Input_GetAxisEventActionTime function result code.
|
||||
* {@link INPUT_SUCCESS} Obtains the time when an axis event occurs success.\n
|
||||
* {@link INPUT_PARAMETER_ERROR} The axisEvent is NULL or the actionTime is NULL.\n
|
||||
* @syscap SystemCapability.MultimodalInput.Input.Core
|
||||
* @since 12
|
||||
*/
|
||||
Input_Result OH_Input_GetAxisEventActionTime(const Input_AxisEvent* axisEvent, int64_t* actionTime);
|
||||
|
||||
/**
|
||||
* @brief Sets the axis event type.
|
||||
*
|
||||
* @param axisEvent Axis event object. For details, see {@Link Input_AxisEvent}.
|
||||
* @param axisEventType Axis event type. The values are defined in {@link InputEvent_AxisEventType}.
|
||||
* @return OH_Input_SetAxisEventType function result code.
|
||||
* {@link INPUT_SUCCESS} Sets the axis event type success.\n
|
||||
* {@link INPUT_PARAMETER_ERROR} The axisEvent is NULL.\n
|
||||
* @syscap SystemCapability.MultimodalInput.Input.Core
|
||||
* @since 12
|
||||
*/
|
||||
Input_Result OH_Input_SetAxisEventType(Input_AxisEvent* axisEvent, InputEvent_AxisEventType axisEventType);
|
||||
|
||||
/**
|
||||
* @brief Obtains the axis event type.
|
||||
*
|
||||
* @param axisEvent Axis event object.
|
||||
* @param axisEventType Axis event type. The values are defined in {@link InputEvent_AxisEventType}.
|
||||
* @return OH_Input_GetAxisEventType function result code.
|
||||
* {@link INPUT_SUCCESS} Obtains the axis event type success.\n
|
||||
* {@Link INPUT_PARAMETER_ERROR} The axisEvent is NULL or the axisEventType is NULL.\n
|
||||
* @syscap SystemCapability.MultimodalInput.Input.Core
|
||||
* @since 12
|
||||
*/
|
||||
Input_Result OH_Input_GetAxisEventType(const Input_AxisEvent* axisEvent, InputEvent_AxisEventType* axisEventType);
|
||||
|
||||
/**
|
||||
* @brief Sets the axis event source type.
|
||||
*
|
||||
* @param axisEvent Axis event object.
|
||||
* @param sourceType Axis event source type. The values are defined in {@link InputEvent_SourceType}.
|
||||
* @return OH_Input_SetAxisEventSourceType function result code.
|
||||
* {@link INPUT_SUCCESS} Sets the axis event source type success.\n
|
||||
* {@link INPUT_PARAMETER_ERROR} The axisEvent is NULL.\n
|
||||
* @syscap SystemCapability.MultimodalInput.Input.Core
|
||||
* @since 12
|
||||
*/
|
||||
Input_Result OH_Input_SetAxisEventSourceType(Input_AxisEvent* axisEvent, InputEvent_SourceType sourceType);
|
||||
|
||||
/**
|
||||
* @brief Obtains the axis event source type.
|
||||
*
|
||||
* @param axisEvent Axis event object.
|
||||
* @param axisEventType Axis event source type. The values are defined in {@link InputEvent_SourceType}.
|
||||
* @return OH_Input_GetAxisEventSourceType function result code.
|
||||
* {@link INPUT_SUCCESS} Obtains the axis event source type success.\n
|
||||
* {@link INPUT_PARAMETER_ERROR} The axisEvent is NULL or the sourceType is NULL.\n
|
||||
* @syscap SystemCapability.MultimodalInput.Input.Core
|
||||
* @since 12
|
||||
*/
|
||||
Input_Result OH_Input_GetAxisEventSourceType(const Input_AxisEvent* axisEvent, InputEvent_SourceType* sourceType);
|
||||
|
||||
/**
|
||||
* @brief Adds a listener of key events.
|
||||
*
|
||||
* @permission ohos.permission.INPUT_MONITORING
|
||||
* @param callback - Callback used to receive key events.
|
||||
* @return OH_Input_AddKeyEventMonitor function result code.
|
||||
* {@link INPUT_SUCCESS} Adds a listener of key events success.\n
|
||||
* {@link INPUT_PERMISSION_DENIED} Permission verification failed.\n
|
||||
* {@link INPUT_PARAMETER_ERROR} The callback is NULL.\n
|
||||
* {@link INPUT_SERVICE_EXCEPTION} Failed to add the monitor because the service is exception.\n
|
||||
* @syscap SystemCapability.MultimodalInput.Input.Core
|
||||
* @since 12
|
||||
*/
|
||||
Input_Result OH_Input_AddKeyEventMonitor(Input_KeyEventCallback callback);
|
||||
|
||||
/**
|
||||
* @brief Adds a listener for mouse events, including mouse click and movement events,
|
||||
* but not scroll wheel events. Scroll wheel events are axis events.
|
||||
*
|
||||
* @permission ohos.permission.INPUT_MONITORING
|
||||
* @param callback - Callback used to receive mouse events.
|
||||
* @return OH_Input_AddMouseEventMonitor function result code.
|
||||
* {@link INPUT_SUCCESS} Adds a listener of mouse events success.\n
|
||||
* {@link INPUT_PERMISSION_DENIED} Permission verification failed.\n
|
||||
* {@link INPUT_PARAMETER_ERROR} The callback is NULL.\n
|
||||
* {@link INPUT_SERVICE_EXCEPTION} Failed to add the monitor because the service is exception.\n
|
||||
* @syscap SystemCapability.MultimodalInput.Input.Core
|
||||
* @since 12
|
||||
*/
|
||||
Input_Result OH_Input_AddMouseEventMonitor(Input_MouseEventCallback callback);
|
||||
|
||||
/**
|
||||
* @brief Add a listener for touch events.
|
||||
*
|
||||
* @permission ohos.permission.INPUT_MONITORING
|
||||
* @param callback - Callback used to receive touch events.
|
||||
* @return OH_Input_AddTouchEventMonitor function result code.
|
||||
* {@link INPUT_SUCCESS} Adds a listener of touch events success.\n
|
||||
* {@link INPUT_PERMISSION_DENIED} Permission verification failed.\n
|
||||
* {@link INPUT_PARAMETER_ERROR} The callback is NULL.\n
|
||||
* {@link INPUT_SERVICE_EXCEPTION} Failed to add the monitor because the service is exception.\n
|
||||
* @syscap SystemCapability.MultimodalInput.Input.Core
|
||||
* @since 12
|
||||
*/
|
||||
Input_Result OH_Input_AddTouchEventMonitor(Input_TouchEventCallback callback);
|
||||
|
||||
/**
|
||||
* @brief Adds a listener for all types of axis events.
|
||||
* The axis event types are defined in {@Link InputEvent_AxisEventType}.
|
||||
*
|
||||
* @permission ohos.permission.INPUT_MONITORING
|
||||
* @param callback - Callback used to receive axis events.
|
||||
* @return OH_Input_AddAxisEventMonitorForAll function result code.
|
||||
* {@link INPUT_SUCCESS} Adds a listener for all types of axis events success.\n
|
||||
* {@link INPUT_PERMISSION_DENIED} Permission verification failed.\n
|
||||
* {@link INPUT_PARAMETER_ERROR} The callback is NULL.\n
|
||||
* {@link INPUT_SERVICE_EXCEPTION} Failed to add the monitor because the service is exception.\n
|
||||
* @syscap SystemCapability.MultimodalInput.Input.Core
|
||||
* @since 12
|
||||
*/
|
||||
Input_Result OH_Input_AddAxisEventMonitorForAll(Input_AxisEventCallback callback);
|
||||
|
||||
/**
|
||||
* @brief Adds a listener for the specified type of axis events.
|
||||
*
|
||||
* @permission ohos.permission.INPUT_MONITORING
|
||||
* @param axisEventType - Axis event type. The values are defined in {@Link InputEvent_AxisEventType}.
|
||||
* @param callback - Callback used to receive the specified type of axis events.
|
||||
* @return OH_Input_AddAxisEventMonitor function result code.
|
||||
* {@link INPUT_SUCCESS} Adds a listener for the specified types of axis events success.\n
|
||||
* {@link INPUT_PERMISSION_DENIED} Permission verification failed.\n
|
||||
* {@link INPUT_PARAMETER_ERROR} The callback is NULL.\n
|
||||
* {@link INPUT_SERVICE_EXCEPTION} Failed to add the monitor because the service is exception.\n
|
||||
* @syscap SystemCapability.MultimodalInput.Input.Core
|
||||
* @since 12
|
||||
*/
|
||||
Input_Result OH_Input_AddAxisEventMonitor(InputEvent_AxisEventType axisEventType, Input_AxisEventCallback callback);
|
||||
|
||||
/**
|
||||
* @brief Removes a key event listener.
|
||||
*
|
||||
* @permission ohos.permission.INPUT_MONITORING
|
||||
* @param callback - Callback for the key event listener.
|
||||
* @return OH_Input_RemoveKeyEventMonitor function result code.
|
||||
* {@link INPUT_SUCCESS} Removes a key event listener success.\n
|
||||
* {@link INPUT_PERMISSION_DENIED} Permission verification failed.\n
|
||||
* {@link INPUT_PARAMETER_ERROR} The callback is NULL or has not been added.\n
|
||||
* {@link INPUT_SERVICE_EXCEPTION} Fail to remove the monitor because the service is exception.\n
|
||||
* @syscap SystemCapability.MultimodalInput.Input.Core
|
||||
* @since 12
|
||||
*/
|
||||
Input_Result OH_Input_RemoveKeyEventMonitor(Input_KeyEventCallback callback);
|
||||
|
||||
/**
|
||||
* @brief Removes a mouse event listener.
|
||||
*
|
||||
* @permission ohos.permission.INPUT_MONITORING
|
||||
* @param callback - Callback for the mouse event listener.
|
||||
* @return OH_Input_RemoveMouseEventMonitor function result code.
|
||||
* {@link INPUT_SUCCESS} Removes a mouse event listener success.\n
|
||||
* {@link INPUT_PERMISSION_DENIED} Permission verification failed.\n
|
||||
* {@link INPUT_PARAMETER_ERROR} The callback is NULL or has not been added.\n
|
||||
* {@link INPUT_SERVICE_EXCEPTION} Fail to remove the monitor because the service is exception.\n
|
||||
* @syscap SystemCapability.MultimodalInput.Input.Core
|
||||
* @since 12
|
||||
*/
|
||||
Input_Result OH_Input_RemoveMouseEventMonitor(Input_MouseEventCallback callback);
|
||||
|
||||
/**
|
||||
* @brief Removes a touch event listener.
|
||||
*
|
||||
* @permission ohos.permission.INPUT_MONITORING
|
||||
* @param callback - Callback for the touch event listener.
|
||||
* @return OH_Input_RemoveTouchEventMonitor function result code.
|
||||
* {@link INPUT_SUCCESS} Removes a touch event listener success.\n
|
||||
* {@link INPUT_PERMISSION_DENIED} Permission verification failed.\n
|
||||
* {@link INPUT_PARAMETER_ERROR} The callback is NULL or has not been added.\n
|
||||
* {@link INPUT_SERVICE_EXCEPTION} Fail to remove the monitor because the service is exception.\n
|
||||
* @syscap SystemCapability.MultimodalInput.Input.Core
|
||||
* @since 12
|
||||
*/
|
||||
Input_Result OH_Input_RemoveTouchEventMonitor(Input_TouchEventCallback callback);
|
||||
|
||||
/**
|
||||
* @brief Removes the listener for all types of axis events.
|
||||
*
|
||||
* @permission ohos.permission.INPUT_MONITORING
|
||||
* @param callback - Callback for the listener used to listen for all types of axis events.
|
||||
* @return OH_Input_RemoveAxisEventMonitorForAll function result code.
|
||||
* {@link INPUT_SUCCESS} Removes the listener for all types of axis events success.\n
|
||||
* {@link INPUT_PERMISSION_DENIED} Permission verification failed.\n
|
||||
* {@link INPUT_PARAMETER_ERROR} The callback is NULL or has not been added.\n
|
||||
* {@link INPUT_SERVICE_EXCEPTION} Fail to remove the monitor because the service is exception.\n
|
||||
* @syscap SystemCapability.MultimodalInput.Input.Core
|
||||
* @since 12
|
||||
*/
|
||||
Input_Result OH_Input_RemoveAxisEventMonitorForAll(Input_AxisEventCallback callback);
|
||||
|
||||
/**
|
||||
* @brief Removes the listener for the specified type of axis events.
|
||||
*
|
||||
* @permission ohos.permission.INPUT_MONITORING
|
||||
* @param axisEventType - Axis event type. The axis event type is defined in {@Link InputEvent_AxisEventType}.
|
||||
* @param callback - Callback for the listener used to listen for the specified type of axis events.
|
||||
* @return OH_Input_RemoveAxisEventMonitor function result code.
|
||||
* {@link INPUT_SUCCESS} Removes the listener for the specified type of axis events success.\n
|
||||
* {@link INPUT_PERMISSION_DENIED} Permission verification failed.\n
|
||||
* {@link INPUT_PARAMETER_ERROR} The callback is NULL or has not been added.\n
|
||||
* {@link INPUT_SERVICE_EXCEPTION} Fail to remove the monitor because the service is exception.\n
|
||||
* @syscap SystemCapability.MultimodalInput.Input.Core
|
||||
* @since 12
|
||||
*/
|
||||
Input_Result OH_Input_RemoveAxisEventMonitor(InputEvent_AxisEventType axisEventType, Input_AxisEventCallback callback);
|
||||
|
||||
/**
|
||||
* @brief Adds a key event interceptor. If multiple interceptors are added, only the first one takes effect.
|
||||
*
|
||||
* @permission ohos.permission.INTERCEPT_INPUT_EVENT
|
||||
* @param callback - Callback used to receive key events.
|
||||
* @param option - Options for event interception. If **null** is passed, the default value is used.
|
||||
* @return OH_Input_AddKeyEventInterceptor function result code.
|
||||
* {@link INPUT_SUCCESS} Adds a key event interceptor success.\n
|
||||
* {@link INPUT_PERMISSION_DENIED} Permission verification failed.\n
|
||||
* {@link INPUT_PARAMETER_ERROR} The callback is NULL.\n
|
||||
* {@link INPUT_REPEAT_INTERCEPTOR} Interceptor repeatedly created for an application.\n
|
||||
* {@link INPUT_SERVICE_EXCEPTION} Failed to add the interceptor because the service is exception.\n
|
||||
* @syscap SystemCapability.MultimodalInput.Input.Core
|
||||
* @since 12
|
||||
*/
|
||||
Input_Result OH_Input_AddKeyEventInterceptor(Input_KeyEventCallback callback, Input_InterceptorOptions *option);
|
||||
|
||||
/**
|
||||
* @brief Adds an interceptor for input events, including mouse, touch, and axis events.
|
||||
* If multiple interceptors are added, only the first one takes effect.
|
||||
*
|
||||
* @permission ohos.permission.INTERCEPT_INPUT_EVENT
|
||||
* @param callback - Pointer to the structure of the callback for the input event interceptor.
|
||||
* For details, see {@Link Input_InterceptorEventCallback}.
|
||||
* @param option - Options for event interception. If **null** is passed, the default value is used.
|
||||
* @return OH_Input_AddInputEventInterceptor function result code.
|
||||
* {@link INPUT_SUCCESS} Adds an interceptor for input events success.\n
|
||||
* {@link INPUT_PERMISSION_DENIED} Permission verification failed.\n
|
||||
* {@link INPUT_PARAMETER_ERROR} The callback is NULL.\n
|
||||
* {@link INPUT_REPEAT_INTERCEPTOR} Interceptor repeatedly created for an application.\n
|
||||
* {@link INPUT_SERVICE_EXCEPTION} Failed to add the interceptor because the service is exception.\n
|
||||
* @syscap SystemCapability.MultimodalInput.Input.Core
|
||||
* @since 12
|
||||
*/
|
||||
Input_Result OH_Input_AddInputEventInterceptor(Input_InterceptorEventCallback *callback,
|
||||
Input_InterceptorOptions *option);
|
||||
|
||||
/**
|
||||
* @brief Removes a key event interceptor.
|
||||
*
|
||||
* @permission ohos.permission.INTERCEPT_INPUT_EVENT
|
||||
* @return OH_Input_RemoveKeyEventInterceptor function result code.
|
||||
* {@link INPUT_SUCCESS}Removes a key event interceptor success.\n
|
||||
* {@link INPUT_PERMISSION_DENIED} Permission verification failed.\n
|
||||
* {@link INPUT_SERVICE_EXCEPTION} Failed to remove the interceptor because the service is exception.\n
|
||||
* @syscap SystemCapability.MultimodalInput.Input.Core
|
||||
* @since 12
|
||||
*/
|
||||
Input_Result OH_Input_RemoveKeyEventInterceptor();
|
||||
|
||||
/**
|
||||
* @brief Removes an interceptor for input events, including mouse, touch, and axis events.
|
||||
*
|
||||
* @permission ohos.permission.INTERCEPT_INPUT_EVENT
|
||||
* @return OH_Input_RemoveInputEventInterceptor function result code.
|
||||
* {@link INPUT_SUCCESS} Removes an interceptor for input events success.\n
|
||||
* {@link INPUT_PERMISSION_DENIED} Permission verification failed.\n
|
||||
* {@link INPUT_SERVICE_EXCEPTION} Failed to remove the interceptor because the service is exception.\n
|
||||
* @syscap SystemCapability.MultimodalInput.Input.Core
|
||||
* @since 12
|
||||
*/
|
||||
Input_Result OH_Input_RemoveInputEventInterceptor();
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
@ -194,5 +194,125 @@
|
||||
{
|
||||
"first_introduced": "12",
|
||||
"name": "OH_Input_CancelInjection"
|
||||
},
|
||||
{
|
||||
"first_introduced": "12",
|
||||
"name": "OH_Input_CreateAxisEvent"
|
||||
},
|
||||
{
|
||||
"first_introduced": "12",
|
||||
"name": "OH_Input_DestroyAxisEvent"
|
||||
},
|
||||
{
|
||||
"first_introduced": "12",
|
||||
"name": "OH_Input_SetAxisEventAction"
|
||||
},
|
||||
{
|
||||
"first_introduced": "12",
|
||||
"name": "OH_Input_GetAxisEventAction"
|
||||
},
|
||||
{
|
||||
"first_introduced": "12",
|
||||
"name": "OH_Input_SetAxisEventDisplayX"
|
||||
},
|
||||
{
|
||||
"first_introduced": "12",
|
||||
"name": "OH_Input_GetAxisEventDisplayX"
|
||||
},
|
||||
{
|
||||
"first_introduced": "12",
|
||||
"name": "OH_Input_SetAxisEventDisplayY"
|
||||
},
|
||||
{
|
||||
"first_introduced": "12",
|
||||
"name": "OH_Input_GetAxisEventDisplayY"
|
||||
},
|
||||
{
|
||||
"first_introduced": "12",
|
||||
"name": "OH_Input_SetAxisEventAxisValue"
|
||||
},
|
||||
{
|
||||
"first_introduced": "12",
|
||||
"name": "OH_Input_GetAxisEventAxisValue"
|
||||
},
|
||||
{
|
||||
"first_introduced": "12",
|
||||
"name": "OH_Input_SetAxisEventActionTime"
|
||||
},
|
||||
{
|
||||
"first_introduced": "12",
|
||||
"name": "OH_Input_GetAxisEventActionTime"
|
||||
},
|
||||
{
|
||||
"first_introduced": "12",
|
||||
"name": "OH_Input_SetAxisEventType"
|
||||
},
|
||||
{
|
||||
"first_introduced": "12",
|
||||
"name": "OH_Input_GetAxisEventType"
|
||||
},
|
||||
{
|
||||
"first_introduced": "12",
|
||||
"name": "OH_Input_SetAxisEventSourceType"
|
||||
},
|
||||
{
|
||||
"first_introduced": "12",
|
||||
"name": "OH_Input_GetAxisEventSourceType"
|
||||
},
|
||||
{
|
||||
"first_introduced": "12",
|
||||
"name": "OH_Input_AddKeyEventMonitor"
|
||||
},
|
||||
{
|
||||
"first_introduced": "12",
|
||||
"name": "OH_Input_AddMouseEventMonitor"
|
||||
},
|
||||
{
|
||||
"first_introduced": "12",
|
||||
"name": "OH_Input_AddTouchEventMonitor"
|
||||
},
|
||||
{
|
||||
"first_introduced": "12",
|
||||
"name": "OH_Input_AddAxisEventMonitor"
|
||||
},
|
||||
{
|
||||
"first_introduced": "12",
|
||||
"name": "OH_Input_AddAxisEventMonitorForAll"
|
||||
},
|
||||
{
|
||||
"first_introduced": "12",
|
||||
"name": "OH_Input_RemoveKeyEventMonitor"
|
||||
},
|
||||
{
|
||||
"first_introduced": "12",
|
||||
"name": "OH_Input_RemoveMouseEventMonitor"
|
||||
},
|
||||
{
|
||||
"first_introduced": "12",
|
||||
"name": "OH_Input_RemoveTouchEventMonitor"
|
||||
},
|
||||
{
|
||||
"first_introduced": "12",
|
||||
"name": "OH_Input_RemoveAxisEventMonitor"
|
||||
},
|
||||
{
|
||||
"first_introduced": "12",
|
||||
"name": "OH_Input_RemoveAxisEventMonitorForAll"
|
||||
},
|
||||
{
|
||||
"first_introduced": "12",
|
||||
"name": "OH_Input_AddKeyEventInterceptor"
|
||||
},
|
||||
{
|
||||
"first_introduced": "12",
|
||||
"name": "OH_Input_AddInputEventInterceptor"
|
||||
},
|
||||
{
|
||||
"first_introduced": "12",
|
||||
"name": "OH_Input_RemoveKeyEventInterceptor"
|
||||
},
|
||||
{
|
||||
"first_introduced": "12",
|
||||
"name": "OH_Input_RemoveInputEventInterceptor"
|
||||
}
|
||||
]
|
Loading…
Reference in New Issue
Block a user