diff --git a/code/application/source/cardv/SrcCode/NVTUserCommand.h b/code/application/source/cardv/SrcCode/NVTUserCommand.h index 0dc590cf6..71201744a 100755 --- a/code/application/source/cardv/SrcCode/NVTUserCommand.h +++ b/code/application/source/cardv/SrcCode/NVTUserCommand.h @@ -103,6 +103,7 @@ typedef enum { #if defined(_UI_STYLE_LVGL_) NVTEVT_UPDATE_LVGL = 0x80000001, ///< Update lvgl task handel #endif + NVTEVT_MSG_SCREEN_KEY = 0x80000002, /* INSERT NEW EVENT HRER */ 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 b56488920..75c298193 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 @@ -73,6 +73,7 @@ static BOOL g_PhotoBgInitFileSys = FALSE; static BOOL g_SysStrg_Chg = FALSE; //#NT#2023/11/21#Eric - end +static void UIFlowPhoto_Key(lv_obj_t* obj, uint32_t key); static void sf_show_send_text(lv_obj_t* obj, const unsigned short status); static lv_obj_t *g_preview_info_msgbox = NULL; static lv_obj_t *g_preview_info_label = NULL; 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 9ba5948f5..33df57bce 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 @@ -2409,7 +2409,6 @@ static void UIFlowPlay_Key(lv_obj_t* obj, uint32_t key) static void UIFlowPlay_NVTMSG(lv_obj_t* obj, const LV_USER_EVENT_NVTMSG_DATA* msg) { - switch(msg->event) { case NVTEVT_CB_MOVIE_FINISH: @@ -2481,6 +2480,18 @@ static void UIFlowPlay_NVTMSG(lv_obj_t* obj, const LV_USER_EVENT_NVTMSG_DATA* ms break; } + case NVTEVT_MSG_SCREEN_KEY: + if (1 == msg->paramNum) + { + uint32_t key = msg->paramArray[0]; + if (SELECTION_SHOW_TURE == gSeletionShow) { + Option_play_Selection_Key(obj, key); + } else { + /* handle key event */ + UIFlowPlay_Key(obj, key); + } + } + break; default: break; 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 09c1522d5..3a10a4884 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 @@ -325,7 +325,11 @@ void message_box_wrnmsg_OnKey(lv_obj_t* msgbox, uint32_t key) { // static uint32_t key22 = LV_KEY_END; // key22 = key; - // lv_event_send(lv_obj_get_parent(UIFlowWrnMsg), LV_USER_EVENT_KEY_RELEASE, &key22); + if(lv_plugin_scr_count() >= 2){ + lv_event_send(lv_plugin_scr_by_index(lv_plugin_scr_count() - 2), LV_USER_EVENT_NVTMSG, gen_nvtmsg_data(NVTEVT_MSG_SCREEN_KEY, 1, key)); + }else{ + lv_event_send(lv_plugin_scr_act(), LV_USER_EVENT_NVTMSG, gen_nvtmsg_data(NVTEVT_MSG_SCREEN_KEY, 1, key)); + } return; switch(key) {