mirror of
https://github.com/lvgl/lvgl.git
synced 2025-01-28 07:03:00 +08:00
feat(keyboard): add user-defined modes (#2651)
As discussed in https://forum.lvgl.io/t/localized-keyboard-layouts/6734, this adds further `..._USER_N` keyboard modes that can be used to implemented more keyboard layouts for locales that need more than 4 layers.
This commit is contained in:
parent
3b6a05e253
commit
7658f98e86
@ -40,6 +40,7 @@
|
||||
- feat(btnmatrix/keyboard): add option to show popovers on button press
|
||||
- fix(types) LV_FORMAT_ATTRIBUTE now works with gnu version greater than 4.4
|
||||
- feat(event) add add LV_EVENT_CHILD_CREATED/DELETED
|
||||
- feat(keyboard): add user-defined modes
|
||||
|
||||
## v8.0.2 (16.07.2021)
|
||||
- fix(theme) improve button focus of keyboard
|
||||
|
@ -22,7 +22,8 @@ The Keyboards have the following modes:
|
||||
- `LV_KEYBOARD_MODE_TEXT_LOWER` Display lower case letters
|
||||
- `LV_KEYBOARD_MODE_TEXT_UPPER` Display upper case letters
|
||||
- `LV_KEYBOARD_MODE_TEXT_SPECIAL` Display special characters
|
||||
- `LV_KEYBOARD_MODE_NUMBER` Display numbers, +/- sign, and decimal dot.
|
||||
- `LV_KEYBOARD_MODE_NUMBER` Display numbers, +/- sign, and decimal dot
|
||||
- `LV_KEYBOARD_MODE_USER_1` through `LV_KEYBOARD_MODE_USER_4` User-defined modes.
|
||||
|
||||
The `TEXT` modes' layout contains buttons to change mode.
|
||||
|
||||
|
@ -98,18 +98,26 @@ static const lv_btnmatrix_ctrl_t default_kb_ctrl_num_map[] = {
|
||||
1, 1, 1, 1, 1
|
||||
};
|
||||
|
||||
static const char * * kb_map[5] = {
|
||||
static const char * * kb_map[9] = {
|
||||
(const char * *)default_kb_map_lc,
|
||||
(const char * *)default_kb_map_uc,
|
||||
(const char * *)default_kb_map_spec,
|
||||
(const char * *)default_kb_map_num,
|
||||
(const char * *)default_kb_map_lc,
|
||||
(const char * *)default_kb_map_lc,
|
||||
(const char * *)default_kb_map_lc,
|
||||
(const char * *)default_kb_map_lc,
|
||||
(const char * *)NULL,
|
||||
};
|
||||
static const lv_btnmatrix_ctrl_t * kb_ctrl[5] = {
|
||||
static const lv_btnmatrix_ctrl_t * kb_ctrl[9] = {
|
||||
default_kb_ctrl_lc_map,
|
||||
default_kb_ctrl_uc_map,
|
||||
default_kb_ctrl_spec_map,
|
||||
default_kb_ctrl_num_map,
|
||||
default_kb_ctrl_lc_map,
|
||||
default_kb_ctrl_lc_map,
|
||||
default_kb_ctrl_lc_map,
|
||||
default_kb_ctrl_lc_map,
|
||||
NULL,
|
||||
};
|
||||
|
||||
|
@ -41,6 +41,10 @@ enum {
|
||||
LV_KEYBOARD_MODE_TEXT_UPPER,
|
||||
LV_KEYBOARD_MODE_SPECIAL,
|
||||
LV_KEYBOARD_MODE_NUMBER,
|
||||
LV_KEYBOARD_MODE_USER_1,
|
||||
LV_KEYBOARD_MODE_USER_2,
|
||||
LV_KEYBOARD_MODE_USER_3,
|
||||
LV_KEYBOARD_MODE_USER_4,
|
||||
};
|
||||
typedef uint8_t lv_keyboard_mode_t;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user