Skip to content

Commit

Permalink
fix(keyboard): in the example set Arabic font if enabled (lvgl#5457)
Browse files Browse the repository at this point in the history
  • Loading branch information
kisvegabor authored Jan 25, 2024
1 parent 5dc2092 commit 5e161fe
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 11 deletions.
30 changes: 19 additions & 11 deletions examples/widgets/keyboard/lv_example_keyboard_1.c
Original file line number Diff line number Diff line change
Expand Up @@ -23,18 +23,26 @@ void lv_example_keyboard_1(void)
lv_obj_t * kb = lv_keyboard_create(lv_screen_active());

/*Create a text area. The keyboard will write here*/
lv_obj_t * ta;
ta = lv_textarea_create(lv_screen_active());
lv_obj_align(ta, LV_ALIGN_TOP_LEFT, 10, 10);
lv_obj_add_event_cb(ta, ta_event_cb, LV_EVENT_ALL, kb);
lv_textarea_set_placeholder_text(ta, "Hello");
lv_obj_set_size(ta, 140, 80);
lv_obj_t * ta1;
ta1 = lv_textarea_create(lv_screen_active());
lv_obj_align(ta1, LV_ALIGN_TOP_LEFT, 10, 10);
lv_obj_add_event_cb(ta1, ta_event_cb, LV_EVENT_ALL, kb);
lv_textarea_set_placeholder_text(ta1, "Hello");
lv_obj_set_size(ta1, 140, 80);

ta = lv_textarea_create(lv_screen_active());
lv_obj_align(ta, LV_ALIGN_TOP_RIGHT, -10, 10);
lv_obj_add_event_cb(ta, ta_event_cb, LV_EVENT_ALL, kb);
lv_obj_set_size(ta, 140, 80);
lv_obj_t * ta2;
ta2 = lv_textarea_create(lv_screen_active());
lv_obj_align(ta2, LV_ALIGN_TOP_RIGHT, -10, 10);
lv_obj_add_event_cb(ta2, ta_event_cb, LV_EVENT_ALL, kb);
lv_obj_set_size(ta2, 140, 80);

lv_keyboard_set_textarea(kb, ta);
lv_keyboard_set_textarea(kb, ta1);

/*The keyboard will show Arabic characters if they are enabled */
#if LV_USE_ARABIC_PERSIAN_CHARS && LV_FONT_DEJAVU_16_PERSIAN_HEBREW
lv_obj_set_style_text_font(kb, &lv_font_dejavu_16_persian_hebrew, 0);
lv_obj_set_style_text_font(ta1, &lv_font_dejavu_16_persian_hebrew, 0);
lv_obj_set_style_text_font(ta2, &lv_font_dejavu_16_persian_hebrew, 0);
#endif
}
#endif
8 changes: 8 additions & 0 deletions examples/widgets/textarea/lv_example_textarea_2.c
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,14 @@ void lv_example_textarea_2(void)
lv_obj_set_size(kb, LV_HOR_RES, LV_VER_RES / 2);

lv_keyboard_set_textarea(kb, pwd_ta); /*Focus it on one of the text areas to start*/

/*The keyboard will show Arabic characters if they are enabled */
#if LV_USE_ARABIC_PERSIAN_CHARS && LV_FONT_DEJAVU_16_PERSIAN_HEBREW
lv_obj_set_style_text_font(kb, &lv_font_dejavu_16_persian_hebrew, 0);
lv_obj_set_style_text_font(text_ta, &lv_font_dejavu_16_persian_hebrew, 0);
lv_obj_set_style_text_font(pwd_ta, &lv_font_dejavu_16_persian_hebrew, 0);
#endif

}

static void ta_event_cb(lv_event_t * e)
Expand Down
1 change: 1 addition & 0 deletions src/widgets/keyboard/lv_keyboard.c
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,7 @@ static const lv_buttonmatrix_ctrl_t default_kb_ctrl_uc_map[] = {
#endif
LV_BUTTONMATRIX_CTRL_CHECKED | 2, 6, LV_BUTTONMATRIX_CTRL_CHECKED | 2, LV_KEYBOARD_CTRL_BUTTON_FLAGS | 2
};

#if LV_USE_ARABIC_PERSIAN_CHARS == 1
static const char * const default_kb_map_ar[] = {
"1#", "ض", "ص", "ث", "ق", "ف", "غ", "ع", "ه", "خ", "ح", "ج", "\n",
Expand Down

0 comments on commit 5e161fe

Please sign in to comment.