fix modifierkeystatus

Signed-off-by: wangxiuxiu96 <wangxiuxiu9@huawei.com>
Change-Id: Ia97ae9213587985a4252c25d1fd375d9ed283d83
This commit is contained in:
wangxiuxiu96 2024-11-09 16:52:35 +08:00
parent 3fcb0ee523
commit b01bccf7cc
5 changed files with 473 additions and 153 deletions

View File

@ -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

View File

@ -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时keyboardShortcutonKeyEvent
* \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回调
*

View File

@ -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:

View File

@ -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 {