diff -r f5a1e66df979 -r a47de9135b21 fep/aknfep/peninputplugins/peninputimeplugingeneric/src/peninputimeplugingeneric.cpp --- a/fep/aknfep/peninputplugins/peninputimeplugingeneric/src/peninputimeplugingeneric.cpp Fri Feb 19 23:09:27 2010 +0200 +++ b/fep/aknfep/peninputplugins/peninputimeplugingeneric/src/peninputimeplugingeneric.cpp Fri Mar 12 15:44:07 2010 +0200 @@ -50,7 +50,7 @@ _LIT(KVkbImeName, "Generic VKB"); _LIT(KFSQImeName, "Generic FSQ"); _LIT(KSSQImeName, "Split View Qwerty"); - +_LIT(KFingerHwrImeName, "Generic Fingerhwr"); _LIT(KHwrResourceFormatPattern, "peninputhwrwindowconfiginfo_*.rsc"); _LIT(KVkbResourceFormatPattern, "peninputvkbwindowconfiginfo_*.rsc"); _LIT(KSsqResourceFormatPattern, "peninputssqwinconfiginfo_*.rsc"); @@ -207,6 +207,11 @@ } } break; + case EPluginInputModeFingerHwr: + { + layoutId.iUid = KFingerHwrUiId; + } + break; default: return NULL; } @@ -266,6 +271,10 @@ { mode = EPluginInputModeFSQ; } + else if( aLayoutId == KFingerHwrUiId ) + { + mode = EPluginInputModeFingerHwr; + } else { return NULL; @@ -356,6 +365,11 @@ id = KFsqUiId; } break; + case EPluginInputModeFingerHwr: + { + id = KFingerHwrUiId; + } + break; default: { id = KInvalidImplId; @@ -452,7 +466,7 @@ TBool vkb = EFalse; TBool fsq = EFalse; TBool ssq = EFalse; - + TBool fingerhwr = EFalse; CleanupStack::PushL( TCleanupItem( Cleanup, &infoArray ) ); REComSession::ListImplementationsL(id, infoArray); @@ -480,6 +494,10 @@ { ssq = ETrue; } + if (infoArray[i]->ImplementationUid().iUid == KFingerHwrUiId ) + { + fingerhwr = ETrue; + } } TImePlguinImplDetail detail; @@ -592,6 +610,14 @@ } delete dir; } + if( fingerhwr ) + { + detail.iMode = EPluginInputModeFingerHwr; + detail.iMeritValue = EImeMerit_Preferred; + detail.iDisplayName.Copy(KFingerHwrImeName()); + detail.iLanguage = ELangArabic; + aSupportList.Append(detail); + } CleanupStack::PopAndDestroy(&infoArray); // infoArray @@ -735,6 +761,7 @@ switch ( aMode ) { + case EPluginInputModeFingerHwr: case EPluginInputModeHwr: { return iPluginUiManager = CPluginFepManagerHwr::NewL(*this, iPenInputServer);