mirror of
https://gitee.com/openharmony/arkui_ace_engine
synced 2025-02-17 06:56:24 +00:00
fix modifierkeystatus
Signed-off-by: wangxiuxiu96 <wangxiuxiu9@huawei.com> Change-Id: Ia97ae9213587985a4252c25d1fd375d9ed283d83
This commit is contained in:
parent
3fcb0ee523
commit
b01bccf7cc
@ -23,29 +23,29 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
ArkUI_KeyEventType_E OH_ArkUI_KeyEvent_GetType(const ArkUI_UIInputEvent *event)
|
||||
ArkUI_KeyEventType OH_ArkUI_KeyEvent_GetType(const ArkUI_UIInputEvent *event)
|
||||
{
|
||||
if (!event) {
|
||||
return static_cast<ArkUI_KeyEventType_E>(-1);
|
||||
return static_cast<ArkUI_KeyEventType>(-1);
|
||||
}
|
||||
const auto* keyEvent = reinterpret_cast<ArkUIKeyEvent*>(event->inputEvent);
|
||||
if (!keyEvent) {
|
||||
return static_cast<ArkUI_KeyEventType_E>(-1);
|
||||
return static_cast<ArkUI_KeyEventType>(-1);
|
||||
}
|
||||
auto result = static_cast<ArkUI_KeyEventType_E>(keyEvent->type);
|
||||
auto result = static_cast<ArkUI_KeyEventType>(keyEvent->type);
|
||||
return result;
|
||||
}
|
||||
|
||||
ArkUI_KeyCode_E OH_ArkUI_KeyEvent_GetKeyCode(const ArkUI_UIInputEvent *event)
|
||||
ArkUI_KeyCode OH_ArkUI_KeyEvent_GetKeyCode(const ArkUI_UIInputEvent *event)
|
||||
{
|
||||
if (!event) {
|
||||
return static_cast<ArkUI_KeyCode_E>(-1);
|
||||
return static_cast<ArkUI_KeyCode>(-1);
|
||||
}
|
||||
const auto* keyEvent = reinterpret_cast<ArkUIKeyEvent*>(event->inputEvent);
|
||||
if (!keyEvent) {
|
||||
return static_cast<ArkUI_KeyCode_E>(-1);
|
||||
return static_cast<ArkUI_KeyCode>(-1);
|
||||
}
|
||||
auto result = static_cast<ArkUI_KeyCode_E>(keyEvent->keyCode);
|
||||
auto result = static_cast<ArkUI_KeyCode>(keyEvent->keyCode);
|
||||
return result;
|
||||
}
|
||||
|
||||
@ -61,16 +61,16 @@ const char* OH_ArkUI_KeyEvent_GetKeyText(const ArkUI_UIInputEvent *event)
|
||||
return keyEvent->keyText;
|
||||
}
|
||||
|
||||
ArkUI_KeySourceType_E OH_ArkUI_KeyEvent_GetKeySource(const ArkUI_UIInputEvent *event)
|
||||
ArkUI_KeySourceType OH_ArkUI_KeyEvent_GetKeySource(const ArkUI_UIInputEvent *event)
|
||||
{
|
||||
if (!event) {
|
||||
return static_cast<ArkUI_KeySourceType_E>(-1);
|
||||
return static_cast<ArkUI_KeySourceType>(-1);
|
||||
}
|
||||
const auto* keyEvent = reinterpret_cast<ArkUIKeyEvent*>(event->inputEvent);
|
||||
if (!keyEvent) {
|
||||
return static_cast<ArkUI_KeySourceType_E>(-1);
|
||||
return static_cast<ArkUI_KeySourceType>(-1);
|
||||
}
|
||||
auto result = static_cast<ArkUI_KeySourceType_E>(keyEvent->keySource);
|
||||
auto result = static_cast<ArkUI_KeySourceType>(keyEvent->keySource);
|
||||
return result;
|
||||
}
|
||||
|
||||
@ -128,25 +128,25 @@ void OH_ArkUI_KeyEvent_StopPropagation(const ArkUI_UIInputEvent *event, bool sto
|
||||
bool OH_ArkUI_KeyEvent_GetModifierKeyState(const ArkUI_UIInputEvent *event, uint32_t modifierKeys)
|
||||
{
|
||||
if (!event) {
|
||||
return ARKUI_ERROR_CODE_PARAM_INVALID;
|
||||
return false;
|
||||
}
|
||||
const auto* keyEvent = reinterpret_cast<ArkUIKeyEvent*>(event->inputEvent);
|
||||
if (!keyEvent) {
|
||||
return ARKUI_ERROR_CODE_PARAM_INVALID;
|
||||
return false;
|
||||
}
|
||||
return modifierKeys == keyEvent->getModifierKeyState;
|
||||
}
|
||||
|
||||
ArkUI_KeyIntension_E OH_ArkUI_KeyEvent_GetKeyIntensionCode(const ArkUI_UIInputEvent *event)
|
||||
ArkUI_KeyIntension OH_ArkUI_KeyEvent_GetKeyIntensionCode(const ArkUI_UIInputEvent *event)
|
||||
{
|
||||
if (!event) {
|
||||
return static_cast<ArkUI_KeyIntension_E>(-1);
|
||||
return static_cast<ArkUI_KeyIntension>(-1);
|
||||
}
|
||||
const auto* keyEvent = reinterpret_cast<ArkUIKeyEvent*>(event->inputEvent);
|
||||
if (!keyEvent) {
|
||||
return static_cast<ArkUI_KeyIntension_E>(-1);
|
||||
return static_cast<ArkUI_KeyIntension>(-1);
|
||||
}
|
||||
auto result = static_cast<ArkUI_KeyIntension_E>(keyEvent->intentionCode);
|
||||
auto result = static_cast<ArkUI_KeyIntension>(keyEvent->intentionCode);
|
||||
return result;
|
||||
}
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -5446,20 +5446,26 @@ typedef enum {
|
||||
*/
|
||||
NODE_ON_DRAG_END = 20,
|
||||
/**
|
||||
* @brief 绑定该方法的组件获焦后,按键动作触发该回调。
|
||||
* @brief Defines the event triggered when a key event occurs.
|
||||
*
|
||||
* 触发该事件的条件 :由外设键盘等设备与获焦窗口交互触发此回调。\n
|
||||
* 事件回调发生时,事件参数{@link ArkUI_NodeEvent}对象中的联合体类型为{@link ArkUI_NodeComponentEvent}。\n
|
||||
* The callback can be triggered during interactions with a focused window using an external keyboard or other input
|
||||
* device. \n
|
||||
* When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is
|
||||
* {@link ArkUI_NodeComponentEvent}. \n
|
||||
*/
|
||||
NODE_ON_KEY_EVENT = 21,
|
||||
/**
|
||||
* @brief 绑定该方法的组件获焦后,按键动作在响应输入法前优先触发该回调。
|
||||
* @brief Defines the event triggered before the input method responds to the key action.
|
||||
*
|
||||
* 该回调的返回值为true时,视作该按键事件已被消费,后续的事件回调(keyboardShortcut、输入法事件、onKeyEvent)会被拦截,不再触发。
|
||||
* 触发该事件的条件 :由外设键盘等设备与获焦窗口交互触发此回调。\n
|
||||
* 事件回调发生时,事件参数{@link ArkUI_NodeEvent}对象中的联合体类型为{@link ArkUI_NodeComponentEvent}。\n
|
||||
* If the return value of this callback is <b>true</b>, it is considered that the key event has been consumed, and
|
||||
* subsequent event callbacks (<b>keyboardShortcut</b>, input method events, <b>onKeyEvent</b>) will be intercepted
|
||||
* and no longer triggered.
|
||||
* The callback can be triggered during interactions with a focused window using an external keyboard or other input
|
||||
* device. \n
|
||||
* When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is
|
||||
* {@link ArkUI_NodeComponentEvent}. \n
|
||||
*/
|
||||
NODE_ON_KEY_PREIME = 22,
|
||||
NODE_ON_KEY_PRE_IME = 22,
|
||||
/**
|
||||
* @brief 文本设置TextDataDetectorConfig且识别成功时,触发onDetectResultUpdate回调。
|
||||
*
|
||||
|
@ -215,7 +215,7 @@ ArkUI_Int32 ConvertOriginEventType(ArkUI_NodeEventType type, int32_t nodeType)
|
||||
return ON_PRE_DRAG;
|
||||
case NODE_ON_KEY_EVENT:
|
||||
return ON_KEY_EVENT;
|
||||
case NODE_ON_KEY_PREIME:
|
||||
case NODE_ON_KEY_PRE_IME:
|
||||
return ON_KEY_PREIME;
|
||||
case NODE_CHECKBOX_EVENT_ON_CHANGE:
|
||||
return ON_CHECKBOX_CHANGE;
|
||||
@ -412,7 +412,7 @@ ArkUI_Int32 ConvertToNodeEventType(ArkUIEventSubKind type)
|
||||
case ON_KEY_EVENT:
|
||||
return NODE_ON_KEY_EVENT;
|
||||
case ON_KEY_PREIME:
|
||||
return NODE_ON_KEY_PREIME;
|
||||
return NODE_ON_KEY_PRE_IME;
|
||||
case ON_CHECKBOX_CHANGE:
|
||||
return NODE_CHECKBOX_EVENT_ON_CHANGE;
|
||||
case ON_SLIDER_CHANGE:
|
||||
|
@ -459,7 +459,7 @@ void HandleInnerNodeEvent(ArkUINodeEvent* innerEvent)
|
||||
uiEvent.eventTypeId = C_MOUSE_EVENT_ID;
|
||||
uiEvent.inputEvent = &(innerEvent->mouseEvent);
|
||||
event.origin = &uiEvent;
|
||||
} else if (eventType == NODE_ON_KEY_EVENT || eventType == NODE_ON_KEY_PREIME) {
|
||||
} else if (eventType == NODE_ON_KEY_EVENT || eventType == NODE_ON_KEY_PRE_IME) {
|
||||
uiEvent.inputEvent = &(innerEvent->keyEvent);
|
||||
event.origin = &uiEvent;
|
||||
} else {
|
||||
|
Loading…
x
Reference in New Issue
Block a user