📄 t9main.c
字号:
{KEY_8, T9KEYAMBIG8},
{KEY_9, T9KEYAMBIG9},
{KEY_UP_ARROW, T9KEYPREV},
{KEY_DOWN_ARROW, T9KEYNEXT},
{KEY_LEFT_ARROW, T9KEYLEFT},
{KEY_RIGHT_ARROW, T9KEYRIGHT},
{KEY_RSK, T9KEYCLEAR},
{MAX_KEYS,T9KEYNONE}
};
#else
const KeyPad2T9Key keypad2T9KeyMap_TrChinese[] = {
{KEY_0, T9KEYAMBIGB},
{KEY_1, T9KEYAMBIG1},
{KEY_2, T9KEYAMBIG2},
{KEY_3, T9KEYAMBIG3},
{KEY_4, T9KEYAMBIG4},
{KEY_5, T9KEYAMBIG5},
{KEY_6, T9KEYAMBIG6},
{KEY_7, T9KEYAMBIG7},
{KEY_8, T9KEYAMBIG8},
{KEY_9, T9KEYAMBIG9},
{KEY_STAR, T9KEYAMBIGA},
{KEY_POUND, T9KEYAMBIGC},
{KEY_UP_ARROW, T9KEYPREV},
{KEY_DOWN_ARROW, T9KEYNEXT},
{KEY_LEFT_ARROW, T9KEYLEFT},
{KEY_RIGHT_ARROW, T9KEYRIGHT},
{KEY_RSK, T9KEYCLEAR},
{MAX_KEYS,T9KEYNONE}
};
#endif
//MTK Terry for Spanish French German Italian
#ifdef __MMI_T9_SPANISH__
#ifdef T9LANG_Spanish
const KeyPad2T9Key keypad2T9KeyMap_Spanish[] = {
{KEY_0, T9KEYAMBIGA},
{KEY_1, T9KEYAMBIG1},
{KEY_2, T9KEYAMBIG2},
{KEY_3, T9KEYAMBIG3},
{KEY_4, T9KEYAMBIG4},
{KEY_5, T9KEYAMBIG5},
{KEY_6, T9KEYAMBIG6},
{KEY_7, T9KEYAMBIG7},
{KEY_8, T9KEYAMBIG8},
{KEY_9, T9KEYAMBIG9},
{KEY_UP_ARROW, T9KEYPREV},
{KEY_DOWN_ARROW, T9KEYNEXT},
{KEY_LEFT_ARROW, T9KEYLEFT},
{KEY_RIGHT_ARROW, T9KEYRIGHT},
{KEY_RSK, T9KEYCLEAR},
{MAX_KEYS,T9KEYNONE}
};
#endif
#endif
// PMT BHASKAR START 20052907
#ifdef __MMI_T9_VIETNAMESE__
#ifdef T9LANG_Vietnamese
const KeyPad2T9Key keypad2T9KeyMap_Vietnamese[] = {
{KEY_0, T9KEYAMBIGA},
{KEY_1, T9KEYAMBIG1},
{KEY_2, T9KEYAMBIG2},
{KEY_3, T9KEYAMBIG3},
{KEY_4, T9KEYAMBIG4},
{KEY_5, T9KEYAMBIG5},
{KEY_6, T9KEYAMBIG6},
{KEY_7, T9KEYAMBIG7},
{KEY_8, T9KEYAMBIG8},
{KEY_9, T9KEYAMBIG9},
{KEY_UP_ARROW, T9KEYPREV},
{KEY_DOWN_ARROW, T9KEYNEXT},
{KEY_LEFT_ARROW, T9KEYLEFT},
{KEY_RIGHT_ARROW, T9KEYRIGHT},
{KEY_RSK, T9KEYCLEAR},
{MAX_KEYS,T9KEYNONE}
};
#endif
#endif
// PMT BHASKAR END 20052907
//PMT VIKASG START 20050729
#ifdef __MMI_T9_DANISH__
#ifdef T9LANG_Danish
const KeyPad2T9Key keypad2T9KeyMap_Danish[] = {
{KEY_0, T9KEYAMBIGA},
{KEY_1, T9KEYAMBIG1},
{KEY_2, T9KEYAMBIG2},
{KEY_3, T9KEYAMBIG3},
{KEY_4, T9KEYAMBIG4},
{KEY_5, T9KEYAMBIG5},
{KEY_6, T9KEYAMBIG6},
{KEY_7, T9KEYAMBIG7},
{KEY_8, T9KEYAMBIG8},
{KEY_9, T9KEYAMBIG9},
{KEY_UP_ARROW, T9KEYPREV},
{KEY_DOWN_ARROW, T9KEYNEXT},
{KEY_LEFT_ARROW, T9KEYLEFT},
{KEY_RIGHT_ARROW, T9KEYRIGHT},
{KEY_RSK, T9KEYCLEAR},
{MAX_KEYS,T9KEYNONE}
};
#endif
#endif
//PMT VIKASG END 20050729
#ifdef __MMI_T9_FRENCH__
#ifdef T9LANG_French
const KeyPad2T9Key keypad2T9KeyMap_French[] = {
{KEY_0, T9KEYAMBIGA},
{KEY_1, T9KEYAMBIG1},
{KEY_2, T9KEYAMBIG2},
{KEY_3, T9KEYAMBIG3},
{KEY_4, T9KEYAMBIG4},
{KEY_5, T9KEYAMBIG5},
{KEY_6, T9KEYAMBIG6},
{KEY_7, T9KEYAMBIG7},
{KEY_8, T9KEYAMBIG8},
{KEY_9, T9KEYAMBIG9},
{KEY_UP_ARROW, T9KEYPREV},
{KEY_DOWN_ARROW, T9KEYNEXT},
{KEY_LEFT_ARROW, T9KEYLEFT},
{KEY_RIGHT_ARROW, T9KEYRIGHT},
{KEY_RSK, T9KEYCLEAR},
{MAX_KEYS,T9KEYNONE}
};
#endif
#endif
#ifdef __MMI_T9_GERMAN__
#ifdef T9LANG_German
const KeyPad2T9Key keypad2T9KeyMap_German[] = {
{KEY_0, T9KEYAMBIGA},
{KEY_1, T9KEYAMBIG1},
{KEY_2, T9KEYAMBIG2},
{KEY_3, T9KEYAMBIG3},
{KEY_4, T9KEYAMBIG4},
{KEY_5, T9KEYAMBIG5},
{KEY_6, T9KEYAMBIG6},
{KEY_7, T9KEYAMBIG7},
{KEY_8, T9KEYAMBIG8},
{KEY_9, T9KEYAMBIG9},
{KEY_UP_ARROW, T9KEYPREV},
{KEY_DOWN_ARROW, T9KEYNEXT},
{KEY_LEFT_ARROW, T9KEYLEFT},
{KEY_RIGHT_ARROW, T9KEYRIGHT},
{KEY_RSK, T9KEYCLEAR},
{MAX_KEYS,T9KEYNONE}
};
#endif
#endif
#ifdef __MMI_T9_ITALIAN__
#ifdef T9LANG_Italian
const KeyPad2T9Key keypad2T9KeyMap_Italian[] = {
{KEY_0, T9KEYAMBIGA},
{KEY_1, T9KEYAMBIG1},
{KEY_2, T9KEYAMBIG2},
{KEY_3, T9KEYAMBIG3},
{KEY_4, T9KEYAMBIG4},
{KEY_5, T9KEYAMBIG5},
{KEY_6, T9KEYAMBIG6},
{KEY_7, T9KEYAMBIG7},
{KEY_8, T9KEYAMBIG8},
{KEY_9, T9KEYAMBIG9},
{KEY_UP_ARROW, T9KEYPREV},
{KEY_DOWN_ARROW, T9KEYNEXT},
{KEY_LEFT_ARROW, T9KEYLEFT},
{KEY_RIGHT_ARROW, T9KEYRIGHT},
{KEY_RSK, T9KEYCLEAR},
{MAX_KEYS,T9KEYNONE}
};
#endif
#endif
//MTK end
//PMT dara 8jan2005 for portuguese
#ifdef __MMI_T9_PORTUGUESE__
#ifdef T9LANG_Portuguese
const KeyPad2T9Key keypad2T9KeyMap_Portuguese[] = {
{KEY_0, T9KEYAMBIGA},
{KEY_1, T9KEYAMBIG1},
{KEY_2, T9KEYAMBIG2},
{KEY_3, T9KEYAMBIG3},
{KEY_4, T9KEYAMBIG4},
{KEY_5, T9KEYAMBIG5},
{KEY_6, T9KEYAMBIG6},
{KEY_7, T9KEYAMBIG7},
{KEY_8, T9KEYAMBIG8},
{KEY_9, T9KEYAMBIG9},
{KEY_UP_ARROW, T9KEYPREV},
{KEY_DOWN_ARROW, T9KEYNEXT},
{KEY_LEFT_ARROW, T9KEYLEFT},
{KEY_RIGHT_ARROW, T9KEYRIGHT},
{KEY_RSK, T9KEYCLEAR},
{MAX_KEYS,T9KEYNONE}
};
#endif
#endif
//PMT end
//PMT Gurdev Start 20050729
#ifdef __MMI_T9_INDONESIAN__
#ifdef T9LANG_Indonesian
const KeyPad2T9Key keypad2T9KeyMap_Indonesian[] = {
{KEY_0, T9KEYAMBIGA},
{KEY_1, T9KEYAMBIG1},
{KEY_2, T9KEYAMBIG2},
{KEY_3, T9KEYAMBIG3},
{KEY_4, T9KEYAMBIG4},
{KEY_5, T9KEYAMBIG5},
{KEY_6, T9KEYAMBIG6},
{KEY_7, T9KEYAMBIG7},
{KEY_8, T9KEYAMBIG8},
{KEY_9, T9KEYAMBIG9},
{KEY_UP_ARROW, T9KEYPREV},
{KEY_DOWN_ARROW, T9KEYNEXT},
{KEY_LEFT_ARROW, T9KEYLEFT},
{KEY_RIGHT_ARROW, T9KEYRIGHT},
{KEY_RSK, T9KEYCLEAR},
{MAX_KEYS,T9KEYNONE}
};
#endif
#endif
//PMT Gurdev End 20050729
#ifdef __MMI_T9_RUSSIAN__
const KeyPad2T9Key keypad2T9KeyMap_Russian[] = {
{KEY_0, T9KEYAMBIGA},
{KEY_1, T9KEYAMBIG1},
{KEY_2, T9KEYAMBIG2},
{KEY_3, T9KEYAMBIG3},
{KEY_4, T9KEYAMBIG4},
{KEY_5, T9KEYAMBIG5},
{KEY_6, T9KEYAMBIG6},
{KEY_7, T9KEYAMBIG7},
{KEY_8, T9KEYAMBIG8},
{KEY_9, T9KEYAMBIG9},
{KEY_UP_ARROW, T9KEYPREV},
{KEY_DOWN_ARROW, T9KEYNEXT},
{KEY_LEFT_ARROW, T9KEYLEFT},
{KEY_RIGHT_ARROW, T9KEYRIGHT},
{KEY_RSK, T9KEYCLEAR},
{MAX_KEYS,T9KEYNONE}
};
#endif
const BOPOCHAR BopomofoTable[] = {
{'b', "b", 0x3105, T9KEYAMBIG1},
{'p', "p", 0x3106, T9KEYAMBIG1},
{'m', "m", 0x3107, T9KEYAMBIG1},
{'f', "f", 0x3108, T9KEYAMBIG1},
{'d', "d", 0x3109, T9KEYAMBIG2},
{'t', "t", 0x310A, T9KEYAMBIG2},
{'n', "n", 0x310B, T9KEYAMBIG2},
{'l', "l", 0x310C, T9KEYAMBIG2},
{'g', "g", 0x310D, T9KEYAMBIG3},
{'k', "k", 0x310E, T9KEYAMBIG3},
{'h', "h", 0x310F, T9KEYAMBIG3},
{'j', "j", 0x3110, T9KEYAMBIG4},
{'q', "q", 0x3111, T9KEYAMBIG4},
{'x', "x", 0x3112, T9KEYAMBIG4},
{0xdf, "zh", 0x3113, T9KEYAMBIG5},
{0xe7, "ch", 0x3114, T9KEYAMBIG5},
{0x9a, "sh", 0x3115, T9KEYAMBIG5},
{'r', "r", 0x3116, T9KEYAMBIG5},
{'z', "z", 0x3117, T9KEYAMBIG6},
{'c', "c", 0x3118, T9KEYAMBIG6},
{'s', "s", 0x3119, T9KEYAMBIG6},
{'a', "a", 0x311A, T9KEYAMBIG7},
{'o', "o", 0x311B, T9KEYAMBIG7},
{'e', "e", 0x311C, T9KEYAMBIG7},
{0xe9, "ei", 0x311D, T9KEYAMBIG7},
{0xe4, "ai", 0x311E, T9KEYAMBIG8},
{0xf6, "ei", 0x311F, T9KEYAMBIG8},
{0xe5, "ao", 0x3120, T9KEYAMBIG8},
{0xfd, "ou", 0x3121, T9KEYAMBIG8},
{0xe3, "an", 0x3122, T9KEYAMBIG9},
{0xf5, "en", 0x3123, T9KEYAMBIG9},
{0xe2, "ang", 0x3124, T9KEYAMBIG9},
{0xf4, "eng", 0x3125, T9KEYAMBIG9},
{0xf8, "er", 0x3126, T9KEYAMBIG9},
{'i', "i", 0x3127, T9KEYAMBIGA},
{'u', "u", 0x3128, T9KEYAMBIGA},
{0xfc, "iu", 0x3129, T9KEYAMBIGA},
{0, 0, 0x0000, 0},
};
/*------------------------------------------------------------------------
*
* Callback routines necessary to link to the T9 Core.
*
*------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
Function: T9UpdateLSKString
Description: Update the temp_left_softkey_txt from MMI_left_softkey_text
Input Parameters: none
Output Parameters: none
Returns: void
----------------------------------------------------------------------------*/
void T9UpdateLSKString(void)
{
#if !defined(MMI_LOW_MEMORY_PHONE)
temp_left_softkey_text = MMI_softkeys[MMI_LEFT_SOFTKEY].text;
#else
temp_left_softkey_text = MMI_left_softkey.text;
#endif
}
/* This is static because the only use of it is in setting a pointer.
It is FARCALL because it might be called from anywhere. */
#if defined(__MMI_T9_V7__)
T9STATUS T9FARCALL T9HandleRequest(T9FieldInfo *pFieldInfo, T9Request *pRequest)
{
T9STATUS mStatus = T9STATERROR;
switch(pRequest->eType) {
/*------------------------------------------------------------------------
*
* Callback routines necessary to link to the T9 Core.
*
*------------------------------------------------------------------------*/
case T9REQMULTITAPSYM : /* External multi-tap request (Bopomofo only) */
mStatus = GetNextSymOnKey(pFieldInfo, pRequest);
break;
case T9REQTIMEOUT : /* Request a timer be set. */
if(gpTimer.iTimerID != 0xFFFF)
{
RemoveTimer((void *)&gpTimer);
}
if (T9TMRMULT == pRequest->data.sTimeout.eTimerType)//FieldInfo.nLdbNum == PLDBID_English)
{
if( inputMethodFlag & T9_IN_CATEGORY_5_FLAG )
{
RequestTimer(T9_MULTITAP_TIMER_DURATION, T9TimeoutMultilineInputBox,
pRequest->data.sTimeout.mTimerID);
}
//PMT Dara Added on 7/12/04...to disable EMS support for NEPTUNE
#if !defined(MMI_LOW_MEMORY_PHONE)||defined(__MMI_MESSAGES_EMS__)
else if ( inputMethodFlag & T9_IN_CATEGORY_28_FLAG )
{
RequestTimer(T9_MULTITAP_TIMER_DURATION, T9TimeoutForEMSInputBox,
pRequest->data.sTimeout.mTimerID);
}
#endif
//PMT end
}
mStatus = T9STATNONE;
break;
default:
mStatus = T9STATNONE;
}
return mStatus;
}
#else
static T9STATUS FARCALL T9HandleRequest(T9FieldInfo *pFieldInfo, T9Request *pRequest)
{
T9STATUS mStatus = T9STATERROR;
//void *pTimer;
switch(pRequest->mType) {
/*------------------------------------------------------------------------
*
* Callback routines necessary to link to the T9 Core.
*
*------------------------------------------------------------------------*/
case T9REQSPELLSYM : /* External multi-tap request (Bopomofo only) */
mStatus = GetNextSymOnKey(pFieldInfo, pRequest);
break;
case T9REQTIMEOUT : /* Request a timer be set. */
if(gpTimer.iTimerID != 0xFFFF)
{
RemoveTimer((void *)&gpTimer);
}
if (T9TMRMULT == pRequest->data.sTimeout.mTimerType)//FieldInfo.nLdbNum == PLDBID_English)
{
if( inputMethodFlag & T9_IN_CATEGORY_5_FLAG )
{
RequestTimer(T9_MULTITAP_TIMER_DURATION, T9TimeoutMultilineInputBox,
pRequest->data.sTimeout.mTimerID);
}
//PMT Dara Added on 7/12/04...to disable EMS support for NEPTUNE
#if !defined(MMI_LOW_MEMORY_PHONE)||defined(__MMI_MESSAGES_EMS__)
else if ( inputMethodFlag & T9_IN_CATEGORY_28_FLAG )
{
RequestTimer(T9_MULTITAP_TIMER_DURATION, T9TimeoutForEMSInputBox,
pRequest->data.sTimeout.mTimerID);
}
#endif
//PMT end
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -