From 84bb6aeb8ffbb648e8b181b01dc7aa0c7d1e6a1d Mon Sep 17 00:00:00 2001 From: xiaojiazhu <258828110@qq.com> Date: Fri, 13 Oct 2023 13:54:09 +0800 Subject: [PATCH] Fixed key event in lvgl callback. --- .../cardv/SrcCode/System/SysInput_Exe.c | 14 ++++-- .../UIFlowMenuCommonItemEventCallback.c | 43 +++++++++---------- .../UIFlowMovie/UIFlowMovieEventCallback.c | 1 + .../UIFlowPhoto/UIFlowPhotoEventCallback.c | 2 + .../UIWnd/LVGL_SPORTCAM/UIFlowLVGL_SPORTCAM.h | 2 + 5 files changed, 36 insertions(+), 26 deletions(-) diff --git a/code/application/source/cardv/SrcCode/System/SysInput_Exe.c b/code/application/source/cardv/SrcCode/System/SysInput_Exe.c index 22b7a5f5b..6f27831b9 100755 --- a/code/application/source/cardv/SrcCode/System/SysInput_Exe.c +++ b/code/application/source/cardv/SrcCode/System/SysInput_Exe.c @@ -132,15 +132,21 @@ static KEY_OBJ g_KeyTable[] = { {FLGKEY_DOWN, KEY_PRESS, NVTEVT_KEY_NEXT, NVTEVT_KEY_PRESS, DEMOSOUND_SOUND_KEY_TONE}, {FLGKEY_DOWN, KEY_CONTINUE, NVTEVT_KEY_NEXT, NVTEVT_KEY_CONTINUE, 0}, {FLGKEY_DOWN, KEY_RELEASE, NVTEVT_KEY_NEXT, NVTEVT_KEY_RELEASE, 0}, - {FLGKEY_LEFT, KEY_PRESS, NVTEVT_KEY_MOVIE, NVTEVT_KEY_PRESS, DEMOSOUND_SOUND_KEY_TONE}, + // {FLGKEY_LEFT, KEY_PRESS, NVTEVT_KEY_MOVIE, NVTEVT_KEY_PRESS, DEMOSOUND_SOUND_KEY_TONE}, //{FLGKEY_LEFT, KEY_CONTINUE, NVTEVT_KEY_PREV, NVTEVT_KEY_CONTINUE, 0}, //{FLGKEY_LEFT, KEY_RELEASE, NVTEVT_KEY_PREV, NVTEVT_KEY_RELEASE, 0}, + {FLGKEY_LEFT, KEY_PRESS, NVTEVT_KEY_LEFT, NVTEVT_KEY_PRESS, DEMOSOUND_SOUND_KEY_TONE}, + {FLGKEY_LEFT, KEY_CONTINUE, NVTEVT_KEY_LEFT, NVTEVT_KEY_CONTINUE, 0}, + {FLGKEY_LEFT, KEY_RELEASE, NVTEVT_KEY_LEFT, NVTEVT_KEY_RELEASE, 0}, {FLGKEY_SHUTTER2, KEY_PRESS, NVTEVT_KEY_SHUTTER2, NVTEVT_KEY_PRESS, DEMOSOUND_SOUND_KEY_TONE}, {FLGKEY_SHUTTER2, KEY_CONTINUE, NVTEVT_KEY_SHUTTER2, NVTEVT_KEY_CONTINUE, 0}, {FLGKEY_SHUTTER2, KEY_RELEASE, NVTEVT_KEY_SHUTTER2, NVTEVT_KEY_RELEASE, 0}, - {FLGKEY_RIGHT, KEY_PRESS, NVTEVT_KEY_SELECT, NVTEVT_KEY_PRESS, DEMOSOUND_SOUND_KEY_TONE}, - {FLGKEY_RIGHT, KEY_CONTINUE, NVTEVT_KEY_SELECT, NVTEVT_KEY_CONTINUE, 0}, - {FLGKEY_RIGHT, KEY_RELEASE, NVTEVT_KEY_SELECT, NVTEVT_KEY_RELEASE, 0}, + // {FLGKEY_RIGHT, KEY_PRESS, NVTEVT_KEY_SELECT, NVTEVT_KEY_PRESS, DEMOSOUND_SOUND_KEY_TONE}, + // {FLGKEY_RIGHT, KEY_CONTINUE, NVTEVT_KEY_SELECT, NVTEVT_KEY_CONTINUE, 0}, + // {FLGKEY_RIGHT, KEY_RELEASE, NVTEVT_KEY_SELECT, NVTEVT_KEY_RELEASE, 0}, + {FLGKEY_RIGHT, KEY_PRESS, NVTEVT_KEY_RIGHT, NVTEVT_KEY_PRESS, DEMOSOUND_SOUND_KEY_TONE}, + {FLGKEY_RIGHT, KEY_CONTINUE, NVTEVT_KEY_RIGHT, NVTEVT_KEY_CONTINUE, 0}, + {FLGKEY_RIGHT, KEY_RELEASE, NVTEVT_KEY_RIGHT, NVTEVT_KEY_RELEASE, 0}, {FLGKEY_CUSTOM1, KEY_PRESS, NVTEVT_KEY_CUSTOM1, NVTEVT_KEY_PRESS, DEMOSOUND_SOUND_NONE}, {FLGKEY_CUSTOM1, KEY_RELEASE, NVTEVT_KEY_CUSTOM1, NVTEVT_KEY_RELEASE, 0}, {FLGKEY_DATAREADY, KEY_PRESS, NVTEVT_KEY_DATAREADY, NVTEVT_KEY_PRESS, DEMOSOUND_SOUND_NONE}, 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 a2d8c159c..efc1408d6 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 @@ -2,6 +2,7 @@ #include "PrjInc.h" #include "UIFlowLVGL/UIFlowLVGL.h" #include "UIApp/Network/UIAppNetwork.h" +#include "UIFlowLVGL_SPORTCAM.h" #include #define PAGE 6 @@ -543,39 +544,39 @@ static void UIFlowMenuCommonItem_ScrOpen(lv_obj_t* obj) static void UIFlowMenuCommonItem_Key(lv_obj_t* obj, uint32_t key) { - +printf(" wwwwwwwwwwwwwwwwww key = %d\n", key); switch(key) { - case LV_USER_KEY_NEXT: + case LV_USER_KEY_RIGHT: { - printf("=============== down.\n"); - MenuItem_OnNext(obj); - // MenuItem_OnDown(obj); + printf("=============== right.\n"); + MenuItem_OnSelected(obj); + break; + MenuItem_OnDown(obj); break; } - case LV_USER_KEY_PREV: + case LV_USER_KEY_LEFT: { - printf("=============== up.\n"); - MenuItem_OnPrev(obj); - // MenuItem_OnUp(obj); - break; - } - - case LV_USER_KEY_UP: - { - printf("=============== up.\n"); - // MenuItem_OnPrev(obj); + printf("=============== left.\n"); MenuItem_OnUp(obj); break; } - case LV_USER_KEY_DOWN: + case LV_USER_KEY_NEXT: + // case LV_USER_KEY_DOWN: { printf("=============== down.\n"); - // MenuItem_OnNext(obj); - MenuItem_OnDown(obj); + MenuItem_OnNext(obj); + break; + } + + case LV_USER_KEY_PREV: + // case LV_USER_KEY_UP: + { + printf("=============== up.\n"); + MenuItem_OnPrev(obj); break; } @@ -649,7 +650,6 @@ void container_main_menu_callback(lv_obj_t* obj, lv_event_t event) void UIFlowMenuCommonItemEventCallback(lv_obj_t* obj, lv_event_t event) { - printf("=================== event.\n", event); switch(event) { case LV_PLUGIN_EVENT_SCR_OPEN: @@ -683,14 +683,13 @@ void UIFlowMenuCommonItemEventCallback(lv_obj_t* obj, lv_event_t event) break; case LV_EVENT_CLICKED: - printf("ssssssssss LV_EVENT_CLICKED\n"); + printf("=================== menu press right, rec LV_EVENT_CLICKED\n"); MenuItem_OnSelected(obj); break; case LV_EVENT_KEY: { uint32_t* key = (uint32_t*)lv_event_get_data(); - printf("wwwwwwww LV_EVENT_KEY = %d\n", key); /* handle key event */ UIFlowMenuCommonItem_Key(obj, *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 a0d0757ee..8652b67ac 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 @@ -1187,6 +1187,7 @@ static void UIFlowMovie_Key(lv_obj_t* obj, uint32_t key) break; } + case LV_USER_KEY_RIGHT: case LV_USER_KEY_MENU: { UIFlowMovie_OnKeyMenu(obj); 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 d4f5a5952..db39421f1 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 @@ -1379,6 +1379,7 @@ static void UIFlowPhoto_Key(lv_obj_t* obj, uint32_t key) } case LV_USER_KEY_MENU: + case LV_USER_KEY_RIGHT: { UIFlowPhoto_OnKeyMenu(obj); break; @@ -1458,6 +1459,7 @@ void UIFlowPhotoEventCallback(lv_obj_t* obj, lv_event_t event) break; case LV_EVENT_CLICKED: + printf(" ============================== photo press right, rec LV_EVENT_CLICKED.\n"); UIFlowPhoto_OnKeyMenu(obj); break; diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL_SPORTCAM.h b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL_SPORTCAM.h index 164e64aca..f498558c8 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL_SPORTCAM.h +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL_SPORTCAM.h @@ -72,6 +72,8 @@ typedef enum { LV_USER_KEY_DOWN = LV_KEY_DOWN, LV_USER_KEY_UP = LV_KEY_UP, + LV_USER_KEY_LEFT = LV_KEY_LEFT, + LV_USER_KEY_RIGHT = LV_KEY_RIGHT, LV_USER_KEY_DEF_START = 128, LV_USER_KEY_SHUTTER1,