diff -r 4eb1ae11334f -r e6a39382bb9c fep/aknfep/src/AknFepSharedDataInterface.cpp --- a/fep/aknfep/src/AknFepSharedDataInterface.cpp Wed Apr 14 16:18:34 2010 +0300 +++ b/fep/aknfep/src/AknFepSharedDataInterface.cpp Tue Apr 27 16:59:43 2010 +0300 @@ -586,14 +586,18 @@ void CAknFepSharedDataInterface::HandleInputTextLanguageGSChange() { - iFepManager->SetFlag(CAknFepManager::EFlagNewSharedDataInputLanguage); - ESubVariantFlag subVariant = AknLayoutUtils::SubVariant(); - if((AknLayoutUtils::Variant() == EApacVariant) - && ((subVariant == EPrcSubVariant) - || (subVariant == EHongKongSubVariant) - || (subVariant == ETaiwanSubVariant))) + if( iFepManager->ActiveInputLanguage() != PenInputLanguage() ) { - iFepManager->SetFlag(CAknFepManager::EFlagNewSharedDataInputMode); + iFepManager->SetFlag(CAknFepManager::EFlagNewSharedDataInputLanguage); + ESubVariantFlag subVariant = AknLayoutUtils::SubVariant(); + if((AknLayoutUtils::Variant() == EApacVariant) + && ((subVariant == EPrcSubVariant) + || (subVariant == EHongKongSubVariant) + || (subVariant == ETaiwanSubVariant))) + { + iFepManager->SetFlag(CAknFepManager::EFlagNewSharedDataInputMode); + } + iFepManager->SetActiveInputLanguage( PenInputLanguage() ); } } @@ -768,7 +772,7 @@ RProperty::Get( KPSUidAknFep, KAknFepVirtualKeyboardType, keyboardType ); } -#else if +#else // Get physical keyboard type RProperty::Get(KCRUidAvkon, KAknKeyBoardLayout, keyboardType ); #endif