From 0798d69d7147480eae8de44317d60f33b3bfc833 Mon Sep 17 00:00:00 2001 From: xiaojiazhu <258828110@qq.com> Date: Mon, 30 Oct 2023 19:39:38 +0800 Subject: [PATCH] Fixed key release event bug. --- .../source/cardv/SrcCode/System/SysMain.c | 2 +- .../UIFlowMenuCommonConfirmEventCallback.c | 3 ++- .../UIFlowMenuCommonItemEventCallback.c | 3 ++- .../UIFlowMenuCommonOptionEventCallback.c | 3 ++- .../UIFlowMovie/UIFlowMovieEventCallback.c | 17 +++++++++-------- .../UIFlowPasswordEventCallback.c | 4 ++-- .../UIFlowPhoto/UIFlowPhotoEventCallback.c | 4 ++-- .../UIFlowPlay/UIFlowPlayEventCallback.c | 3 ++- .../UIFlowWrnMsg/UIFlowWrnMsgEventCallback.c | 3 ++- 9 files changed, 24 insertions(+), 18 deletions(-) diff --git a/code/application/source/cardv/SrcCode/System/SysMain.c b/code/application/source/cardv/SrcCode/System/SysMain.c index 3c7042340..8332a0bd0 100644 --- a/code/application/source/cardv/SrcCode/System/SysMain.c +++ b/code/application/source/cardv/SrcCode/System/SysMain.c @@ -618,7 +618,7 @@ void UserMainProc(void) lv_obj_t* focused = lv_group_get_focused(indev_keypad->group); if(focused) - lv_event_send(lv_plugin_scr_act(), LV_USER_EVENT_KEY_RELEASE, &nvt_user_key); + lv_event_send(focused, LV_USER_EVENT_KEY_RELEASE, &nvt_user_key); _lv_user_task_handler_unlock(); } diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonConfirm/UIFlowMenuCommonConfirmEventCallback.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonConfirm/UIFlowMenuCommonConfirmEventCallback.c index 1876a6a81..9649760fe 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonConfirm/UIFlowMenuCommonConfirmEventCallback.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonConfirm/UIFlowMenuCommonConfirmEventCallback.c @@ -406,7 +406,8 @@ void message_box_confirm_msg_event_callback(lv_obj_t* obj, lv_event_t event) break; } - case LV_EVENT_KEY: + // case LV_EVENT_KEY: + case LV_USER_EVENT_KEY_RELEASE: { uint32_t* key = (uint32_t*)lv_event_get_data(); diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/UIFlowMenuCommonItemEventCallback.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/UIFlowMenuCommonItemEventCallback.c index 5ee5c42a8..199e85b4d 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/UIFlowMenuCommonItemEventCallback.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/UIFlowMenuCommonItemEventCallback.c @@ -824,7 +824,8 @@ void UIFlowMenuCommonItemEventCallback(lv_obj_t* obj, lv_event_t event) LV_MenuItem_OnSelected(obj); break; - case LV_EVENT_KEY: + // case LV_EVENT_KEY: + case LV_USER_EVENT_KEY_RELEASE: { uint32_t* key = (uint32_t*)lv_event_get_data(); diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonOption/UIFlowMenuCommonOptionEventCallback.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonOption/UIFlowMenuCommonOptionEventCallback.c index c96e130cb..a55722374 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonOption/UIFlowMenuCommonOptionEventCallback.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonOption/UIFlowMenuCommonOptionEventCallback.c @@ -833,7 +833,8 @@ void UIFlowMenuCommonOptionEventCallback(lv_obj_t* obj, lv_event_t event) // LV_MenuOption_OnSelected(obj); // break; - case LV_EVENT_KEY: + // case LV_EVENT_KEY: + case LV_USER_EVENT_KEY_RELEASE: { uint32_t* key = (uint32_t*)lv_event_get_data(); printf("\033[33m[UIFlowMenuCommonOptionEventCallback]LV_EVENT_KEY key:%d\033[0m\n", *key); diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMovie/UIFlowMovieEventCallback.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMovie/UIFlowMovieEventCallback.c index 55bc72b26..da941445a 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMovie/UIFlowMovieEventCallback.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMovie/UIFlowMovieEventCallback.c @@ -1334,7 +1334,7 @@ static void UIFlowMovie_OnExeZoomOutStop(lv_obj_t* obj) return; } -static void UIFlowMovie_KeyRelease(lv_obj_t* obj, uint32_t key) +void UIFlowMovie_KeyRelease(lv_obj_t* obj, uint32_t key) { switch(key) { @@ -1499,7 +1499,8 @@ void UIFlowMovieEventCallback(lv_obj_t* obj, lv_event_t event) // UIFlowMovie_OnKeyMenu(obj); break; - case LV_EVENT_KEY: + // case LV_EVENT_KEY: + case LV_USER_EVENT_KEY_RELEASE: { uint32_t* key = (uint32_t*)lv_event_get_data(); @@ -1518,13 +1519,13 @@ void UIFlowMovieEventCallback(lv_obj_t* obj, lv_event_t event) break; } - case LV_USER_EVENT_KEY_RELEASE: - { - uint32_t* key = (uint32_t*)lv_event_get_data(); - UIFlowMovie_KeyRelease(obj, *key); + // case LV_USER_EVENT_KEY_RELEASE: + // { + // uint32_t* key = (uint32_t*)lv_event_get_data(); + // UIFlowMovie_KeyRelease(obj, *key); - break; - } + // break; + // } /* handle nvt event except key event */ case LV_USER_EVENT_NVTMSG: diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPassword/UIFlowPasswordEventCallback.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPassword/UIFlowPasswordEventCallback.c index 1185a4796..c6f0bae3a 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPassword/UIFlowPasswordEventCallback.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPassword/UIFlowPasswordEventCallback.c @@ -147,8 +147,8 @@ printf(" UIFlowPasswordEventCallback %d\n", event); case LV_EVENT_CLICKED: break; - /* any key(including enter key) state changed(pressed), it's recommended to handle enter key in LV_EVENT_CLICKED instead of here. */ - case LV_EVENT_KEY: + // case LV_EVENT_KEY: + case LV_USER_EVENT_KEY_RELEASE: { uint32_t* key = (uint32_t*)lv_event_get_data(); diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhotoEventCallback.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhotoEventCallback.c index 1d54cc6b0..b42ab92f2 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhotoEventCallback.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhotoEventCallback.c @@ -1560,8 +1560,8 @@ void UIFlowPhotoEventCallback(lv_obj_t* obj, lv_event_t event) UIFlowPhoto_OnKeyMenu(obj); break; - case LV_EVENT_KEY: - // case LV_USER_EVENT_KEY_RELEASE: + // case LV_EVENT_KEY: + case LV_USER_EVENT_KEY_RELEASE: { uint32_t* key = (uint32_t*)lv_event_get_data(); printf(" ===================================== 2222 release key = %d\n", *key); diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPlay/UIFlowPlayEventCallback.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPlay/UIFlowPlayEventCallback.c index 4c35ff6a2..b322b4291 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPlay/UIFlowPlayEventCallback.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPlay/UIFlowPlayEventCallback.c @@ -2041,7 +2041,8 @@ static void UIFlowPlayBtnEventCallback(lv_obj_t* obj, lv_event_t event) break; } - case LV_EVENT_KEY: + // case LV_EVENT_KEY: + case LV_USER_EVENT_KEY_RELEASE: { uint32_t* key = (uint32_t*)lv_event_get_data(); diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowWrnMsg/UIFlowWrnMsgEventCallback.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowWrnMsg/UIFlowWrnMsgEventCallback.c index ea73483ff..32ebab6a2 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowWrnMsg/UIFlowWrnMsgEventCallback.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowWrnMsg/UIFlowWrnMsgEventCallback.c @@ -256,7 +256,8 @@ void message_box_wrnmsg_event_callback(lv_obj_t* obj, lv_event_t event) printf("[%s]event:%d\n", __FUNCTION__, event); switch (event) { - case LV_EVENT_KEY: + // case LV_EVENT_KEY: + case LV_USER_EVENT_KEY_RELEASE: { uint32_t* key = (uint32_t*)lv_event_get_data();