|
處理輸入法菜單
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__全部找出來,仔細閱讀后進行添加。
|
|