📄 mmitextinput.c
字号:
{
SEND_EVENT(win, TEXT_INPUT_DESTROY, INFO_KCD_LEFT, NULL);
}
FirstEnterEditor = 5;
}
break;
case PINYIN_INPUT_SCREEN:
case WORD_ASSOCIATION_SCREEN:
{
if( GetKeyEventConfig(data) )
{
/* 2004/04/01 sunsj add */
DisplayOtherArea( data );
return MFW_EVENT_CONSUMED;
}
IMESelectCandidate(&data->Ime, data->wszElementBuffer);
data->HighlightedCandidate[0] = data->wcCandidates[data->Ime.CandidateCursor];
ChangeDisplayArea(data->input_edt, data->Ime.InputScreenType, data );
edtSymbol( data->input_edt, Temp );
winShow(data->input_win);
}
break;
default:
break;
}
}
break;
case STROKE_INPUT_MODE:
{
switch( data->Ime.InputScreenType )
{
case TEXT_DISPLAY_SCREEN:
{
if( strlen(data->editor_data.editor_attr.text) >= data->editor_data.min_enter )
{
SEND_EVENT(win, TEXT_INPUT_DESTROY, INFO_KCD_LEFT, NULL);
}
FirstEnterEditor = 5;
}
break;
case STROKE_INPUT_SCREEN:
case WORD_ASSOCIATION_SCREEN:
{
if( GetKeyEventConfig(data) )
{
/* 2004/04/01 sunsj add */
DisplayOtherArea( data );
return MFW_EVENT_CONSUMED;
}
IMESelectCandidate(&data->Ime, data->wszElementBuffer);
data->HighlightedCandidate[0] = data->wcCandidates[data->Ime.CandidateCursor];
/* 2003/12/15 sunsj if the candidate is component then we need't add it to text */
if( ComponentFlag == TRUE )
{
}
else
{
ChangeDisplayArea(data->input_edt, data->Ime.InputScreenType, data );
edtSymbol( data->input_edt, Temp );
}
winShow(data->input_win);
}
break;
default:
break;
}
}
break;
case UPPERCASE_INPUT_MODE:
case LOWERCASE_INPUT_MODE:
case SHUZI_INPUT_MODE:
if( strlen(data->editor_data.editor_attr.text) >= data->editor_data.min_enter )
{
SEND_EVENT(win, TEXT_INPUT_DESTROY, INFO_KCD_LEFT, NULL);
}
FirstEnterEditor = 5;
break;
default:
break;
}
}
break;
case KCD_RIGHT:
#ifndef _M188_
case KCD_CLEAR:
#endif
{
if( (strlen((char *)data->wszTextBuffer) == 0) && (strlen((char *)data->wcCandidates) == 0 ) )
{
SEND_EVENT (win, TEXT_INPUT_DESTROY, INFO_KCD_RIGHT, NULL);
FirstEnterEditor = 5;
//return MFW_EVENT_CONSUMED;
}
switch( data->Ime.EditorMode )
{
case PINYIN_INPUT_MODE:
switch( data->Ime.InputScreenType )
{
case TEXT_DISPLAY_SCREEN:
edtSymbol( data->input_edt, ecBack );
DisplayOtherArea( data );
break;
case PINYIN_INPUT_SCREEN:
Zi_onekey_clear(&data->Ime);
data->HighlightedCandidate[0] = data->wcCandidates[data->Ime.CandidateCursor];
if( data->Ime.InputScreenType == TEXT_DISPLAY_SCREEN )
{
ChangeDisplayArea(data->input_edt, data->Ime.InputScreenType, data );
edtShow(data->input_edt);
if( data->editor_data.edtInPbk != 0 )
{
winShow(data->input_win);
}
else
{
/* Draw the other area */
DisplayOtherArea( data );
}
}
else
{
winShow(data->input_win);
}
break;
case WORD_ASSOCIATION_SCREEN:
data->Ime.InputScreenType = TEXT_DISPLAY_SCREEN;
memset(&data->wcCandidates, 0, sizeof(data->wcCandidates));
/* 2003/12/15 sunsj */
data->Ime.candidates = 0;
ChangeDisplayArea(data->input_edt, data->Ime.InputScreenType, data );
edtShow(data->input_edt);
if( data->editor_data.edtInPbk != 0 )
{
winShow(data->input_win);
}
else
{
/* Draw the other area */
DisplayOtherArea( data );
}
break;
default:
break;
}
break;
case STROKE_INPUT_MODE:
switch( data->Ime.InputScreenType )
{
case TEXT_DISPLAY_SCREEN:
edtSymbol( data->input_edt, ecBack );
/* Draw the other area */
DisplayOtherArea( data );
break;
case STROKE_INPUT_SCREEN:
/* 2004/05/31 sunsj modify */
memset(&data->wcCandidates, 0x00, sizeof(data->wcCandidates));
IMEClear(&data->Ime, data->wszElementBuffer);
data->HighlightedCandidate[0] = data->wcCandidates[data->Ime.CandidateCursor];
if( data->Ime.InputScreenType == TEXT_DISPLAY_SCREEN )
{
ChangeDisplayArea(data->input_edt, data->Ime.InputScreenType, data );
edtShow(data->input_edt);
if( data->editor_data.edtInPbk != 0 )
{
winShow(data->input_win);
}
else
{
/* Draw the other area */
DisplayOtherArea( data );
}
}
else
{
winShow(data->input_win);
}
break;
case WORD_ASSOCIATION_SCREEN:
data->Ime.InputScreenType = TEXT_DISPLAY_SCREEN;
memset(&data->wcCandidates, 0, sizeof(data->wcCandidates));
/* 2003/12/15 sunsj */
data->Ime.candidates = 0;
ChangeDisplayArea(data->input_edt, data->Ime.InputScreenType, data );
edtShow(data->input_edt);
if( data->editor_data.edtInPbk != 0 )
{
winShow(data->input_win);
}
else
{
/* Draw the other area */
DisplayOtherArea( data );
}
break;
default:
break;
}
break;
case UPPERCASE_INPUT_MODE:
case LOWERCASE_INPUT_MODE:
case SHUZI_INPUT_MODE:
/* 2004/07/06 sunsj add */
if( input_key_timer_flag == 1 )
{
return;
}
edtSymbol( data->input_edt, ecBack );
/* Draw the other area */
DisplayOtherArea( data );
break;
default:
break;
}
//winShow(data->input_win);
}
break;
case KCD_HUP:
{
switch( data->Ime.InputScreenType )
{
case TEXT_DISPLAY_SCREEN:
SEND_EVENT (data->input_win, TEXT_INPUT_DESTROY, INFO_KCD_HUP, NULL);
break;
case PINYIN_INPUT_SCREEN:
case STROKE_INPUT_SCREEN:
case WORD_ASSOCIATION_SCREEN:
memset(&data->wcCandidates, 0x00, sizeof(data->wcCandidates));
IMESetDefaultValue(&data->Ime);
ChangeDisplayArea(data->input_edt, data->Ime.InputScreenType, data );
edtShow(data->input_edt);
if( data->editor_data.edtInPbk != 0 )
{
winShow(data->input_win);
}
else
{
/* Draw the other area */
DisplayOtherArea( data );
}
//winShow(data->input_win);
break;
default:
break;
}
}
break;
case KCD_MNUUP:
{
switch( data->Ime.EditorMode )
{
case PINYIN_INPUT_MODE:
{
switch( data->Ime.InputScreenType )
{
case TEXT_DISPLAY_SCREEN:
/* if the editor is phone book input, then control will send to phone book */
if( data->editor_data.edtInPbk == 1 )
{
SEND_EVENT (win, E_EDITOR_DEINIT, INFO_TOPREV_EDT, NULL);
}
else
{
edtSymbol( data->input_edt, ecUp );
/* Draw the other area */
DisplayOtherArea( data );
}
break;
case PINYIN_INPUT_SCREEN:
case WORD_ASSOCIATION_SCREEN:
IMECandidatePageUp(&data->Ime);
data->HighlightedCandidate[0] = data->wcCandidates[data->Ime.CandidateCursor];
winShow(data->input_win);
break;
default:
break;
}
}
break;
case STROKE_INPUT_MODE:
{
switch( data->Ime.InputScreenType )
{
case TEXT_DISPLAY_SCREEN:
/* if the editor is phone book input, then control will send to phone book */
if( data->editor_data.edtInPbk == 1 )
{
SEND_EVENT (win, E_EDITOR_DEINIT, INFO_TOPREV_EDT, NULL);
}
else
{
edtSymbol( data->input_edt, ecUp );
/* Draw the other area */
DisplayOtherArea( data );
}
break;
case STROKE_INPUT_SCREEN:
case WORD_ASSOCIATION_SCREEN:
IMECandidatePageUp(&data->Ime);
data->HighlightedCandidate[0] = data->wcCandidates[data->Ime.CandidateCursor];
winShow(data->input_win);
break;
default:
break;
}
}
break;
case UPPERCASE_INPUT_MODE:
case LOWERCASE_INPUT_MODE:
case SHUZI_INPUT_MODE:
/* if the editor is phone book input, then control will send to phone book */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -