# lv_group.h (/api/public/core/lv_group_h)



<RelatedHeaders name="lv_group_private.h" isPrivate="false" />

<ApiSummary functions="30" enums="2" typedefs="2" />

Functions [#functions]

<ApiTabs items="[&#x22;Setters (8)&#x22;,&#x22;Getters (10)&#x22;,&#x22;Other (12)&#x22;]">
  <ApiTab value="Setters (8)">
    <ApiMember kind="function" name="lv_group_set_default" file="public/core/lv_group.h" line="71" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/core/lv_group.h#L71">
      lv_group_set_default [#lv_group_set_default]

      Set default group. New Widgets will be added to this group if it's enabled in their class with `add_to_def_group = true`.

      ```c title=" " lineNumbers=1
      void lv_group_set_default(lv_group_t *group)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name    | Type                                                 | Description                                                               |
      | ------- | ---------------------------------------------------- | ------------------------------------------------------------------------- |
      | `group` | <ApiLink name="lv_group_t" display="lv_group_t *" /> | pointer to a group **May** be `NULL`.. When NULL no default group is set. |
    </ApiMember>

    <ApiMember kind="function" name="lv_group_set_focus_cb" file="public/core/lv_group.h" line="143" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/core/lv_group.h#L143">
      lv_group_set_focus_cb [#lv_group_set_focus_cb]

      Set a function for a group which will be called when a new Widget has focus.

      ```c title=" " lineNumbers=1
      void lv_group_set_focus_cb(lv_group_t *group, lv_group_focus_cb_t focus_cb)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name       | Type                                                 | Description                              |
      | ---------- | ---------------------------------------------------- | ---------------------------------------- |
      | `group`    | <ApiLink name="lv_group_t" display="lv_group_t *" /> | pointer to a group                       |
      | `focus_cb` | <ApiLink name="lv_group_focus_cb_t" />               | the call back function or NULL if unused |
    </ApiMember>

    <ApiMember kind="function" name="lv_group_set_edge_cb" file="public/core/lv_group.h" line="150" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/core/lv_group.h#L150">
      lv_group_set_edge_cb [#lv_group_set_edge_cb]

      Set a function for a group which will be called when a focus edge is reached

      ```c title=" " lineNumbers=1
      void lv_group_set_edge_cb(lv_group_t *group, lv_group_edge_cb_t edge_cb)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name      | Type                                                 | Description                              |
      | --------- | ---------------------------------------------------- | ---------------------------------------- |
      | `group`   | <ApiLink name="lv_group_t" display="lv_group_t *" /> | pointer to a group                       |
      | `edge_cb` | <ApiLink name="lv_group_edge_cb_t" />                | the call back function or NULL if unused |
    </ApiMember>

    <ApiMember kind="function" name="lv_group_set_refocus_policy" file="public/core/lv_group.h" line="158" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/core/lv_group.h#L158">
      lv_group_set_refocus_policy [#lv_group_set_refocus_policy]

      Set whether the next or previous Widget in a group gets focus when Widget that has focus is deleted.

      ```c title=" " lineNumbers=1
      void lv_group_set_refocus_policy(lv_group_t *group, lv_group_refocus_policy_t policy)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name     | Type                                                 | Description             |
      | -------- | ---------------------------------------------------- | ----------------------- |
      | `group`  | <ApiLink name="lv_group_t" display="lv_group_t *" /> | pointer to a group      |
      | `policy` | <ApiLink name="lv_group_refocus_policy_t" />         | new refocus policy enum |
    </ApiMember>

    <ApiMember kind="function" name="lv_group_set_editing" file="public/core/lv_group.h" line="165" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/core/lv_group.h#L165">
      lv_group_set_editing [#lv_group_set_editing]

      Manually set the current mode (edit or navigate).

      ```c title=" " lineNumbers=1
      void lv_group_set_editing(lv_group_t *group, bool edit)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name    | Type                                                 | Description                           |
      | ------- | ---------------------------------------------------- | ------------------------------------- |
      | `group` | <ApiLink name="lv_group_t" display="lv_group_t *" /> | pointer to group                      |
      | `edit`  | `bool`                                               | true: edit mode; false: navigate mode |
    </ApiMember>

    <ApiMember kind="function" name="lv_group_set_wrap" file="public/core/lv_group.h" line="173" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/core/lv_group.h#L173">
      lv_group_set_wrap [#lv_group_set_wrap]

      Set whether moving focus to next/previous Widget will allow wrapping from first->last or last->first Widget.

      ```c title=" " lineNumbers=1
      void lv_group_set_wrap(lv_group_t *group, bool en)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name    | Type                                                 | Description                                      |
      | ------- | ---------------------------------------------------- | ------------------------------------------------ |
      | `group` | <ApiLink name="lv_group_t" display="lv_group_t *" /> | pointer to group                                 |
      | `en`    | `bool`                                               | true: wrapping enabled; false: wrapping disabled |
    </ApiMember>

    <ApiMember kind="function" name="lv_group_set_external_data" file="public/core/lv_group.h" line="252" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/core/lv_group.h#L252">
      lv_group_set_external_data [#lv_group_set_external_data]

      Attaches external user data and destructor callback to a group.

      Associates custom user data with an LVGL group and specifies a destructor function that will be automatically invoked when the group is deleted to properly clean up the associated resources.

      ```c title=" " lineNumbers=1
      void lv_group_set_external_data(lv_group_t *group, void *data, void(*free_cb)(void *data))
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name      | Type                                                 | Description                                                                                                                                          |
      | --------- | ---------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
      | `group`   | <ApiLink name="lv_group_t" display="lv_group_t *" /> | Pointer to a group                                                                                                                                   |
      | `data`    | `void *`                                             | User-defined data pointer to associate with a group **May** be `NULL`.                                                                               |
      | `free_cb` | `void(*)(void *data)`                                | Callback function for cleaning up ext\_data when group is deleted. Receives data as parameter. **May** be `NULL`. When NULL no cleanup is performed. |
    </ApiMember>

    <ApiMember kind="function" name="lv_group_set_user_data" file="public/core/lv_group.h" line="260" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/core/lv_group.h#L260">
      lv_group_set_user_data [#lv_group_set_user_data]

      Set user data to the group

      ```c title=" " lineNumbers=1
      void lv_group_set_user_data(lv_group_t *group, void *user_data)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name        | Type                                                 | Description                             |
      | ----------- | ---------------------------------------------------- | --------------------------------------- |
      | `group`     | <ApiLink name="lv_group_t" display="lv_group_t *" /> | pointer to a group                      |
      | `user_data` | `void *`                                             | pointer to user data **May** be `NULL`. |
    </ApiMember>
  </ApiTab>

  <ApiTab value="Getters (10)">
    <ApiMember kind="function" name="lv_group_get_default" file="public/core/lv_group.h" line="77" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/core/lv_group.h#L77">
      lv_group_get_default [#lv_group_get_default]

      Get default group.

      ```c title=" " lineNumbers=1
      lv_group_t * lv_group_get_default(void)
      ```

      **Returns:** <ApiLink name="lv_group_t" display="lv_group_t *" /> — pointer to the default group
    </ApiMember>

    <ApiMember kind="function" name="lv_group_get_focused" file="public/core/lv_group.h" line="180" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/core/lv_group.h#L180">
      lv_group_get_focused [#lv_group_get_focused]

      Get Widget that has focus, or NULL if there isn't one.

      ```c title=" " lineNumbers=1
      lv_obj_t * lv_group_get_focused(const lv_group_t *group)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name    | Type                                                       | Description        |
      | ------- | ---------------------------------------------------------- | ------------------ |
      | `group` | <ApiLink name="lv_group_t" display="const lv_group_t *" /> | pointer to a group |

      **Returns:** <ApiLink name="lv_obj_t" display="lv_obj_t *" /> — pointer to Widget with focus
    </ApiMember>

    <ApiMember kind="function" name="lv_group_get_focus_cb" file="public/core/lv_group.h" line="187" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/core/lv_group.h#L187">
      lv_group_get_focus_cb [#lv_group_get_focus_cb]

      Get focus callback function of a group.

      ```c title=" " lineNumbers=1
      lv_group_focus_cb_t lv_group_get_focus_cb(const lv_group_t *group)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name    | Type                                                       | Description        |
      | ------- | ---------------------------------------------------------- | ------------------ |
      | `group` | <ApiLink name="lv_group_t" display="const lv_group_t *" /> | pointer to a group |

      **Returns:** <ApiLink name="lv_group_focus_cb_t" /> — the call back function or NULL if not set
    </ApiMember>

    <ApiMember kind="function" name="lv_group_get_edge_cb" file="public/core/lv_group.h" line="194" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/core/lv_group.h#L194">
      lv_group_get_edge_cb [#lv_group_get_edge_cb]

      Get edge callback function of a group.

      ```c title=" " lineNumbers=1
      lv_group_edge_cb_t lv_group_get_edge_cb(const lv_group_t *group)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name    | Type                                                       | Description        |
      | ------- | ---------------------------------------------------------- | ------------------ |
      | `group` | <ApiLink name="lv_group_t" display="const lv_group_t *" /> | pointer to a group |

      **Returns:** <ApiLink name="lv_group_edge_cb_t" /> — the call back function or NULL if not set
    </ApiMember>

    <ApiMember kind="function" name="lv_group_get_editing" file="public/core/lv_group.h" line="201" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/core/lv_group.h#L201">
      lv_group_get_editing [#lv_group_get_editing]

      Get current mode (edit or navigate).

      ```c title=" " lineNumbers=1
      bool lv_group_get_editing(const lv_group_t *group)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name    | Type                                                       | Description      |
      | ------- | ---------------------------------------------------------- | ---------------- |
      | `group` | <ApiLink name="lv_group_t" display="const lv_group_t *" /> | pointer to group |

      **Returns:** `bool` — true: edit mode; false: navigate mode
    </ApiMember>

    <ApiMember kind="function" name="lv_group_get_wrap" file="public/core/lv_group.h" line="208" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/core/lv_group.h#L208">
      lv_group_get_wrap [#lv_group_get_wrap]

      Get whether moving focus to next/previous Widget will allow wrapping from first->last or last->first Widget.

      ```c title=" " lineNumbers=1
      bool lv_group_get_wrap(lv_group_t *group)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name    | Type                                                 | Description      |
      | ------- | ---------------------------------------------------- | ---------------- |
      | `group` | <ApiLink name="lv_group_t" display="lv_group_t *" /> | pointer to group |
    </ApiMember>

    <ApiMember kind="function" name="lv_group_get_obj_count" file="public/core/lv_group.h" line="215" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/core/lv_group.h#L215">
      lv_group_get_obj_count [#lv_group_get_obj_count]

      Get number of Widgets in group.

      ```c title=" " lineNumbers=1
      uint32_t lv_group_get_obj_count(lv_group_t *group)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name    | Type                                                 | Description        |
      | ------- | ---------------------------------------------------- | ------------------ |
      | `group` | <ApiLink name="lv_group_t" display="lv_group_t *" /> | pointer to a group |

      **Returns:** `uint32_t` — number of Widgets in the group
    </ApiMember>

    <ApiMember kind="function" name="lv_group_get_obj_by_index" file="public/core/lv_group.h" line="223" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/core/lv_group.h#L223">
      lv_group_get_obj_by_index [#lv_group_get_obj_by_index]

      Get nth Widget within group.

      ```c title=" " lineNumbers=1
      lv_obj_t * lv_group_get_obj_by_index(lv_group_t *group, uint32_t index)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name    | Type                                                 | Description                      |
      | ------- | ---------------------------------------------------- | -------------------------------- |
      | `group` | <ApiLink name="lv_group_t" display="lv_group_t *" /> | pointer to a group               |
      | `index` | `uint32_t`                                           | index of Widget within the group |

      **Returns:** <ApiLink name="lv_obj_t" display="lv_obj_t *" /> — pointer to Widget
    </ApiMember>

    <ApiMember kind="function" name="lv_group_get_count" file="public/core/lv_group.h" line="229" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/core/lv_group.h#L229">
      lv_group_get_count [#lv_group_get_count]

      Get the number of groups.

      ```c title=" " lineNumbers=1
      uint32_t lv_group_get_count(void)
      ```

      **Returns:** `uint32_t` — number of groups
    </ApiMember>

    <ApiMember kind="function" name="lv_group_get_user_data" file="public/core/lv_group.h" line="267" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/core/lv_group.h#L267">
      lv_group_get_user_data [#lv_group_get_user_data]

      Get a pointer to the user data of the group

      ```c title=" " lineNumbers=1
      void * lv_group_get_user_data(const lv_group_t *group)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name    | Type                                                       | Description        |
      | ------- | ---------------------------------------------------------- | ------------------ |
      | `group` | <ApiLink name="lv_group_t" display="const lv_group_t *" /> | pointer to a group |

      **Returns:** `void *` — pointer to the user data or NULL if group is NULL
    </ApiMember>
  </ApiTab>

  <ApiTab value="Other (12)">
    <ApiMember kind="function" name="lv_group_create" file="public/core/lv_group.h" line="58" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/core/lv_group.h#L58">
      lv_group_create [#lv_group_create]

      Create new Widget group.

      ```c title=" " lineNumbers=1
      lv_group_t * lv_group_create(void)
      ```

      **Returns:** <ApiLink name="lv_group_t" display="lv_group_t *" /> — pointer to the new Widget group
    </ApiMember>

    <ApiMember kind="function" name="lv_group_delete" file="public/core/lv_group.h" line="64" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/core/lv_group.h#L64">
      lv_group_delete [#lv_group_delete]

      Delete group object.

      ```c title=" " lineNumbers=1
      void lv_group_delete(lv_group_t *group)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name    | Type                                                 | Description                           |
      | ------- | ---------------------------------------------------- | ------------------------------------- |
      | `group` | <ApiLink name="lv_group_t" display="lv_group_t *" /> | pointer to a group **May** be `NULL`. |
    </ApiMember>

    <ApiMember kind="function" name="lv_group_add_obj" file="public/core/lv_group.h" line="84" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/core/lv_group.h#L84">
      lv_group_add_obj [#lv_group_add_obj]

      Add an Widget to group.

      ```c title=" " lineNumbers=1
      void lv_group_add_obj(lv_group_t *group, lv_obj_t *obj)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name    | Type                                                 | Description                |
      | ------- | ---------------------------------------------------- | -------------------------- |
      | `group` | <ApiLink name="lv_group_t" display="lv_group_t *" /> | pointer to a group         |
      | `obj`   | <ApiLink name="lv_obj_t" display="lv_obj_t *" />     | pointer to a Widget to add |
    </ApiMember>

    <ApiMember kind="function" name="lv_group_swap_obj" file="public/core/lv_group.h" line="91" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/core/lv_group.h#L91">
      lv_group_swap_obj [#lv_group_swap_obj]

      Swap 2 Widgets in group. Widgets must be in the same group.

      ```c title=" " lineNumbers=1
      void lv_group_swap_obj(lv_obj_t *obj1, lv_obj_t *obj2)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name   | Type                                             | Description               |
      | ------ | ------------------------------------------------ | ------------------------- |
      | `obj1` | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | pointer to a Widget       |
      | `obj2` | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | pointer to another Widget |
    </ApiMember>

    <ApiMember kind="function" name="lv_group_remove_obj" file="public/core/lv_group.h" line="97" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/core/lv_group.h#L97">
      lv_group_remove_obj [#lv_group_remove_obj]

      Remove a Widget from its group.

      ```c title=" " lineNumbers=1
      void lv_group_remove_obj(lv_obj_t *obj)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name  | Type                                             | Description                 |
      | ----- | ------------------------------------------------ | --------------------------- |
      | `obj` | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | pointer to Widget to remove |
    </ApiMember>

    <ApiMember kind="function" name="lv_group_remove_all_objs" file="public/core/lv_group.h" line="103" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/core/lv_group.h#L103">
      lv_group_remove_all_objs [#lv_group_remove_all_objs]

      Remove all Widgets from a group.

      ```c title=" " lineNumbers=1
      void lv_group_remove_all_objs(lv_group_t *group)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name    | Type                                                 | Description        |
      | ------- | ---------------------------------------------------- | ------------------ |
      | `group` | <ApiLink name="lv_group_t" display="lv_group_t *" /> | pointer to a group |
    </ApiMember>

    <ApiMember kind="function" name="lv_group_focus_obj" file="public/core/lv_group.h" line="109" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/core/lv_group.h#L109">
      lv_group_focus_obj [#lv_group_focus_obj]

      Focus on a Widget (defocus the current).

      ```c title=" " lineNumbers=1
      void lv_group_focus_obj(lv_obj_t *obj)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name  | Type                                             | Description                   |
      | ----- | ------------------------------------------------ | ----------------------------- |
      | `obj` | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | pointer to Widget to focus on |
    </ApiMember>

    <ApiMember kind="function" name="lv_group_focus_next" file="public/core/lv_group.h" line="115" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/core/lv_group.h#L115">
      lv_group_focus_next [#lv_group_focus_next]

      Focus on next Widget in a group (defocus the current).

      ```c title=" " lineNumbers=1
      void lv_group_focus_next(lv_group_t *group)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name    | Type                                                 | Description        |
      | ------- | ---------------------------------------------------- | ------------------ |
      | `group` | <ApiLink name="lv_group_t" display="lv_group_t *" /> | pointer to a group |
    </ApiMember>

    <ApiMember kind="function" name="lv_group_focus_prev" file="public/core/lv_group.h" line="121" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/core/lv_group.h#L121">
      lv_group_focus_prev [#lv_group_focus_prev]

      Focus on previous Widget in a group (defocus the current).

      ```c title=" " lineNumbers=1
      void lv_group_focus_prev(lv_group_t *group)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name    | Type                                                 | Description        |
      | ------- | ---------------------------------------------------- | ------------------ |
      | `group` | <ApiLink name="lv_group_t" display="lv_group_t *" /> | pointer to a group |
    </ApiMember>

    <ApiMember kind="function" name="lv_group_focus_freeze" file="public/core/lv_group.h" line="128" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/core/lv_group.h#L128">
      lv_group_focus_freeze [#lv_group_focus_freeze]

      Do not allow changing focus from current Widget.

      ```c title=" " lineNumbers=1
      void lv_group_focus_freeze(lv_group_t *group, bool en)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name    | Type                                                 | Description                                         |
      | ------- | ---------------------------------------------------- | --------------------------------------------------- |
      | `group` | <ApiLink name="lv_group_t" display="lv_group_t *" /> | pointer to a group                                  |
      | `en`    | `bool`                                               | true: freeze, false: release freezing (normal mode) |
    </ApiMember>

    <ApiMember kind="function" name="lv_group_send_data" file="public/core/lv_group.h" line="136" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/core/lv_group.h#L136">
      lv_group_send_data [#lv_group_send_data]

      Send a control character to Widget that has focus in a group.

      ```c title=" " lineNumbers=1
      lv_result_t lv_group_send_data(lv_group_t *group, uint32_t c)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name    | Type                                                 | Description                               |
      | ------- | ---------------------------------------------------- | ----------------------------------------- |
      | `group` | <ApiLink name="lv_group_t" display="lv_group_t *" /> | pointer to a group                        |
      | `c`     | `uint32_t`                                           | a character (use LV\_KEY\_.. to navigate) |

      **Returns:** <ApiLink name="lv_result_t" /> — result of Widget with focus in group.
    </ApiMember>

    <ApiMember kind="function" name="lv_group_by_index" file="public/core/lv_group.h" line="236" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/core/lv_group.h#L236">
      lv_group_by_index [#lv_group_by_index]

      Get a group by its index.

      ```c title=" " lineNumbers=1
      lv_group_t * lv_group_by_index(uint32_t index)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name    | Type       | Description        |
      | ------- | ---------- | ------------------ |
      | `index` | `uint32_t` | index of the group |

      **Returns:** <ApiLink name="lv_group_t" display="lv_group_t *" /> — pointer to the group
    </ApiMember>
  </ApiTab>
</ApiTabs>

Enums [#enums]

<ApiMember kind="enum" name="lv_key_t" file="public/core/lv_group.h" line="23" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/core/lv_group.h#L23">
  lv_key_t [#lv_key_t]

  Predefined keys to control which Widget has focus via lv\_group\_send(group, c)

  | Name               | Value |
  | ------------------ | ----- |
  | `LV_KEY_UP`        | `17`  |
  | `LV_KEY_DOWN`      | `18`  |
  | `LV_KEY_RIGHT`     | `19`  |
  | `LV_KEY_LEFT`      | `20`  |
  | `LV_KEY_ESC`       | `27`  |
  | `LV_KEY_DEL`       | `127` |
  | `LV_KEY_BACKSPACE` | `8`   |
  | `LV_KEY_ENTER`     | `10`  |
  | `LV_KEY_NEXT`      | `9`   |
  | `LV_KEY_PREV`      | `11`  |
  | `LV_KEY_HOME`      | `2`   |
  | `LV_KEY_END`       | `3`   |
</ApiMember>

<ApiMember kind="enum" name="lv_group_refocus_policy_t" file="public/core/lv_group.h" line="45" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/core/lv_group.h#L45">
  lv_group_refocus_policy_t [#lv_group_refocus_policy_t]

  | Name                           | Value |
  | ------------------------------ | ----- |
  | `LV_GROUP_REFOCUS_POLICY_NEXT` | `0`   |
  | `LV_GROUP_REFOCUS_POLICY_PREV` | `1`   |
</ApiMember>

<TypeUsedBy name="lv_group_refocus_policy_t" count="1">
  * `lv_group_set_refocus_policy` — param `policy`
</TypeUsedBy>

Typedefs [#typedefs]

<ApiMember kind="typedef" name="lv_group_focus_cb_t" file="public/core/lv_group.h" line="42" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/core/lv_group.h#L42">
  lv_group_focus_cb_t [#lv_group_focus_cb_t]

  ```c title=" " lineNumbers=1
  typedef void(* lv_group_focus_cb_t) (lv_group_t *)
  ```
</ApiMember>

<TypeUsedBy name="lv_group_focus_cb_t" count="1">
  * `lv_group_set_focus_cb` — param `focus_cb`
</TypeUsedBy>

<ApiMember kind="typedef" name="lv_group_edge_cb_t" file="public/core/lv_group.h" line="43" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/core/lv_group.h#L43">
  lv_group_edge_cb_t [#lv_group_edge_cb_t]

  ```c title=" " lineNumbers=1
  typedef void(* lv_group_edge_cb_t) (lv_group_t *, bool)
  ```
</ApiMember>

<TypeUsedBy name="lv_group_edge_cb_t" count="1">
  * `lv_group_set_edge_cb` — param `edge_cb`
</TypeUsedBy>

Dependencies [#dependencies]

<FileIncludes includes="[&#x22;lv_conf_internal.h&#x22;, &#x22;lv_types.h&#x22;]" includedBy="[&#x22;lv_obj.h&#x22;, &#x22;lv_indev.h&#x22;, &#x22;lvgl.h&#x22;]" />
