Skipping Rotary Selection of Keyboard Widget

Description

How do I skip the step of selecting and clicking on a keyboard widget before I can edit it?

What MCU/Processor/Board and compiler are you using?

STM32, STMCubeIDE

What LVGL version are you using?

8.3

What do you want to achieve?

I am using a keyboard widget with a button map. It is on a screen with several other selectable objects. We have a rotary encoder for changing selections and a button for clicks.

Right now, when I switch from another object selected to the keyboard widget, the selection box selects the entire buttons+text box. I then have to click to activate selection of individual buttons etc.
Ideally, we would like to skip the step of selecting the keyboard widget. If we rotate from the other object, it would select the first button or something similar.

Hoping to find out if this scenario is supported.

What have you tried so far?

Our attempts so far to control the selection, by capturing the event of selecting the whole box then forcing a false click into the keyboard, have not worked. Tracing through the driver has not been successful either.

Update:
I tried this

    else if (code == LV_EVENT_FOCUSED)
    {
        lv_group_t *p_group =
          static_cast<lv_group_t *>(lv_obj_get_group(mp_keyboard));
        lv_group_set_editing(p_group, true);
    }
    else if (code == LV_EVENT_KEY)
    {
        char param = *((char *)lv_event_get_param(p_event));
        auto buttonID = lv_btnmatrix_get_selected_btn(target);
        assert(buttonID != LV_BTNMATRIX_BTN_NONE);
        auto buttonText = lv_btnmatrix_get_btn_text(target, buttonID);
        assert(buttonText != NULL);

        if (param == LV_KEY_RIGHT && (buttonID == 0))
        {
            // We are moving right to the SAVE button, aka off the buttons, need
            // to reactivate Navigate mode by deactivating edit mode
            lv_group_t *p_group =
              static_cast<lv_group_t *>(lv_obj_get_group(mp_keyboard));
            lv_group_set_editing(p_group, false);
            lv_group_focus_prev(p_group);
        }
        else if (param == LV_KEY_LEFT &&
                 (strcmp(buttonText, sg_okButtonText) == 0))
        {
            // We are moving left to the first button, aka off the buttons,
            // need to reactivate Navigate mode by deactivating edit mode
            lv_group_t *p_group =
              static_cast<lv_group_t *>(lv_obj_get_group(mp_keyboard));
            lv_group_set_editing(p_group, false);
            lv_group_focus_prev(p_group);
        }
    }

Which does successfully change from Navigation mode to Edit mode when the keyboard is selected. It correctly navigates back from the first button to the previous object in the group, and does the same for the last button. What I am stuck on now, is that once I do that I can’t re-focus my keyboard. Other buttons work normally, but keyboard acts like it is disabled in the group and I can’t focus it. Any idea why?