⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wgui_virtual_keyboard.c

📁 The font library converting tool MCT mainly introduces the process of the font formats to give us a
💻 C
📖 第 1 页 / 共 4 页
字号:
	{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 + -