|
处理输入法菜单
IMERes.c里面有一个数组:
const sIMEModeDetails mtk_gIMEModeArray[]
这个数组当前可用的输入法和输入法的顺序。
这里面我们需要加入4个输入法。
#if defined(__MMI_GUOBI__)
/*Smart Pinyin*/
{
INPUT_MODE_SM_PINYIN,
INPUT_TYPE_SM_PINYIN,
STR_INPUT_METHOD_MENU_PINYIN,
STR_INPUT_METHOD_PINYIN,
0
},
{
INPUT_MODE_SM_STROKE,
INPUT_TYPE_SM_STROKE,
STR_INPUT_METHOD_MENU_SIMPLIFIED_CHINESE_STROKE,
STR_INPUT_METHOD_SM_STROKE,
0
},
/*Smart abc*/
{
INPUT_MODE_SMART_LOWERCASE_ABC,
INPUT_TYPE_SMART_LOWERCASE_ABC,
STR_INPUT_METHOD_MENU_SMART_abc,
STR_INPUT_METHOD_SMART_L_ABC,
1
},
/*Smart ABC*/
{
INPUT_MODE_SMART_UPPERCASE_ABC,
INPUT_TYPE_SMART_UPPERCASE_ABC,
STR_INPUT_METHOD_MENU_SMART_ABC,
STR_INPUT_METHOD_SMART_U_ABC,
1
},
#endif //__MMI_GUOBI__
Wgui_categories_inputs.c里面有一个数组MMI_implement_input_mode_set,这个数组也需要加入:
#if defined(__MMI_GUOBI__)//MMI_implement_input_mode_set
INPUT_MODE_SM_PINYIN,
INPUT_MODE_SM_STROKE,
INPUT_MODE_SMART_UPPERCASE_ABC,
INPUT_MODE_SMART_LOWERCASE_ABC,
#endif
改变EMS默认的输入法
ShowCategory28Screen函数的开头有一个语句:
U16 input_type = (U16) INPUT_TYPE_ALPHANUMERIC_LOWERCASE;
把它改成:
#ifndef __MMI_GUOBI__
U16 input_type = (U16) INPUT_TYPE_ALPHANUMERIC_LOWERCASE;
#else
U16 input_type = (U16) INPUT_TYPE_SM_PINYIN;
#endif
其他部分处理
MTK代码里面有很多:
#if defined(__MMI_SHURU__) || defined(__MMI_ITAP__) || defined(__MMI_KA__)
一般来说我们在后面加上 || defined(__MMI_GUOBI__)就好了。
基本我们需要加入的地方都会有__MMI_KA__,移植的时候把__MMI_KA__全部找出来,仔细阅读后进行添加。
|
|