icfans

60开启首字母大写后切换异常

0
阅读(216) 评论(0)

[DESCRIPTION]
60开启首字母大写,选择首字母大写输入法(Abc)后,当输入字符比较慢时,输入的字符一直是大写字符,当输入字
符比较快时(快速连续按键输入),可以由首字母大写(Abc)切换至小写(abc)。
[SOLUTION]
请将imc_key.c中的mmi_imc_key_multitap_alphabetic_timeout_callback函数修改如下,主要是调整#if
defined(__MMI_IME_V3__)宏包含的范围。
static void mmi_imc_key_multitap_alphabetic_timeout_callback( void )
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
BOOL lcd_freeze = gdi_lcd_get_freeze();
mmi_imc_gdi_lcd_freeze(MMI_TRUE);
mmi_imc_key_multitap_alphabetic_input_confirm();
mmi_imc_set_state(MMI_IMC_STATE_INITIAL);
#if defined(__MMI_IME_V3__)
#if defined(__MMI_UI_VIRTUAL_KEYBOARD_DEFAULT_VERSION_3__)
if(mmi_imc_get_ui_style(MMI_IMC_UI_STYLE_VK_ON))
{
mmi_imc_pen_process_vk_state_after_confirm_candidate();
}
else
#endif
#endif //此处增加#endif
{
#if defined(__MMI_IME_AUTO_CAPITALIZATION__)
if(!mmi_imm_is_auto_capitalization_valid())
#endif
{
if(g_imc_key.curr_mode_details->Mode_Special_Attrib & IME_MODE_ATTR_TITLECASE)
{
g_imc_key.global_data_ptr->capital_state = MMI_IME_WORD_CAPITAL_STATE_LOWER;
//mmi_imc_pen_set_gui_state(IME_MODE_ATTR_LOWERCASE);
mmi_imc_change_input_mode_according_to_capital_state(g_imc_key.global_data_ptr-
>capital_state);
//mmi_imc_pen_send_ui_message(MMI_IMUI_MESSAGE_INVALIDATE_VK,0,0,NULL);
}
}
}
//#endif 屏蔽此处的endif
mmi_imc_redraw_screen_by_state();
mmi_imc_gdi_lcd_freeze(lcd_freeze);
mmi_imc_repaint_screen();
}

来自半导体社区