⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 t9main.c

📁 T9输入发接口部分,配合前面发的MTK MMI部分的学习,可以将其移植到其它需要的嵌入式软件中.
💻 C
📖 第 1 页 / 共 5 页
字号:
{
		 T9STATUS   sStatus = T9STATERROR;

            FieldInfo.nLdbNum               = PLDBID_Chinese | SLDBID_ChineseTraditional;
            t9event.mType = T9EVTSETLANG;
            sStatus = T9HandleEvent(&FieldInfo, &t9event);
            if (sStatus)
            {
                T9ProcessErrorReturnCodes(sStatus);
            }

            t9event.mType = T9EVTCTRL;
            t9event.data.mCtrlID = T9CTRLPHMULTI;//T9CTRLPHAMBIG;
            sStatus = T9HandleEvent(&FieldInfo, &t9event);
            if (sStatus)
            {
                T9ProcessErrorReturnCodes(sStatus);
            }

            t9event.mType = T9EVTCTRL;
            t9event.data.mCtrlID = T9CTRLSETPHMTUPDATE;
            sStatus = T9HandleEvent(&FieldInfo, &t9event);
            if (sStatus)
            {
                T9ProcessErrorReturnCodes(sStatus);
            }

            t9event.mType = T9EVTCTRL;
            t9event.data.mCtrlID = T9CTRLSETEXTSPELL;
            sStatus = T9HandleEvent(&FieldInfo, &t9event);
            if (sStatus)
            {
                T9ProcessErrorReturnCodes(sStatus);
            }
}

void T9ChangeLanguageToSMChineseStroke(void)
{
		T9STATUS   sStatus = T9STATERROR;

		FieldInfo.nLdbNum               = PLDBID_Chinese | SLDBID_ChineseSimplified;
		t9event.mType = T9EVTSETLANG;
		sStatus = T9HandleEvent(&FieldInfo, &t9event);
		if (sStatus)
		{
			T9ProcessErrorReturnCodes(sStatus);
		}

		t9event.mType = T9EVTCTRL;
		t9event.data.mCtrlID = T9CTRLSTROKE;
		sStatus = T9HandleEvent(&FieldInfo, &t9event);
		if (sStatus)
		{
			T9ProcessErrorReturnCodes(sStatus);
		}
}

void T9ChangeLanguageToTRChineseStroke(void)
{
		T9STATUS   sStatus = T9STATERROR;

		FieldInfo.nLdbNum               = PLDBID_Chinese | SLDBID_ChineseTraditional;
		t9event.mType = T9EVTSETLANG;
		sStatus = T9HandleEvent(&FieldInfo, &t9event);
		if (sStatus)
		{
			T9ProcessErrorReturnCodes(sStatus);
		}

		t9event.mType = T9EVTCTRL;
		t9event.data.mCtrlID = T9CTRLSTROKE;
		sStatus = T9HandleEvent(&FieldInfo, &t9event);
		if (sStatus)
		{
			T9ProcessErrorReturnCodes(sStatus);
		}
}
#endif

#if defined(__MMI_T9_V7__)
T9STATUS T9ChangeLanguage(T9U8 inputMethod)
{
   T9STATUS   sStatus = T9STATERROR;
   
   curInputMethod = inputMethod;
   
   if(T9MULTITAPMODE(FieldInfo.CCFieldInfo.G.dwStateBits))
   {
      sStatus = T9ClrExtMultitapMode(&FieldInfo.CCFieldInfo.G);
      if (sStatus)
      {
         T9ProcessErrorReturnCodes(sStatus);
         return sStatus;
      }
   }
   
   gTonePos = -1;
   gToneValue = -1;
   
   
   switch(inputMethod)
   {
      case T9_ENGLISH_EXP_UPPERCASE_ABC:
         sStatus = T9AWInitialize(&FieldInfo.AWFieldInfo,
                                                t9TxtBuf,
                                                t9AuxBuf,
                                                CHINESE_BUFFER_LENGTH,
                                                0 /* nBufLen */,
                                                T9HandleRequest,
                                                T9ReadLdbData);
         if ( T9STATNONE==sStatus) 
         {
            sStatus = T9AWSetLanguage(&FieldInfo.AWFieldInfo, T9PIDEnglish, &FieldInfo.CCFieldInfo.G, 0);
         }
         if ( T9STATNONE==sStatus)
         {
            sStatus = T9AWSetMultitapMode (&FieldInfo.AWFieldInfo);
         }
         if ( T9STATNONE==sStatus)
         {
            sStatus = T9AWSetCapState(&FieldInfo.AWFieldInfo);
         }
         if (sStatus)
         {
            T9ProcessErrorReturnCodes(sStatus);
         }
         break;
      
      case T9_ENGLISH_AMB_UPPERCASE_ABC:
         sStatus = T9AWInitialize(&FieldInfo.AWFieldInfo,
                                                t9TxtBuf,
                                                t9AuxBuf,
                                                CHINESE_BUFFER_LENGTH,
                                                0 /* nBufLen */,
                                                T9HandleRequest,
                                                T9ReadLdbData);
         if ( T9STATNONE==sStatus) 
         {
            sStatus = T9AWSetLanguage(&FieldInfo.AWFieldInfo, T9PIDEnglish, &FieldInfo.CCFieldInfo.G, 0);
         }
         if ( T9STATNONE==sStatus)
         {
            sStatus = T9AWClrMultitapMode (&FieldInfo.AWFieldInfo);
         }
         if ( T9STATNONE==sStatus)
         {
            sStatus = T9AWSetCapState(&FieldInfo.AWFieldInfo);
         }
         if (sStatus)
         {
            T9ProcessErrorReturnCodes(sStatus);
         }
         break;
      
      case T9_ENGLISH_EXP_LOWERCASE_abc:
         sStatus = T9AWInitialize(&FieldInfo.AWFieldInfo,
                                                t9TxtBuf,
                                                t9AuxBuf,
                                                CHINESE_BUFFER_LENGTH,
                                                0 /* nBufLen */,
                                                T9HandleRequest,
                                                T9ReadLdbData);
         if ( T9STATNONE==sStatus) 
         {
            sStatus = T9AWSetLanguage(&FieldInfo.AWFieldInfo, T9PIDEnglish, &FieldInfo.CCFieldInfo.G, 0);
         }
         if ( T9STATNONE==sStatus)
         {
            sStatus = T9AWSetMultitapMode (&FieldInfo.AWFieldInfo);
         }
         if ( T9STATNONE==sStatus)
         {
            sStatus = T9AWClrCapState(&FieldInfo.AWFieldInfo);
         }
         if (sStatus)
         {
            T9ProcessErrorReturnCodes(sStatus);
         }
         break;
      
      case T9_ENGLISH_AMB_LOWERCASE_abc:
         sStatus = T9AWInitialize(&FieldInfo.AWFieldInfo,
                                                t9TxtBuf,
                                                t9AuxBuf,
                                                CHINESE_BUFFER_LENGTH,
                                                0 /* nBufLen */,
                                                T9HandleRequest,
                                                T9ReadLdbData);
         if ( T9STATNONE==sStatus) 
         {
            sStatus = T9AWSetLanguage(&FieldInfo.AWFieldInfo, T9PIDEnglish, &FieldInfo.CCFieldInfo.G, 0);
         }
         if ( T9STATNONE==sStatus)
         {
            sStatus = T9AWClrMultitapMode (&FieldInfo.AWFieldInfo);
         }
         if ( T9STATNONE==sStatus)
         {
            sStatus = T9AWClrCapState(&FieldInfo.AWFieldInfo);
         }
         if (sStatus)
         {
            T9ProcessErrorReturnCodes(sStatus);
         }
         break;
      
//MTK Terry for Spanish French German Italian
#ifdef  __MMI_T9_SPANISH__
#ifdef T9LANG_Spanish
      case T9_SPANISH_EXP_UPPERCASE:
         sStatus = T9AWInitialize(&FieldInfo.AWFieldInfo,
                                                t9TxtBuf,
                                                t9AuxBuf,
                                                CHINESE_BUFFER_LENGTH,
                                                0 /* nBufLen */,
                                                T9HandleRequest,
                                                T9ReadLdbData);
         if ( T9STATNONE==sStatus) 
         {
            sStatus = T9AWSetLanguage(&FieldInfo.AWFieldInfo, T9PIDSpanish, &FieldInfo.CCFieldInfo.G, 0);
         }
         if ( T9STATNONE==sStatus)
         {
            sStatus = T9AWSetMultitapMode (&FieldInfo.AWFieldInfo);
         }
         if ( T9STATNONE==sStatus)
         {
            sStatus = T9AWSetCapState(&FieldInfo.AWFieldInfo);
         }
         if (sStatus)
         {
            T9ProcessErrorReturnCodes(sStatus);
         }
         break;
      
      case T9_SPANISH_AMB_UPPERCASE:
         sStatus = T9AWInitialize(&FieldInfo.AWFieldInfo,
                                                t9TxtBuf,
                                                t9AuxBuf,
                                                CHINESE_BUFFER_LENGTH,
                                                0 /* nBufLen */,
                                                T9HandleRequest,
                                                T9ReadLdbData);
         if ( T9STATNONE==sStatus) 
         {
            sStatus = T9AWSetLanguage(&FieldInfo.AWFieldInfo, T9PIDSpanish, &FieldInfo.CCFieldInfo.G, 0);
         }
         if ( T9STATNONE==sStatus)
         {
            sStatus = T9AWClrMultitapMode (&FieldInfo.AWFieldInfo);
         }
         if ( T9STATNONE==sStatus)
         {
            sStatus = T9AWSetCapState(&FieldInfo.AWFieldInfo);
         }
         if (sStatus)
         {
            T9ProcessErrorReturnCodes(sStatus);
         }
         break;
      
      case T9_SPANISH_EXP_LOWERCASE:
         sStatus = T9AWInitialize(&FieldInfo.AWFieldInfo,
                                                t9TxtBuf,
                                                t9AuxBuf,
                                                CHINESE_BUFFER_LENGTH,
                                                0 /* nBufLen */,
                                                T9HandleRequest,
                                                T9ReadLdbData);
         if ( T9STATNONE==sStatus) 
         {
            sStatus = T9AWSetLanguage(&FieldInfo.AWFieldInfo, T9PIDSpanish, &FieldInfo.CCFieldInfo.G, 0);
         }
         if ( T9STATNONE==sStatus)
         {
            sStatus = T9AWSetMultitapMode (&FieldInfo.AWFieldInfo);
         }
         if ( T9STATNONE==sStatus)
         {
            sStatus = T9AWClrCapState(&FieldInfo.AWFieldInfo);
         }
         if (sStatus)
         {
            T9ProcessErrorReturnCodes(sStatus);
         }
         break;
      
      case T9_SPANISH_AMB_LOWERCASE:
         sStatus = T9AWInitialize(&FieldInfo.AWFieldInfo,
                                                t9TxtBuf,
                                                t9AuxBuf,
                                                CHINESE_BUFFER_LENGTH,
                                                0 /* nBufLen */,
                                                T9HandleRequest,
                                                T9ReadLdbData);
         if ( T9STATNONE==sStatus) 
         {
            sStatus = T9AWSetLanguage(&FieldInfo.AWFieldInfo, T9PIDSpanish, &FieldInfo.CCFieldInfo.G, 0);
         }
         if ( T9STATNONE==sStatus)
         {
            sStatus = T9AWClrMultitapMode (&FieldInfo.AWFieldInfo);
         }
         if ( T9STATNONE==sStatus)
         {
            sStatus = T9AWClrCapState(&FieldInfo.AWFieldInfo);
         }
         if (sStatus)
         {
            T9ProcessErrorReturnCodes(sStatus);
         }
         break;
#endif
#endif
      
// PMT BHASKAR START 20052907

#ifdef  __MMI_T9_VIETNAMESE__
#ifdef T9LANG_Vietnamese
      case T9_VIETNAMESE_EXP_UPPERCASE:
         sStatus = T9AWInitialize(&FieldInfo.AWFieldInfo,
                                                t9TxtBuf,
                                                t9AuxBuf,
                                                CHINESE_BUFFER_LENGTH,
                                                0 /* nBufLen */,
                                                T9HandleRequest,
                                                T9ReadLdbData);
         if ( T9STATNONE==sStatus) 
         {
            sStatus = T9AWSetLanguage(&FieldInfo.AWFieldInfo, T9PIDVietnamese, &FieldInfo.CCFieldInfo.G, 0);
         }
         if ( T9STATNONE==sStatus)
         {
            sStatus = T9AWSetMultitapMode (&FieldInfo.AWFieldInfo);
         }
         if ( T9STATNONE==sStatus)
         {
            sStatus = T9AWSetCapState(&FieldInfo.AWFieldInfo);
         }
         if (sStatus)
         {
            T9ProcessErrorReturnCodes(sStatus);
         }
         break;
      
      case T9_VIETNAMESE_AMB_UPPERCASE:
         sStatus = T9AWInitialize(&FieldInfo.AWFieldInfo,
                                                t9TxtBuf,
                                                t9AuxBuf,
                                                CHINESE_BUFFER_LENGTH,
                                                0 /* nBufLen */,
                                                T9HandleRequest,
                                                T9ReadLdbData);
         if ( T9STATNONE==sStatus) 
         {
            sStatus = T9AWSetLanguage(&FieldInfo.AWFieldInfo, T9PIDVietnamese, &FieldInfo.CCFieldInfo.G, 0);
         }
         if ( T9STATNONE==sStatus)
         {
            sStatus = T9AWClrMultitapMode (&FieldInfo.AWFieldInfo);
         }
         if ( T9STATNONE==sStatus)
         {
            sStatus = T9AWSetCapState(&FieldInfo.AWFieldInfo);
         }
         if (sStatus)
         {
            T9ProcessErrorReturnCodes(sStatus);
         }
         break;
      
      case T9_VIETNAMESE_EXP_LOWERCASE:
         sStatus = T9AWInitialize(&FieldInfo.AWFieldInfo,
                                                t9TxtBuf,
                                                t9AuxBuf,
                                                CHINESE_BUFFER_LENGTH,
                                                0 /* nBufLen */,
                                                T9HandleRequest,
                                                T9ReadLdbData);
         if ( T9STATNONE==sStatus) 
         {
            sStatus = T9AWSetLanguage(&FieldInfo.AWFieldInfo, T9PIDVietnamese, &FieldInfo.CCFieldInfo.G, 0);
         }
         if ( T9STATNONE==sStatus)
         {
            sStatus = T9AWSetMultitapMode (&FieldInfo.AWFieldInfo);
         }
         if ( T9STATNONE==sStatus)
         {
            sStatus = T9AWClrCapState(&FieldInfo.AWFieldInfo);
         }
         if (sStatus)
         {
            T9ProcessErrorReturnCodes(sStatus);
         }
         break;
      
      case T9_VIETNAMESE_AMB_LOWERCASE:
      

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -