From 9a7b7f8511ced4359990a5365e1f937010f8e7e2 Mon Sep 17 00:00:00 2001 From: Gabor Kiss-Vamosi Date: Sat, 19 Oct 2019 11:01:10 +0200 Subject: [PATCH] btnm, tabview: in LV_SIGNAL_FOCUS assume the last indev if not focused by the an indev --- src/lv_objx/lv_btnm.c | 6 ++++++ src/lv_objx/lv_tabview.c | 7 +++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/lv_objx/lv_btnm.c b/src/lv_objx/lv_btnm.c index 179213a60..8421d1197 100644 --- a/src/lv_objx/lv_btnm.c +++ b/src/lv_objx/lv_btnm.c @@ -855,6 +855,12 @@ static lv_res_t lv_btnm_signal(lv_obj_t * btnm, lv_signal_t sign, void * param) #if LV_USE_GROUP lv_indev_t * indev = lv_indev_get_act(); lv_indev_type_t indev_type = lv_indev_get_type(indev); + + /*If not focused by an input device assume the last input device*/ + if(indev_type == LV_INDEV_TYPE_NONE) { + indev_type = lv_indev_get_type(lv_indev_get_next(NULL)); + } + if(indev_type == LV_INDEV_TYPE_POINTER) { /*Select the clicked button*/ lv_point_t p1; diff --git a/src/lv_objx/lv_tabview.c b/src/lv_objx/lv_tabview.c index 3bd684d0a..19924b19b 100644 --- a/src/lv_objx/lv_tabview.c +++ b/src/lv_objx/lv_tabview.c @@ -750,9 +750,12 @@ static lv_res_t lv_tabview_signal(lv_obj_t * tabview, lv_signal_t sign, void * p } if(sign == LV_SIGNAL_FOCUS) { - - lv_indev_type_t indev_type = lv_indev_get_type(lv_indev_get_act()); + /*If not focused by an input device assume the last input device*/ + if(indev_type == LV_INDEV_TYPE_NONE) { + indev_type = lv_indev_get_type(lv_indev_get_next(NULL)); + } + /*With ENCODER select the first button only in edit mode*/ if(indev_type == LV_INDEV_TYPE_ENCODER) { #if LV_USE_GROUP