MTK修改默认输入法

27:修改editor默认输入法的时候,在Nvram_cust_pack.c中数组
kal_uint8 const NVRAM_CACHE_SHORT_DEFAULT[NVRAM_CACHE_SIZE]=
{
}
中修改
0x0E, 0x00, /* NVRAM_SETTING_PREFER_INPUT_METHOD, */
记住此时还需修改
0x0E, 0x00, /* RESTORE_PREFER_INPUT_METHOD, */
后者用于恢复出厂设置的时候,系统来取值

修改nvram的时候,要相应升级custom_nvram_editor_data_item.h中,
#define NVRAM_EF_CACHE_SHORT_LID_VERNO "004"

我们现在发现一个问题,如果我们修改了nvram里面的一个默认设置的值,如果我们不修改对应的版本号的话,在升级手机的时候就必须要format才可以正常读出我们新设置的值,但是在实际的操作中,这样会把经过硬件校准过的数据清除掉(尤其是客户在量产后进行升级),会造成一些预想不到的错误,所以请大家在修改了nvram的值以后,一定要修改相应的版本号。举例如下:
如果我们修改了:NVRAM_EF_PHB_COMPARE_DIGIT_DEFAULT
那应该同时修改与其对应的NVRAM_EF_PHB_COMPARE_DIGIT_LID的版本:VER(NVRAM_EF_PHB_COMPARE_DIGIT_LID)即:NVRAM_EF_PHB_COMPARE_DIGIT_LID_VERNO


一般的情况,我们修改的方法是:增加一个版本号
请各个review leader在给大家review的时候一定要注意这个问题。

PS:如何修改0x0E, 0x00, /* NVRAM_SETTING_PREFER_INPUT_METHOD, */的值?

可以下断点跟踪PreferedInputMethodSetting.c文件中SelectInputMethodHandler函数,data = MMI_prefered_input_type;data的值。直接把data的值转换为16进制赋给0x0E即可。

原文地址:https://www.cnblogs.com/brien/p/1536860.html