<commit_before>/**
 * @file lv_kb.h
 *
 */

#ifndef LV_KEYBOARD_H
#define LV_KEYBOARD_H

#ifdef __cplusplus
extern "C" {
#endif

/*********************
 *      INCLUDES
 *********************/
#include "../lv_conf_internal.h"

#if LV_USE_KEYBOARD != 0

/*Testing of dependencies*/
#if LV_USE_BTNMATRIX == 0
#error "lv_kb: lv_btnm is required. Enable it in lv_conf.h (LV_USE_BTNMATRIX  1) "
#endif

#if LV_USE_TEXTAREA == 0
#error "lv_kb: lv_ta is required. Enable it in lv_conf.h (LV_USE_TEXTAREA  1) "
#endif

#include "../lv_core/lv_obj.h"
#include "lv_btnmatrix.h"

/*********************
 *      DEFINES
 *********************/

/**********************
 *      TYPEDEFS
 **********************/

/** Current keyboard mode. */
enum {
    LV_KEYBOARD_MODE_TEXT_LOWER,
    LV_KEYBOARD_MODE_TEXT_UPPER,
    LV_KEYBOARD_MODE_SPECIAL,
    LV_KEYBOARD_MODE_NUM,
};
typedef uint8_t lv_keyboard_mode_t;

/*Data of keyboard*/
typedef struct {
    lv_btnmatrix_ext_t btnm; /*Ext. of ancestor*/
    /*New data for this type */
    lv_obj_t * ta;          /*Pointer to the assigned text area*/
    lv_keyboard_mode_t mode;      /*Key map type*/
    uint8_t cursor_mng : 1; /*1: automatically show/hide cursor when a text area is assigned or left*/
} lv_keyboard_ext_t;

enum {
    LV_KEYBOARD_PART_BG,
    LV_KEYBOARD_PART_BTN,
};
typedef uint8_t lv_keyboard_style_t;

/**********************<commit_msg>Moved define to header<commit_after>/**
 * @file lv_kb.h
 *
 */

#ifndef LV_KEYBOARD_H
#define LV_KEYBOARD_H

#ifdef __cplusplus
extern "C" {
#endif

/*********************
 *      INCLUDES
 *********************/
#include "../lv_conf_internal.h"

#if LV_USE_KEYBOARD != 0

/*Testing of dependencies*/
#if LV_USE_BTNMATRIX == 0
#error "lv_kb: lv_btnm is required. Enable it in lv_conf.h (LV_USE_BTNMATRIX  1) "
#endif

#if LV_USE_TEXTAREA == 0
#error "lv_kb: lv_ta is required. Enable it in lv_conf.h (LV_USE_TEXTAREA  1) "
#endif

#include "../lv_core/lv_obj.h"
#include "lv_btnmatrix.h"

/*********************
 *      DEFINES
 *********************/
#define LV_KEYBOARD_CTRL_BTN_FLAGS (LV_BTNMATRIX_CTRL_NO_REPEAT | LV_BTNMATRIX_CTRL_CLICK_TRIG)
    
/**********************
 *      TYPEDEFS
 **********************/

/** Current keyboard mode. */
enum {
    LV_KEYBOARD_MODE_TEXT_LOWER,
    LV_KEYBOARD_MODE_TEXT_UPPER,
    LV_KEYBOARD_MODE_SPECIAL,
    LV_KEYBOARD_MODE_NUM,
};
typedef uint8_t lv_keyboard_mode_t;

/*Data of keyboard*/
typedef struct {
    lv_btnmatrix_ext_t btnm; /*Ext. of ancestor*/
    /*New data for this type */
    lv_obj_t * ta;          /*Pointer to the assigned text area*/
    lv_keyboard_mode_t mode;      /*Key map type*/
    uint8_t cursor_mng : 1; /*1: automatically show/hide cursor when a text area is assigned or left*/
} lv_keyboard_ext_t;

enum {
    LV_KEYBOARD_PART_BG,
    LV_KEYBOARD_PART_BTN,
};
typedef uint8_t lv_keyboard_style_t;

/**********************
{'fraction_non_alphanumeric': 0.19799931010693342, 'fraction_numerical': 0.006898930665746809, 'mean_word_length': 3.9403747870528107, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5690751', 'n_tokens_mistral': 1175, 'n_tokens_neox': 1115, 'n_words': 243}