📄 wgui_virtual_keyboard.c
字号:
{0,0,IMG_VKBD_CUSTOM_HIDE,IMG_VKBD_CUSTOM_SPACE,IMG_VKBD_CUSTOM_BACKSPACE},
{GUI_VKBD_PEN_CHAR_I,GUI_VKBD_PEN_CHAR_I,GUI_VKBD_PEN_HIDE,
GUI_VKBD_PEN_SPACE,GUI_VKBD_PEN_BAKSPACE}
};
/****************************
* Tray layout
****************************/
static const gui_matrix_key_layout_struct gui_tray_matrix_layout =
{
MMI_VKBD_TRAY_MATRIX_X,MMI_VKBD_TRAY_MATRIX_Y,
MMI_VKBD_TRAY_MATRIX_COLUMN,MMI_VKBD_TRAY_MATRIX_ROW,
MMI_VKBD_TRAY_MATRIX_WIDTH,MMI_VKBD_TRAY_MATRIX_HEIGHT,
MMI_VKBD_MATRIX_KEY_WIDTH,MMI_VKBD_MATRIX_KEY_HEIGHT,
MMI_VKBD_MATRIX_KEY_H_GAP,MMI_VKBD_MATRIX_KEY_V_GAP
};
#ifdef __MMI_MAINLCD_240X320__
static const gui_custom_key_layout_struct gui_tray_custom_key_layout[] =
{
{101,2,19,19},
{121,2,19,19},
{141,2,19,19},
{161,2,19,19},
{181,2,19,19},
{201,2,38,19}
};
#else /* __MMI_MAINLCD_240X320__ */
static const gui_custom_key_layout_struct gui_tray_custom_key_layout[] =
{
{76,1,14,14},
{91,1,14,14},
{106,1,14,14},
{121,1,14,14},
{136,1,14,14},
{151,1,24,14}
};
#endif /* __MMI_MAINLCD_240X320__ */
static const gui_keyboard_layout_struct gui_virtual_keyboard_tray_layout =
{
MMI_VKBD_TRAY_WIDTH,
MMI_VKBD_TRAY_HEIGHT,
1,
6,
&gui_tray_matrix_layout,
gui_tray_custom_key_layout,
IMG_VKBD_TRAY
};
static const gui_keyboard_language_struct gui_keyboard_tray_string =
{
MMI_FALSE,
1,
6,
{'?',',',':','.',';'},
{'\0','\0','\0','\0','\0','\0'},
{IMG_VKBD_CUSTOM_BRACKET,IMG_VKBD_CUSTOM_ENTER,IMG_VKBD_CUSTOM_SPACE,
IMG_VKBD_CUSTOM_BACKSPACE, IMG_VKBD_CUSTOM_SYMBPICKER, IMG_VKBD_CUSTOM_SHOW},
{GUI_VKBD_PEN_BRACKET,GUI_VKBD_PEN_NEWLINE,GUI_VKBD_PEN_SPACE,
GUI_VKBD_PEN_BAKSPACE,GUI_VKBD_PEN_SYMBPICKER,GUI_VKBD_PEN_SHOW}
};
/* Used in inline editor */
static const gui_keyboard_language_struct gui_keyboard_empty_tray_string =
{
MMI_FALSE,
1,
6,
{'\0','\0','\0','\0','\0'},
{'\0','\0','\0','\0','\0','\0'},
{0,0,0,0,0,0},
{GUI_VKBD_PEN_NONE,GUI_VKBD_PEN_NONE,GUI_VKBD_PEN_NONE,
GUI_VKBD_PEN_NONE,GUI_VKBD_PEN_NONE,GUI_VKBD_PEN_NONE}
};
/* Used in inline editor */
static const gui_keyboard_language_struct gui_keyboard_number_tray_string =
{
MMI_FALSE,
1,
6,
{'0','1','2','3','4'},
{'5','6','7','8','9','\0'},
{0,0,0,0,0,IMG_VKBD_CUSTOM_BACKSPACE},
{GUI_VKBD_PEN_CHAR_I,GUI_VKBD_PEN_CHAR_I,GUI_VKBD_PEN_CHAR_I,
GUI_VKBD_PEN_CHAR_I,GUI_VKBD_PEN_CHAR_I,GUI_VKBD_PEN_BAKSPACE}
};
/* Used in inline editor for 0~9 and dot(.) */
static const gui_keyboard_language_struct gui_keyboard_number_dot_tray_string =
{
MMI_FALSE,
1,
6,
{'0','1','2','3','4'},
{'5','6','7','8','9','.'},
{0,0,0,0,0,0},
{GUI_VKBD_PEN_CHAR_I,GUI_VKBD_PEN_CHAR_I,GUI_VKBD_PEN_CHAR_I,
GUI_VKBD_PEN_CHAR_I,GUI_VKBD_PEN_CHAR_I,GUI_VKBD_PEN_CHAR_I}
};
/****************************
* Pinyin layout
****************************/
//#ifdef __MMI_LANG_SM_CHINESE__
static const gui_matrix_key_layout_struct gui_pinyin_matrix_layout =
{
MMI_VKBD_PINYIN_MATRIX_X,MMI_VKBD_PINYIN_MATRIX_Y,
MMI_VKBD_PINYIN_MATRIX_COLUMN,MMI_VKBD_PINYIN_MATRIX_ROW,
MMI_VKBD_PINYIN_MATRIX_WIDTH,MMI_VKBD_PINYIN_MATRIX_HEIGHT,
MMI_VKBD_MATRIX_KEY_WIDTH,MMI_VKBD_MATRIX_KEY_HEIGHT,
MMI_VKBD_MATRIX_KEY_H_GAP,MMI_VKBD_MATRIX_KEY_V_GAP
};
#ifdef __MMI_MAINLCD_240X320__
static const gui_custom_key_layout_struct gui_pinyin_custom_key_layout[] =
{
{1,2,19,19},
{21,2,19,19},
{41,2,159,19},
{201,2,38,19},
{181,22,19,19},
{201,22,38,19},
{181,42,19,19},
{201,42,38,19},
{181,62,58,19}
};
#else /* __MMI_MAINLCD_240X320__ */
static const gui_custom_key_layout_struct gui_pinyin_custom_key_layout[] =
{
{1,1,14,14},
{16,1,14,14},
{31,1,119,14},
{151,1,24,14},
{136,16,14,14},
{151,16,24,14},
{136,31,14,14},
{151,31,24,14},
{136,46,39,14}
};
#endif /* __MMI_MAINLCD_240X320__ */
static const gui_keyboard_layout_struct gui_virtual_keyboard_pinyin_layout =
{
MMI_VKBD_PINYIN_WIDTH,
MMI_VKBD_PINYIN_HEIGHT,
1,
9,
&gui_pinyin_matrix_layout,
gui_pinyin_custom_key_layout,
IMG_VKBD_PINYIN
};
static const gui_keyboard_language_struct gui_keyboard_pinyin_string =
{
MMI_FALSE,
1,
9,
{
{'q','w','e','r','t','y','u','i','o','\0'},
{'a','s','d','f','g','h','j','k','l','\0'},
{'z','x','c','v','b','n','m',',','.','\0'}
},
{':','\0','\0','\0','p','\0','?','\0','\0'},
{0,IMG_VKBD_CUSTOM_BRACKET,IMG_VKBD_PINYIN_DISPAREA,IMG_VKBD_CUSTOM_HIDE,
0,IMG_VKBD_CUSTOM_BACKSPACE,0,IMG_VKBD_CUSTOM_SYMBPICKER,IMG_VKBD_CUSTOM_SPACE},
{GUI_VKBD_PEN_CHAR_I,GUI_VKBD_PEN_BRACKET,GUI_VKBD_PEN_DISPLAY_AREA,GUI_VKBD_PEN_HIDE,
GUI_VKBD_PEN_CHAR_I,GUI_VKBD_PEN_BAKSPACE,GUI_VKBD_PEN_CHAR_I,
GUI_VKBD_PEN_SYMBPICKER,GUI_VKBD_PEN_SPACE}
};
//#endif /* __MMI_LANG_SM_CHINESE__ */
/****************************
* Bopomo layout
****************************/
//#ifdef __MMI_LANG_TR_CHINESE__
static const gui_matrix_key_layout_struct gui_bopomo_matrix_layout =
{
MMI_VKBD_BOPOMO_MATRIX_X,MMI_VKBD_BOPOMO_MATRIX_Y,
MMI_VKBD_BOPOMO_MATRIX_COLUMN,MMI_VKBD_BOPOMO_MATRIX_ROW,
MMI_VKBD_BOPOMO_MATRIX_WIDTH,MMI_VKBD_BOPOMO_MATRIX_HEIGHT,
MMI_VKBD_MATRIX_KEY_WIDTH,MMI_VKBD_MATRIX_KEY_HEIGHT,
MMI_VKBD_MATRIX_KEY_H_GAP,MMI_VKBD_MATRIX_KEY_V_GAP
};
#ifdef __MMI_MAINLCD_240X320__
static const gui_custom_key_layout_struct gui_bopomo_custom_key_layout[] =
{
{1,2,19,19},
{21,2,19,19},
{41,2,19,19},
{61,2,59,19},
{121,2,19,19},
{141,2,19,19},
{161,2,19,19},
{181,2,19,19},
{201,2,38,19},
{201,22,38,19},
{201,42,38,19},
{201,62,38,19}
};
#else /* __MMI_MAINLCD_240X320__ */
static const gui_custom_key_layout_struct gui_bopomo_custom_key_layout[] =
{
{1,1,14,14},
{16,1,14,14},
{31,1,14,14},
{46,1,44,14},
{91,1,14,14},
{106,1,14,14},
{121,1,14,14},
{136,1,14,14},
{151,1,24,14},
{151,16,24,14},
{151,31,24,14},
{151,46,24,14}
};
#endif /* __MMI_MAINLCD_240X320__ */
static const gui_keyboard_layout_struct gui_virtual_keyboard_bopomo_layout =
{
MMI_VKBD_BOPOMO_WIDTH,
MMI_VKBD_BOPOMO_HEIGHT,
1,
12,
&gui_bopomo_matrix_layout,
gui_bopomo_custom_key_layout,
IMG_VKBD_BOPOMO
};
static const gui_keyboard_language_struct gui_keyboard_bopomo_string =
{
MMI_FALSE,
1,
12,
{
{0x3106,0x310a,0x3114,0x310d,0x3110,0x3117,0x3127,0x311b,0x311f,0x3123},
{0x3107,0x310b,0x3115,0x310e,0x3111,0x3118,0x3128,0x311c,0x3120,0x3124},
{0x3108,0x310c,0x3116,0x310f,0x3112,0x3119,0x3129,0x311d,0x3121,0x3125},
},
{0x3105,0x3109,0x3113,'\0',0x3126,0x311a,0x311e,0x3122,'\0','\0','\0','\0'},
{0,0,0,IMG_VKBD_BOPOMO_DISPAREA,0,0,0,0,IMG_VKBD_CUSTOM_HIDE,IMG_VKBD_CUSTOM_BACKSPACE,
IMG_VKBD_CUSTOM_SYMBPICKER,IMG_VKBD_CUSTOM_SPACE},
{GUI_VKBD_PEN_CHAR_I,GUI_VKBD_PEN_CHAR_I,GUI_VKBD_PEN_CHAR_I,
GUI_VKBD_PEN_DISPLAY_AREA,GUI_VKBD_PEN_CHAR_I, GUI_VKBD_PEN_CHAR_I,
GUI_VKBD_PEN_CHAR_I,GUI_VKBD_PEN_CHAR_I,GUI_VKBD_PEN_HIDE,
GUI_VKBD_PEN_BAKSPACE,GUI_VKBD_PEN_SYMBPICKER,GUI_VKBD_PEN_SPACE}
};
#ifdef __MMI_GB__ //virtual key board
static const gui_matrix_key_layout_struct gui_guobi_cand_matrix_layout =
{
1, 1,
1, 1,
5, 1,
1, 0,
1, 1
};
#ifdef __MMI_MAINLCD_240X320__
static const gui_custom_key_layout_struct gui_guobi_cand_custom_key_layout[] =
{
{164, 0, 1, 0},
};
#else /* __MMI_MAINLCD_240X320__ */
static const gui_custom_key_layout_struct gui_guobi_cand_custom_key_layout[] =
{
{126, 1, 1, 1},
};
#endif /* __MMI_MAINLCD_240X320__ */
/* Used in inline editor */
static const gui_keyboard_language_struct gui_keyboard_gb_cand_string =
{
MMI_FALSE,
1,
1,
{'\0',},
{'\0'},
{0},
{GUI_VKBD_PEN_NONE}
};
static const gui_keyboard_layout_struct gui_virtual_keyboard_guobi_cand_layout =
{
MMI_VKBD_STANDARD_WIDTH,
43,
1,
1,
&gui_guobi_cand_matrix_layout,
gui_guobi_cand_custom_key_layout,
// &gui_guobi_cand_matrix_layout,
// gui_guobi_cand_custom_key_layout,
IMG_VKBD_GUOBI_CAND
};
/*
static const gui_keyboard_layout_struct gui_virtual_keyboard_tray_layout =
{
MMI_VKBD_TRAY_WIDTH,
MMI_VKBD_TRAY_HEIGHT,
1,
6,
&gui_tray_matrix_layout,
gui_tray_custom_key_layout,
IMG_VKBD_TRAY
};*/
#endif //__MMI_GB__
//#endif /* __MMI_LANG_TR_CHINESE__ */
/****************************
* Language table
****************************/
/* The order should be the same as mmi_gui_virtual_keyboard_language_enum */
const gui_keyboard_lang_map_struct MMI_virtual_keyboard_language_map[MMI_GUI_VIRTUAL_KEYBOARD_MAX_LANG]=
{
{&gui_virtual_keyboard_standard_layout, &gui_keyboard_english_lowercase_string},
{&gui_virtual_keyboard_standard_layout, &gui_keyboard_english_uppercase_string},
{&gui_virtual_keyboard_extended_layout, &gui_keyboard_symbol_string},
{&gui_virtual_keyboard_tray_layout, &gui_keyboard_tray_string},
{&gui_virtual_keyboard_number_layout, &gui_keyboard_number_string},
{&gui_virtual_keyboard_number_layout, &gui_keyboard_phone_number_string},
{&gui_virtual_keyboard_tray_layout, &gui_keyboard_empty_tray_string},
{&gui_virtual_keyboard_tray_layout, &gui_keyboard_number_tray_string},
{&gui_virtual_keyboard_tray_layout, &gui_keyboard_number_dot_tray_string}
/*MTK Terry Temp Solution for Custom Release*/
//#ifdef __MMI_LANG_SM_CHINESE__
,{&gui_virtual_keyboard_pinyin_layout, &gui_keyboard_pinyin_string}
//#endif
//#ifdef __MMI_LANG_TR_CHINESE__
,{&gui_virtual_keyboard_bopomo_layout, &gui_keyboard_bopomo_string}
//#endif
//#if defined(__MMI_LANG_TR_CHINESE__) || defined(__MMI_LANG_SM_CHINESE__)
,{&gui_virtual_keyboard_standard_layout, &gui_keyboard_chinese_symbol_string}
#ifdef __MMI_GB__
,{&gui_virtual_keyboard_guobi_cand_layout, &gui_keyboard_empty_tray_string}
#endif //__MMI_GB__
/* Asia-pacific */
#ifdef __MMI_LANG_THAI__
#endif
#ifdef __MMI_LANG_INDONESIAN__
#endif
#ifdef __MMI_LANG_MALAY__
#endif
#ifdef __MMI_LANG_VIETNAMESE__
#endif
/* Hindi */
#ifdef __MMI_LANG_HINDI__
#endif
/* Arabic */
#ifdef __MMI_LANG_ARABIC__
#endif
/* Europe */
#ifdef __MMI_LANG_SPANISH__
,{&gui_virtual_keyboard_extended_layout, &gui_keyboard_spanish_lowercase_string}
,{&gui_virtual_keyboard_extended_layout, &gui_keyboard_spanish_uppercase_string}
#endif
#ifdef __MMI_LANG_FRENCH__
,{&gui_virtual_keyboard_extended_layout, &gui_keyboard_french_lowercase_string}
,{&gui_virtual_keyboard_extended_layout, &gui_keyboard_french_uppercase_string}
#endif
#ifdef __MMI_LANG_GERMAN__
,{&gui_virtual_keyboard_extended_layout, &gui_keyboard_german_lowercase_string}
,{&gui_virtual_keyboard_extended_layout, &gui_keyboard_german_uppercase_string}
#endif
#ifdef __MMI_LANG_ITALIAN__
,{&gui_virtual_keyboard_extended_layout, &gui_keyboard_italian_lowercase_string}
,{&gui_virtual_keyboard_extended_layout, &gui_keyboard_italian_uppercase_string}
#endif
#ifdef __MMI_LANG_RUSSIAN__
,{&gui_virtual_keyboard_extended_layout, &gui_keyboard_russian_lowercase_string}
,{&gui_virtual_keyboard_extended_layout, &gui_keyboard_russian_uppercase_string}
#endif
#ifdef __MMI_LANG_TURKISH__
,{&gui_virtual_keyboard_extended_layout, &gui_keyboard_turkish_lowercase_string}
,{&gui_virtual_keyboard_extended_layout, &gui_keyboard_turkish_uppercase_string}
#endif
#ifdef __MMI_LANG_PORTUGUESE__
,{&gui_virtual_keyboard_extended_layout, &gui_keyboard_portuguese_lowercase_string}
,{&gui_virtual_keyboard_extended_layout, &gui_keyboard_portuguese_uppercase_string}
#endif
#ifdef __MMI_VKBD_EUROPEAN_SUPPORT__
,{&gui_virtual_keyboard_extended_layout, &gui_keyboard_european_symbols_string}
#endif
};
#ifdef __MMI_VKBD_EUROPEAN_SUPPORT__
static const mmi_gui_dead_key_symbol_struct gui_european_symbols[]=
{
/****Grave Accent***/
{2,{0x60,0x61},0xE0},
{2,{0x60,0x65},0xE8},
{2,{0x60,0x69},0xEC},
{2,{0x60,0x6F},0xF2},
{2,{0x60,0x75},0xF9},
{2,{0x60,0x41},0xC0},
{2,{0x60,0x45},0xC8},
{2,{0x60,0x49},0xCC},
{2,{0x60,0x4F},0xD2},
{2,{0x60,0x55},0xD9},
/***Acute Accent***/
{2,{0xB4,0x61},0xE1},
{2,{0xB4,0x65},0xE9},
{2,{0xB4,0x69},0xED},
{2,{0xB4,0x6F},0xF3},
{2,{0xB4,0x75},0xFA},
{2,{0xB4,0x79},0xFD},
{2,{0xB4,0x41},0xC1},
{2,{0xB4,0x45},0xC9},
{2,{0xB4,0x49},0xCD},
{2,{0xB4,0x4F},0xD3},
{2,{0xB4,0x55},0xDA},
{2,{0xB4,0x59},0xDD},
/***circumflex accent***/
{2,{0x5E,0x61},0xE2},
{2,{0x5E,0x65},0xEA},
{2,{0x5E,0x69},0xEE},
{2,{0x5E,0x6F},0xF4},
{2,{0x5E,0x75},0xFB},
{2,{0x5E,0x41},0xC2},
{2,{0x5E,0x45},0xCA},
{2,{0x5E,0x49},0xCE},
{2,{0x5E,0x4F},0xD4},
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -