Revision: 201023 RCL_3
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Mon, 21 Jun 2010 16:02:35 +0300
branchRCL_3
changeset 16 857bebeecec0
parent 15 6c2c2d3ab788
child 18 b1ea1642412e
Revision: 201023 Kit: 2010125
fep/aknfep/help/rom/fephelps_variant.iby
fep/aknfep/inc/AknFepKeyCatcher.h
fep/aknfep/resource/AknFep.rss
fep/aknfep/src/AknFepKeyCatcher.cpp
fep/aknfep/src/AknFepManager.cpp
fep/aknfep/src/AknFepPluginManager.cpp
fep/aknfep/src/AknFepUiInputStateEntryWesternPredictive.cpp
inputmethods_plat/pen_input_server_api/inc/peninputcmd.h
textinput/peninputarc/src/peninputanim/peninputanim.cpp
textinput/peninputarc/src/peninputlayoutcontrol/peninputlayoutbubblectrl.cpp
textinput/peninputarc/src/peninputserverapp/peninputserver.cpp
textinput/peninputfingerhwrar/data/peninputfingerhwrarwnd.rss
textinput/peninputfingerhwrar/inc/peninputfingerhwrarlafmanager.h
textinput/peninputfingerhwrar/rom/peninputfingerhwrar_variant.iby
textinput/peninputfingerhwrar/src/peninputfingerhwrarlafmanager.cpp
textinput/peninputfingerhwrar/src/peninputfingerhwrarwnd.cpp
textinput/peninputgenericvkb/group/peninputgenericvkb.mmp
textinput/peninputgenericvkb/src/peninputgenericvkbwindow.cpp
textinput/peninputgenericvkb/srcdata/peninputvkbwindowconfiginfo_58.rss
textinput/peninputsplitqwerty/group/peninputsplitqwerty.mmp
textinput/peninputsplitqwerty/src/peninputsplitqwertylafdatamgr.cpp
textinput/peninputsplitqwerty/srcdata/peninputssqwinconfiginfo_58.rss
textinput/peninputvkbcn/ctrlsrc/peninputvkbwindow.cpp
textinput/ptienginev2/inc/PtiEngineImpl.h
textinput/ptienginev2/src/PtiEngineImpl.cpp
--- a/fep/aknfep/help/rom/fephelps_variant.iby	Wed Jun 09 10:03:19 2010 +0300
+++ b/fep/aknfep/help/rom/fephelps_variant.iby	Mon Jun 21 16:02:35 2010 +0300
@@ -1,3 +1,29 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:     
+*
+*/
+
+
+
+
+
+
+
+
+
+
 #ifndef  __AKNFEPHELPS_VARIANT_IBY__
 #define  __AKNFEPHELPS_VARIANT_IBY__
 
--- a/fep/aknfep/inc/AknFepKeyCatcher.h	Wed Jun 09 10:03:19 2010 +0300
+++ b/fep/aknfep/inc/AknFepKeyCatcher.h	Mon Jun 21 16:02:35 2010 +0300
@@ -122,6 +122,7 @@
     inline void SetFlag(TInt aFlag);
     inline void ClearFlag(TInt aFlag);
     inline TBool IsFlagSet(TInt aFlag) const;
+    TKeyResponse CheckForSpecilacaseHandlingTosetKeyboardtype(const TKeyEvent& aKeyEvent, TEventCode aEventCode);
 	TBool IsNaviKey(TUint aCode);
 private:    
     // Data not owned
@@ -131,6 +132,9 @@
     TUint iFlags;
     TKeyPressLength     iKeyPressLength;
     TInt iLongPressedScanCode;
+    TBool iPreviousKeyeventNormal;
+    TBool iPreviousKeyeventSpecial;
+    TBool iRetainKeyBoardtypeFornextkeyevent;
     };
 
 /**
--- a/fep/aknfep/resource/AknFep.rss	Wed Jun 09 10:03:19 2010 +0300
+++ b/fep/aknfep/resource/AknFep.rss	Mon Jun 21 16:02:35 2010 +0300
@@ -924,7 +924,7 @@
     MENU_ITEM
         {
         command = EAknFepCmdPredHelp;
-        txt = qtn_pred_suboption_help;
+        txt = qtn_options_help;
         }
     };
 }
--- a/fep/aknfep/src/AknFepKeyCatcher.cpp	Wed Jun 09 10:03:19 2010 +0300
+++ b/fep/aknfep/src/AknFepKeyCatcher.cpp	Mon Jun 21 16:02:35 2010 +0300
@@ -79,7 +79,7 @@
 
 TKeyResponse CAknFepKeyCatcher::OfferKeyEventL(const TKeyEvent& aKeyEvent, TEventCode aEventCode)
     {
-   
+    CheckForSpecilacaseHandlingTosetKeyboardtype(aKeyEvent, aEventCode);
 #ifdef RD_SCALABLE_UI_V2     
     if (aEventCode == EEventKeyUp && 
         aKeyEvent.iScanCode == EStdKeyNo)
@@ -646,7 +646,8 @@
 
 CAknFepKeyCatcher::CAknFepKeyCatcher(CAknFepManager& aFepMan)
     : iFepMan(aFepMan),
-      iKeyCatcherState(EAknFepStateNull)
+      iKeyCatcherState(EAknFepStateNull),iPreviousKeyeventNormal(ETrue),
+      iPreviousKeyeventSpecial(EFalse),iRetainKeyBoardtypeFornextkeyevent(EFalse)
     {
     }
 
@@ -768,4 +769,70 @@
 
 #endif //RD_SCALABLE_UI_V2 
 
+//To set to ITU-T mode when qwerty keypad is open and user try to use ITU-T Keypad.
+TKeyResponse CAknFepKeyCatcher::CheckForSpecilacaseHandlingTosetKeyboardtype(const TKeyEvent& aKeyEvent, TEventCode aEventCode)
+	{
+	
+	//These modifiers will set by dialer application, to simulate
+	// touch button events, hence check event has come from touch keypad and set keyboardlayout accordingly
+			
+	if(aKeyEvent.iModifiers & EModifierNumLock &&
+        aKeyEvent.iModifiers & EModifierKeypad 
+        )
+		{
+		//Check for modifiers and previous event handled is normal or special.
+		if(iFepMan.KeyboardLayout() != EPtiKeyboard12Key &&
+			 iPreviousKeyeventNormal)
+	        {	        
+	        iFepMan.SetKeyboardLayout(EPtiKeyboard12Key);
+	        iFepMan.SetFnKeyMappingState();
+	        iFepMan.SetQwertyMode(0);
+	        
+	        //This variable will be set, while handling special key events,	        
+	        iPreviousKeyeventSpecial = ETrue;
+	        
+	        //This variable will be set while handling normal keyevent
+	        iPreviousKeyeventNormal = EFalse;
+	        iRetainKeyBoardtypeFornextkeyevent = EFalse;	        
+	        }
+	        
+	        //Additional modifier set by query dialog, while simulating event
+	        // As raw key events are used to simulate, modifiers and scan codes cannot be set at a time
+	        // In the 1st event, modifiers are set and in subsequent event, scan codes will be set. 
+	        if(aKeyEvent.iModifiers & EModifierSpecial)
+	        	{
+	        	iRetainKeyBoardtypeFornextkeyevent = ETrue;   
+	        	iPreviousKeyeventSpecial = ETrue;
+	        	iPreviousKeyeventNormal = ETrue;     	
+	        	return EKeyWasConsumed;	        
+	        	}	        							
+		}
+	else if(iFepMan.KeyboardLayout() == EPtiKeyboard12Key && iPreviousKeyeventSpecial)	 
+		{
+		//In case of query dialog, treat it as special event, till keyup event.
+		if(!iRetainKeyBoardtypeFornextkeyevent)
+			{		
+			TInt activeKeypad=0;
+			TInt activeKeypadType =0;
+			RProperty::Get(KCRUidAvkon, KAknKeyBoardLayout,activeKeypad);
+	        RProperty::Get(KCRUidAvkon, KAknQwertyInputModeActive, activeKeypadType);
+			iFepMan.SetKeyboardLayout((TPtiKeyboardType)activeKeypad);
+	        iFepMan.SetFnKeyMappingState();
+	        iFepMan.SetQwertyMode(activeKeypadType);
+	        iPreviousKeyeventNormal = ETrue;
+	        iPreviousKeyeventSpecial = EFalse;
+			}
+		else if(aEventCode == EEventKeyUp)	//In case of query dialog reset flag in Keyup event.			
+			iRetainKeyBoardtypeFornextkeyevent =EFalse;	
+		}
+		
+	if(iPreviousKeyeventSpecial)
+		{
+		iFepMan.CancelShiftKeyTimer();
+		iFepMan.ClearFlag(CAknFepManager::EFlagShiftKeyDepressed);					
+		}
+		
+	return EKeyWasNotConsumed;
+	}
+	
 // End of file
--- a/fep/aknfep/src/AknFepManager.cpp	Wed Jun 09 10:03:19 2010 +0300
+++ b/fep/aknfep/src/AknFepManager.cpp	Mon Jun 21 16:02:35 2010 +0300
@@ -132,6 +132,8 @@
 #include <aknCharMap.h>
 
 #include <AknFepInternalPSKeys.h>
+#include <e32property.h>
+#include <AknDef.h>
 
 const TInt KSelectItemSize(10);
 _LIT(KAknFepResourceFileName, "z:\\resource\\fep\\aknfep.rsc");
@@ -249,6 +251,9 @@
 
 LOCAL_C TInt RemapVietnameseAccentedCharacter(TUint16 aChr);
 
+static _LIT_SECURITY_POLICY_PASS( KAllowAllPolicy );
+static _LIT_SECURITY_POLICY_C1( KPowerMgmtPolicy, ECapabilityPowerMgmt );
+
 //
 // Class TTextDirectionalInfo
 //
@@ -442,6 +447,13 @@
     iHybridAplphaChangedToAlphanumeric = EFalse;
     iLastFocusedEditor = NULL;
     iFepAwareDialogParentEditor = NULL;
+	
+	RProperty::Define(
+            KPSUidAknFep, 
+            KAknFepSettingDialogState, 
+            RProperty::EInt, 
+            KAllowAllPolicy,  // None
+            KPowerMgmtPolicy ); 
     }
 
 void CAknFepManager::ConstructFullyL()
@@ -8858,7 +8870,7 @@
     TInt textQueryEditorFlag = 0;
     if ((aResourceId == R_AVKON_INSERT_WORD_QUERY ||
          aResourceId == R_AVKON_EDIT_WORD_QUERY ) &&
-        IsChineseInputLanguage())
+         FeatureManager::FeatureSupported( KFeatureIdChinese ))
     	{
 	    textQueryEditorFlag = EAknEditorFlagLatinInputModesOnly;
     	}
--- a/fep/aknfep/src/AknFepPluginManager.cpp	Wed Jun 09 10:03:19 2010 +0300
+++ b/fep/aknfep/src/AknFepPluginManager.cpp	Mon Jun 21 16:02:35 2010 +0300
@@ -827,6 +827,15 @@
 //                OnPenInputServerKeyEventL(pBuf);                
                 }
                 break;
+            case ESignalDeactivateSprite:
+            	{
+                ClosePluginInputUiL( ETrue );
+                if(iPenInputSvrConnected ) //lost foreground
+                    {
+                    iPenInputServer.LoseForeground();
+                    }
+            	}
+            	break;
             default:
                 break;
             }
@@ -1525,8 +1534,8 @@
 // 
 void CAknFepPluginManager::OnResourceChangedL( TInt aType )
     { 
-    if ( !iCurrentPluginInputFepUI || !iPenInputServer.IsForeground() || 
-         iPluginInputMode == EPluginInputModeNone )
+    if ( !iCurrentPluginInputFepUI 
+    	 || iPluginInputMode == EPluginInputModeNone )
         {
         return;
         }
@@ -1536,23 +1545,45 @@
 	     && !iSharedData.AutoRotateEnabled() )
         {
         return;
-        }
-        
+        }    
+
+    TInt preInputMode = iPluginInputMode;
+    if ( iSharedData.AutoRotateEnabled() && 
+        ( preInputMode == EPluginInputModeFSQ || preInputMode == EPluginInputModeItut ) )
+        {
+        // Calculate current input mode by orientation.
+        // even though peninputserver is brought to backgroud, 
+        // the value for current input mode also needs to be ready. 
+        // For example, when open task switcher, pen ui is invisible and peniput server is background, 
+        // then switch orientation...
+        // After that when focus go back to editor, config FEP must be done before pen ui open,
+        // And FEP must know for which kind of input method it configur.        
+        TPixelsTwipsAndRotation size; 
+        CCoeEnv::Static()->ScreenDevice()->GetDefaultScreenSizeAndRotation(size);        
+        iPluginInputMode = ( size.iPixelSize.iWidth < size.iPixelSize.iHeight ) ? 
+            EPluginInputModeItut : EPluginInputModeFSQ;            
+        }
+    
+    if ( !iPenInputServer.IsForeground() )
+	    {
+	    return;
+	    }
+
     TBool setResChange = EFalse;
     
-    if (iPluginInputMode == EPluginInputModeItut || 
-         iPluginInputMode == EPluginInputModeFSQ ||
-        iPluginInputMode == EPluginInputModeFingerHwr)
+    if ( preInputMode == EPluginInputModeItut || 
+    	 preInputMode == EPluginInputModeFSQ ||
+    	 preInputMode == EPluginInputModeFingerHwr )
         {
         setResChange = ETrue;
-        iPenInputServer.SetResourceChange(ETrue);    
+        iPenInputServer.SetResourceChange(ETrue);           
         }
     
     iResourceChange = ETrue;   
 
     TBool needToChangeInputMode = ETrue;
     if ( iSharedData.AutoRotateEnabled() && 
-        ( iPluginInputMode == EPluginInputModeFSQ || iPluginInputMode == EPluginInputModeItut ) )
+         ( preInputMode == EPluginInputModeFSQ || preInputMode == EPluginInputModeItut ) )
         {
         if ( IsSpellVisible() )
             {
@@ -1561,22 +1592,16 @@
             iFepMan.HandleChangeInFocusForSettingFep();
             iFepMan.SetNotifyPlugin( ETrue );
             }
-        TPixelsTwipsAndRotation size; 
-        CCoeEnv::Static()->ScreenDevice()->GetDefaultScreenSizeAndRotation(size);
-
-        TPluginInputMode inputModeBeforeOri = ( size.iPixelSize.iWidth < size.iPixelSize.iHeight ) ? 
-            EPluginInputModeItut : EPluginInputModeFSQ;
         
-            if ( iPenInputMenu && iPenInputMenu->IsShowing() )
-                {
-                iPenInputMenu->Hide();
-                ResetMenuState(EFalse);
-                }
+         if ( iPenInputMenu && iPenInputMenu->IsShowing() )
+             {
+             iPenInputMenu->Hide();
+             ResetMenuState(EFalse);
+             }
             
-        if(inputModeBeforeOri != iPluginInputMode)
-            {
-            iPluginInputMode = inputModeBeforeOri; 
-            ClosePluginInputModeL(ETrue);               
+        if( preInputMode != iPluginInputMode )
+            {            
+            ClosePluginInputModeL(ETrue);
             iFepMan.TryCloseUiL();
             }
         else
@@ -1591,6 +1616,16 @@
                                      EPenInputOpenManually,
                                      ERangeInvalid ); 
 		}
+    else 
+        {
+        if ( !NotifyInGlobalNoteEditorL() )
+            {
+            iFocuschangedForSpellEditor = EFalse; 
+            iCurrentPluginInputFepUI->ActivateUI(); 
+            iNeedFetchDimState = ETrue;
+            }
+        }
+
     
     /*if(size.iPixelSize.iWidth > size.iPixelSize.iHeight ) //landscape
         {
--- a/fep/aknfep/src/AknFepUiInputStateEntryWesternPredictive.cpp	Wed Jun 09 10:03:19 2010 +0300
+++ b/fep/aknfep/src/AknFepUiInputStateEntryWesternPredictive.cpp	Mon Jun 21 16:02:35 2010 +0300
@@ -709,7 +709,7 @@
                    ( fepMgr->PluginUIManager()->PluginInputMode() == EPluginInputModeItut ))
                     {
                     // launch full screen query for split itut
-                    fepMgr->LaunchEditWordQueryL();
+                    fepMgr->PluginUIManager()->HandleServerEventL(ESignalEnterSpellMode);  
                     }
                 else
                     {
--- a/inputmethods_plat/pen_input_server_api/inc/peninputcmd.h	Wed Jun 09 10:03:19 2010 +0300
+++ b/inputmethods_plat/pen_input_server_api/inc/peninputcmd.h	Mon Jun 21 16:02:35 2010 +0300
@@ -152,6 +152,7 @@
     EPeninputOpSetDiscreeptPop,  
     ESignalDeleteLastInput,
     ESignalArabicSCTChar,
+    ESignalDeactivateSprite,
     ESignalUserEventBase = 2000
     };
 
--- a/textinput/peninputarc/src/peninputanim/peninputanim.cpp	Wed Jun 09 10:03:19 2010 +0300
+++ b/textinput/peninputarc/src/peninputanim/peninputanim.cpp	Mon Jun 21 16:02:35 2010 +0300
@@ -42,10 +42,10 @@
 
 #include <avkondomainpskeys.h>
 //CONSTANT
-const TInt KMsgSlot1 = 1;	//msg slot 2 in IPC
-const TInt KMsgSlot2 = 2; 	//msg slot 2 in IPC
-const TInt KFlushTimerPeriod = 1000 * 10;		//1/100 second
-const TInt KResponseQueueWaitTime = 100000;		//1/10 second
+const TInt KMsgSlot1 = 1;     //msg slot 2 in IPC
+const TInt KMsgSlot2 = 2;     //msg slot 2 in IPC
+const TInt KFlushTimerPeriod = 1000 * 10;          //1/100 second
+const TInt KResponseQueueWaitTime = 100000;        //1/10 second
 
 // ======== GLOBAL FUNCTIONS ========
 
@@ -57,7 +57,7 @@
 //
 EXPORT_C CAnimDll *CreateCAnimDllL()
     {
-	return(new (ELeave) CPeninputAnimDll()); 
+    return(new (ELeave) CPeninputAnimDll()); 
     }
 
 // ======== MEMBER FUNCTIONS ========
@@ -71,7 +71,7 @@
 //
 CAnim* CPeninputAnimDll::CreateInstanceL(TInt /*aType*/)
     {
-	return new(ELeave) CPeninputAnim();
+    return new(ELeave) CPeninputAnim();
     }
 
 // class CPeninputAnim
@@ -83,28 +83,28 @@
 //
 CPeninputAnim::CPeninputAnim()
     {
-	iIsActive = EFalse;
-	//iSpritePosition and iSpriteSize are initialized to 0 by default constructor
-	//iSpritePosition = TPoint(0, 0);
-	//iSpriteSize = TSize(0, 0);
-	iIsPointerCaptured = EFalse;
-	iIsPenDown = EFalse;
-	
-	iPrimaryTouchPtNum = 0;
-	iPrimaryTouchPtDetected = EFalse;
+    iIsActive = EFalse;
+    //iSpritePosition and iSpriteSize are initialized to 0 by default constructor
+    //iSpritePosition = TPoint(0, 0);
+    //iSpriteSize = TSize(0, 0);
+    iIsPointerCaptured = EFalse;
+    iIsPenDown = EFalse;
+    
+    iPrimaryTouchPtNum = 0;
+    iPrimaryTouchPtDetected = EFalse;
 
-	
-#ifdef RD_TACTILE_FEEDBACK	
-	TRAPD( err, FeatureManager::InitializeLibL() );
+    
+#ifdef RD_TACTILE_FEEDBACK    
+    TRAPD( err, FeatureManager::InitializeLibL() );
     if( err == KErrNone )
         {
         iTactileSupported =  FeatureManager::FeatureSupported( KFeatureIdTactileFeedback );
         }
-	iFeedback = MTactileFeedbackServer::Instance();
-#endif // RD_TACTILE_FEEDBACK	
+    iFeedback = MTactileFeedbackServer::Instance();
+#endif // RD_TACTILE_FEEDBACK    
     
-    iEnableSprite = ETrue;	
-    iDSAState = EFalse;	
+    iEnableSprite = ETrue;    
+    iDSAState = EFalse;    
     }
 
 // ---------------------------------------------------------------------------
@@ -114,19 +114,19 @@
 //
 CPeninputAnim::~CPeninputAnim()
     {
-	Deactivate();
+    Deactivate();
 
-	iMsgBufQueue.Close();
-	iKeyMsgResponseQueue.Close();
-	iResponseQueueSemaphore.Close();
-	
-	delete iFlushTimer;
-#ifdef RD_TACTILE_FEEDBACK	
-	FeatureManager::UnInitializeLib();
-	iTactileControl.Close();
-	iBackupTactileControl.Close();
-#endif // RD_TACTILE_FEEDBACK	
-	delete iPointerEventSuppressor;
+    iMsgBufQueue.Close();
+    iKeyMsgResponseQueue.Close();
+    iResponseQueueSemaphore.Close();
+    
+    delete iFlushTimer;
+#ifdef RD_TACTILE_FEEDBACK    
+    FeatureManager::UnInitializeLib();
+    iTactileControl.Close();
+    iBackupTactileControl.Close();
+#endif // RD_TACTILE_FEEDBACK    
+    delete iPointerEventSuppressor;
     }
 
 // ---------------------------------------------------------------------------
@@ -136,10 +136,10 @@
 //
 void CPeninputAnim::ConstructL(TAny* /*aParameters*/)
     {
-	// the animation feature is not used
-	iFunctions->SetInterval(0);
-	iFlushTimer = CPeriodic::NewL(CActive::EPriorityStandard);
-	
+    // the animation feature is not used
+    iFunctions->SetInterval(0);
+    iFlushTimer = CPeriodic::NewL(CActive::EPriorityStandard);
+    
     iFunctions->RegisterForNotifications(EDirectScreenAccess);
     iPointerEventSuppressor = CPenPointerEventSuppressor::NewL();
     }
@@ -199,7 +199,7 @@
     {
     if( iIsSimulatedEvent )
         {
-    	return EFalse;
+        return EFalse;
         }
     
     // Suppress multi-touch events
@@ -228,7 +228,7 @@
         }
 
     
-	// Suppress unexpected drag events
+    // Suppress unexpected drag events
     TPointerEvent pointerEvent;
     switch ( aRawEvent.Type() )
         {
@@ -260,30 +260,39 @@
         }
 
     
-	switch(aRawEvent.Type())
-	    {
-		case TRawEvent::EKeyUp:
-		case TRawEvent::EKeyDown:
-		    {
-			return OnRawKeyEvent(aRawEvent);        	
-		    }
-		case TRawEvent::EButton1Down:
-		    {
-			return OnRawButton1Down(aRawEvent);
-		    }
-		case TRawEvent::EButton1Up:
-		    {
-			return OnRawButton1Up(aRawEvent);
-		    }
-		case TRawEvent::EPointerMove:
-		    {
-			return OnRawPointerMove(aRawEvent);
-		    }
-		default:
-		    {
-			return EFalse;
-		    }            
-	    }	
+    switch(aRawEvent.Type())
+        {
+        case TRawEvent::EKeyUp:
+        case TRawEvent::EKeyDown:
+            {
+            return OnRawKeyEvent(aRawEvent);            
+            }
+        case TRawEvent::EButton1Down:
+            {
+            TBool used = OnRawButton1Down(aRawEvent);
+            
+            if ( used )
+                {
+                StartTimer();
+                }
+            
+            return used;
+            }
+        case TRawEvent::EButton1Up:
+            {
+            TBool used = OnRawButton1Up(aRawEvent);
+            StopTimer();
+            return used;
+            }
+        case TRawEvent::EPointerMove:
+            {
+            return OnRawPointerMove(aRawEvent);
+            }
+        default:
+            {
+            return EFalse;
+            }            
+        }    
     }
 
 // ---------------------------------------------------------------------------
@@ -296,7 +305,7 @@
     {
     switch(aOpcode)
         {
-		case EPeninputOpActivate:
+        case EPeninputOpActivate:
             {
             Activate();
             break;
@@ -308,16 +317,16 @@
             }        
         case EPeninputOpLayoutUpdateArea:
             {
-            PanicClientIfNoParam(aParams);	                
-			TUpdateDataArea* area = static_cast<TUpdateDataArea*>(aParams);
-			iSpriteFunctions->UpdateMember( 0, area->iRect, area->iUpdateFlag );
-			break;
-		    }			
+            PanicClientIfNoParam(aParams);                    
+            TUpdateDataArea* area = static_cast<TUpdateDataArea*>(aParams);
+            iSpriteFunctions->UpdateMember( 0, area->iRect, area->iUpdateFlag );
+            break;
+            }            
         case EPeninputOpCapturePointer:
             {
             PanicClientIfNoParam(aParams);            
-	        iIsPointerCaptured = *(static_cast<TBool*>(aParams));
-	        break;
+            iIsPointerCaptured = *(static_cast<TBool*>(aParams));
+            break;
             }
         case EPeninputOpSimulateEvent:
             {
@@ -356,7 +365,7 @@
                 }
             TTactileControlInfo controlitem(area.iId, area.iNewRect, area.iTactileType);
             TInt idx = iTactileControl.Find(controlitem, 
-            		TIdentityRelation<TTactileControlInfo>(CPeninputAnim::MatchItemByControlID));
+                    TIdentityRelation<TTactileControlInfo>(CPeninputAnim::MatchItemByControlID));
             if(idx != KErrNotFound)
                 {  
                 iTactileControl.Remove(idx);
@@ -378,18 +387,18 @@
             }
             break; 
         case EPeninputOpChangeFeedbackType:
-        	{
-        	PanicClientIfNoParam(aParams);
+            {
+            PanicClientIfNoParam(aParams);
             TTactileFeedbackArea area = *(static_cast<TTactileFeedbackArea*>(aParams));
             TTactileControlInfo controlitem(area.iId, area.iNewRect, area.iTactileType);
             TInt idx = iTactileControl.Find(controlitem,                    
-					TIdentityRelation<TTactileControlInfo>(CPeninputAnim::MatchItemByControlID));
+                    TIdentityRelation<TTactileControlInfo>(CPeninputAnim::MatchItemByControlID));
             if(idx != KErrNotFound)
                 {                                
                 //change the tactile type
                 iTactileControl[idx].iTactileType = area.iTactileType;
-                }        	
-        	}
+                }            
+            }
             break;
 #endif // RD_TACTILE_FEEDBACK
         case EPeninputOpEnalbeSprite:
@@ -406,7 +415,7 @@
             iFunctions->Panic();
             break;
             }
-	    }
+        }
     }
 
 
@@ -432,7 +441,7 @@
             iKeyMsgResponseQueue.OpenGlobal(KMsgEventResponseQueue);
             iResponseQueueSemaphore.OpenGlobal(KAnimKeyEventSemaphore);
 
-			break;
+            break;
             }
 
         case EPeninputOpActivate:
@@ -448,19 +457,19 @@
             }       
             
         case EPeninputOpLayoutUpdateArea:
-        	{
-        	//TUpdateDataArea s;
-			//TPckg<TUpdateDataArea> pkg(s);        	
-			TRect rect;
-			TBool flag;
-		    TPckg<TRect> rectMsg(rect);			
-		    TPckg<TBool> flagMsg(flag);    
-			
-			msg->ReadL(KMsgSlot1,rectMsg);
-			msg->ReadL(KMsgSlot2,flagMsg);
-			iSpriteFunctions->UpdateMember(0, rect,flag);			
-        	  }
-        	  break;
+            {
+            //TUpdateDataArea s;
+            //TPckg<TUpdateDataArea> pkg(s);            
+            TRect rect;
+            TBool flag;
+            TPckg<TRect> rectMsg(rect);            
+            TPckg<TBool> flagMsg(flag);    
+            
+            msg->ReadL(KMsgSlot1,rectMsg);
+            msg->ReadL(KMsgSlot2,flagMsg);
+            iSpriteFunctions->UpdateMember(0, rect,flag);            
+              }
+              break;
         case EPeninputOpLayoutUpdateAreaRegion:
             {
             TInt num;
@@ -481,8 +490,8 @@
                 }
 
             CleanupStack::PopAndDestroy( buf );
-        	}
-        	break;
+            }
+            break;
         case EPeninputOpSetLayoutPos:
             {
             TPoint pt;
@@ -495,55 +504,55 @@
         case EPeninputOpCapturePointer:
             {
             TInt captureCtrlID;
-			TPckg<TBool> msgData(iIsPointerCaptured);
-			TPckg<TInt> msgCaptureCtrlIDData(captureCtrlID);
+            TPckg<TBool> msgData(iIsPointerCaptured);
+            TPckg<TInt> msgCaptureCtrlIDData(captureCtrlID);
             
             msg->ReadL(KMsgSlot1,msgData);
             msg->ReadL(KMsgSlot2,msgCaptureCtrlIDData);
 #ifdef RD_TACTILE_FEEDBACK
-			// When pointer is captured by some ctrl,
-			// only the captured ctrl has tactile feedback ablity,
-			// disable all other one's.
+            // When pointer is captured by some ctrl,
+            // only the captured ctrl has tactile feedback ablity,
+            // disable all other one's.
             if (iIsPointerCaptured)
-            	{
-            	// Back up all the tactile area
-            	iBackupTactileControl.Reset();        	
-		        TInt count = iTactileControl.Count();
-		        for(TInt i = 0; i < count; ++i)
-		            {
-		            iBackupTactileControl.Append(iTactileControl[i]);
-		            }
-		        
-		        // Clean up the original tactile area
-		        iTactileControl.Reset();		       
-		        
-		        // Find the captured ctrl, restore its tactile ablity
-		        for(TInt i = 0; i < count; ++i)
-		            {
-		            if (iBackupTactileControl[i].iId == captureCtrlID)
-		            	{
-		            	iTactileControl.Append(iBackupTactileControl[i]);
-		            	}
-		            }
+                {
+                // Back up all the tactile area
+                iBackupTactileControl.Reset();            
+                TInt count = iTactileControl.Count();
+                for(TInt i = 0; i < count; ++i)
+                    {
+                    iBackupTactileControl.Append(iTactileControl[i]);
+                    }
+                
+                // Clean up the original tactile area
+                iTactileControl.Reset();               
+                
+                // Find the captured ctrl, restore its tactile ablity
+                for(TInt i = 0; i < count; ++i)
+                    {
+                    if (iBackupTactileControl[i].iId == captureCtrlID)
+                        {
+                        iTactileControl.Append(iBackupTactileControl[i]);
+                        }
+                    }
 
-            	}
+                }
             // When pointer released captured, 
             // restore all original tactile area.
             else 
-            	{
-            	if (iBackupTactileControl.Count() != 0)
-            		{
-            		iTactileControl.Reset();			       
-	            	
-			        TInt count = iBackupTactileControl.Count();
-			        for(TInt i = 0; i < count; ++i)
-			            {
-			            iTactileControl.Append(iBackupTactileControl[i]);
-			            }
-			        iBackupTactileControl.Reset();
-            		}
-            	}
-#endif            	
+                {
+                if (iBackupTactileControl.Count() != 0)
+                    {
+                    iTactileControl.Reset();                   
+                    
+                    TInt count = iBackupTactileControl.Count();
+                    for(TInt i = 0; i < count; ++i)
+                        {
+                        iTactileControl.Append(iBackupTactileControl[i]);
+                        }
+                    iBackupTactileControl.Reset();
+                    }
+                }
+#endif                
             }
             break;
         case EPeninputOpLayoutSizeChangedWithSize:
@@ -567,7 +576,7 @@
             
 #ifdef RD_TACTILE_FEEDBACK             
         case EPeninputOpRegisterFeedbackArea:
-            {						
+            {                        
             GetFeedbackAreaDataL(iTactileControl,msg);            
             }
             break;
@@ -583,7 +592,7 @@
             //remove all registered feedback area
             const TInt KRemoveAllId = -1;           
             if(controlarray.Count() && controlarray[0].iId == KRemoveAllId && 
-										controlarray[0].iArea == TRect(0,0,0,0))
+                                        controlarray[0].iArea == TRect(0,0,0,0))
                 {
                 //remove all
                 iTactileControl.Reset();
@@ -595,7 +604,7 @@
                     {
                     //find id first
                     TInt idx = iTactileControl.Find(controlarray[i], 
-								TIdentityRelation<TTactileControlInfo>(CPeninputAnim::MatchItemByControlID));
+                                TIdentityRelation<TTactileControlInfo>(CPeninputAnim::MatchItemByControlID));
                     
                     if(idx != KErrNotFound)
                         {
@@ -624,7 +633,7 @@
                 {
                 //find id first
                 TInt idx = iTactileControl.Find(controlarray[i], 
-                		   TIdentityRelation<TTactileControlInfo>(CPeninputAnim::MatchItemByControlID));
+                           TIdentityRelation<TTactileControlInfo>(CPeninputAnim::MatchItemByControlID));
                                     
                 if(idx != KErrNotFound)
                     {
@@ -654,12 +663,12 @@
             for(TInt i = 0; i < controlarray.Count(); ++i)
                 {
                 //find id first
-                TInt idx = iTactileControl.Find(controlarray[i],                 		   
-						   TIdentityRelation<TTactileControlInfo>(CPeninputAnim::MatchItemByControlID));
+                TInt idx = iTactileControl.Find(controlarray[i],                            
+                           TIdentityRelation<TTactileControlInfo>(CPeninputAnim::MatchItemByControlID));
                 if(idx != KErrNotFound)
                     {
                     //change the tactile feedback type
-					iTactileControl[idx].iTactileType = controlarray[i].iTactileType;
+                    iTactileControl[idx].iTactileType = controlarray[i].iTactileType;
                     break;
                     }
                 }
@@ -672,20 +681,20 @@
 #endif // RD_TACTILE_FEEDBACK 
         case EPeninputOpRequestDSAState:                        
             {
-		    TPckgC<TBool> flagMsg(iDSAState);    
-			
-			msg->WriteL(KMsgSlot1,flagMsg);
+            TPckgC<TBool> flagMsg(iDSAState);    
+            
+            msg->WriteL(KMsgSlot1,flagMsg);
             
             }
             break;
         case EPeninputOpSetDiscreeptPop:
-        	{
+            {
             TRect area;
             TPckg<TRect> msgData(area);
             msg->ReadL(KMsgSlot1,msgData);
             SetDiscreeptPop(area); 
-        	}
-        	break;
+            }
+            break;
         default:
             // unsupported opcode, panic the client
             {                
@@ -705,16 +714,14 @@
 //
 void CPeninputAnim::Activate()
     {
-	if(!iIsActive)
-	    {
-		iSpriteFunctions->SetPosition(iSpritePosition);
-		if(iEnableSprite)
-		    iSpriteFunctions->Activate(ETrue);
-		iFunctions->GetRawEvents(ETrue);
-		iIsActive = ETrue;		
-
-		StartTimer();
-	    }        
+    if(!iIsActive)
+        {
+        iSpriteFunctions->SetPosition(iSpritePosition);
+        if(iEnableSprite)
+            iSpriteFunctions->Activate(ETrue);
+        iFunctions->GetRawEvents(ETrue);
+        iIsActive = ETrue;        
+        }        
     }
 
 // ---------------------------------------------------------------------------
@@ -724,15 +731,15 @@
 //
 void CPeninputAnim::Deactivate()
     {
-	if(iIsActive)
-	    {
-	    if(iEnableSprite)
-		    iSpriteFunctions->Activate(EFalse);
-		iFunctions->GetRawEvents(EFalse);        
-		iIsActive = EFalse;
-		
-		StopTimer();
-	    }        
+    if(iIsActive)
+        {
+        if(iEnableSprite)
+            iSpriteFunctions->Activate(EFalse);
+        iFunctions->GetRawEvents(EFalse);        
+        iIsActive = EFalse;
+        
+        StopTimer();
+        }        
     }
     
 #ifdef RD_TACTILE_FEEDBACK
@@ -740,7 +747,7 @@
 // CPeninputAnim::DoTactileFeedBack
 // Give tactile feedback
 // ---------------------------------------------------------------------------
-//						
+//                        
 void CPeninputAnim::DoTactileFeedBack(const TPoint& aPos)
     {
     if ( iFeedback ) 
@@ -753,7 +760,7 @@
                 iFeedback->InstantFeedback((TTouchLogicalFeedback)iTactileControl[i].iTactileType);
                 return;
                 }                 
-        	}           
+            }           
         }
     }
 #endif // RD_TACTILE_FEEDBACK
@@ -768,65 +775,65 @@
 
 TBool CPeninputAnim::OnRawButton1Down(const TRawEvent& aRawEvent)
     {
-	if(iIsSimulatedEvent)
-	    {
-		return EFalse;
-	    }
-		
+    if(iIsSimulatedEvent)
+        {
+        return EFalse;
+        }
+        
     
-	if(iDiscreetPoped && iDiscreetPopArea.Contains(aRawEvent.Pos()))
-		{
-		iDiscreetPopedCapture = ETrue;
-		return EFalse;
-		}
-	TRect rect(iSpritePosition, iSpriteSize);        
-	if(rect.Contains(aRawEvent.Pos()))
-	    {                
-#ifdef RD_TACTILE_FEEDBACK		    
-	    //give tactile feedback	    
-	    if(iTactileSupported)
+    if(iDiscreetPoped && iDiscreetPopArea.Contains(aRawEvent.Pos()))
+        {
+        iDiscreetPopedCapture = ETrue;
+        return EFalse;
+        }
+    TRect rect(iSpritePosition, iSpriteSize);        
+    if(rect.Contains(aRawEvent.Pos()))
+        {                
+#ifdef RD_TACTILE_FEEDBACK            
+        //give tactile feedback        
+        if(iTactileSupported)
             DoTactileFeedBack(aRawEvent.Pos() - rect.iTl);
-#endif // RD_TACTILE_FEEDBACK	
-		iIsPenDown = ETrue;
+#endif // RD_TACTILE_FEEDBACK    
+        iIsPenDown = ETrue;
 
         // When button downing event is happened, iIsMove is reset to EFalse
-	    iIsMove = EFalse;              
+        iIsMove = EFalse;              
 
         // Recording pointer that button is pressing down in at this time
-	    iPointerDown = aRawEvent.Pos();  
+        iPointerDown = aRawEvent.Pos();  
         //
 
-		PostRawEvent(aRawEvent); 
-		return ETrue;
-	    }
+        PostRawEvent(aRawEvent); 
+        return ETrue;
+        }
 
-	if(iIsPointerCaptured)
-	    {                    
-		PostRawEvent(aRawEvent);
-		return ETrue;
-	    }
+    if(iIsPointerCaptured)
+        {                    
+        PostRawEvent(aRawEvent);
+        return ETrue;
+        }
 
-	//pointer outside of input area,inform layout
-	SendRawEvent(aRawEvent);
+    //pointer outside of input area,inform layout
+    SendRawEvent(aRawEvent);
 
-	return EFalse;
+    return EFalse;
     }
 
 TBool CPeninputAnim::OnRawButton1Up(const TRawEvent& aRawEvent)
     {
-	if(iIsSimulatedEvent)
-	    {
-		return EFalse;
-	    }
+    if(iIsSimulatedEvent)
+        {
+        return EFalse;
+        }
 
-	//For discreetPop
-	if(iDiscreetPopedCapture )
-		{
-		iDiscreetPopedCapture = EFalse;
-		return EFalse;
-		}
-	if(iIsPenDown)
-	    {      
+    //For discreetPop
+    if(iDiscreetPopedCapture )
+        {
+        iDiscreetPopedCapture = EFalse;
+        return EFalse;
+        }
+    if(iIsPenDown)
+        {      
   
         // When the control key pressing down in is different with the control key pressing up 
         // and pointer moving event isn¡¯t happened,
@@ -839,69 +846,69 @@
           }
         //
 
-		iIsPenDown = EFalse;
-		
-		TRect rect(iSpritePosition, iSpriteSize);        
-		if(rect.Contains(aRawEvent.Pos()))
-		    {
-			//send pen up event immediately
-			SendRawEvent(aRawEvent);
+        iIsPenDown = EFalse;
+        
+        TRect rect(iSpritePosition, iSpriteSize);        
+        if(rect.Contains(aRawEvent.Pos()))
+            {
+            //send pen up event immediately
+            SendRawEvent(aRawEvent);
             
             // When key pressing up event is completed, iIsMove is reset to EFalse.
             iIsMove = EFalse;   
             //
 
-			return ETrue;                    
-		    }
-	    }
-	
-	if(iIsPointerCaptured)
-	    {                    
-		PostRawEvent(aRawEvent);
-		return ETrue;
-	    }
+            return ETrue;                    
+            }
+        }
     
-	//pointer outside of input area,inform layout
-	SendRawEvent(aRawEvent);
+    if(iIsPointerCaptured)
+        {                    
+        PostRawEvent(aRawEvent);
+        return ETrue;
+        }
+    
+    //pointer outside of input area,inform layout
+    SendRawEvent(aRawEvent);
 
-	return EFalse;	
+    return EFalse;    
     }
 
 TBool CPeninputAnim::OnRawPointerMove(const TRawEvent& aRawEvent)
     {
-	if(iIsSimulatedEvent)
-	    {
-		return EFalse;
-	    }
-	if(iDiscreetPopedCapture)
-	    {
-	    return EFalse;
-	    }
-#ifdef RD_TACTILE_FEEDBACK		    
-	TRect rect(iSpritePosition, iSpriteSize);        
-	if( iIsPenDown && iIsPointerCaptured)
-	    {                
-	    //give tactile feedback	    
+    if(iIsSimulatedEvent)
+        {
+        return EFalse;
+        }
+    if(iDiscreetPopedCapture)
+        {
+        return EFalse;
+        }
+#ifdef RD_TACTILE_FEEDBACK            
+    TRect rect(iSpritePosition, iSpriteSize);        
+    if( iIsPenDown && iIsPointerCaptured)
+        {                
+        //give tactile feedback        
         // When pointer moving event is happened, iIsMove is set to ETrue
         iIsMove = ETrue;        
         //
 
-		PostRawEvent(aRawEvent); 
-		return ETrue;
-	    }
-#endif // RD_TACTILE_FEEDBACK	
+        PostRawEvent(aRawEvent); 
+        return ETrue;
+        }
+#endif // RD_TACTILE_FEEDBACK    
 
-	if(iIsPointerCaptured || iIsPenDown)
-	    {                    
+    if(iIsPointerCaptured || iIsPenDown)
+        {                    
         // When pointer moving event is happened, iIsMove is set to ETrue
         iIsMove = ETrue;        
         //
 
-		PostRawEvent(aRawEvent);
-		return ETrue;
-	    }
-	
-	return EFalse;
+        PostRawEvent(aRawEvent);
+        return ETrue;
+        }
+    
+    return EFalse;
     }
 
 // ---------------------------------------------------------------------------
@@ -912,12 +919,12 @@
 
 TPoint CPeninputAnim::SetPosition(const TPoint& aNewPos)
     {
-	if(aNewPos != iSpritePosition)
-	    {
-		iSpritePosition = aNewPos;
-		iSpriteFunctions->SetPosition(iSpritePosition);	
-	    }
-	return iSpritePosition;
+    if(aNewPos != iSpritePosition)
+        {
+        iSpritePosition = aNewPos;
+        iSpriteFunctions->SetPosition(iSpritePosition);    
+        }
+    return iSpritePosition;
     }
 
 // ---------------------------------------------------------------------------
@@ -927,11 +934,11 @@
 //
 void CPeninputAnim::UpdateArea(const TRect& aRect, TBool aFullUpdate)
     {
-	if(iIsActive)
+    if(iIsActive)
         {
-	    // if function is called without specifying the parameter aRect
-	    // (using default param value) the whole area drawn to is updated
-	    iSpriteFunctions->UpdateMember(0, aRect, aFullUpdate);
+        // if function is called without specifying the parameter aRect
+        // (using default param value) the whole area drawn to is updated
+        iSpriteFunctions->UpdateMember(0, aRect, aFullUpdate);
         }
     }
 
@@ -971,8 +978,8 @@
     if(iEventBuffer.iNum >= KMaxEvent)
         {
         FlushRawEventBuffer();
-	    }
-	
+        }
+    
     iEventBuffer.iEvent[iEventBuffer.iNum] = aRawEvent;
     iEventBuffer.iNum++;
     }
@@ -984,12 +991,12 @@
 //
 TInt CPeninputAnim::FlushRawEventBuffer()
     {
-	TInt ret = KErrNone;
-	
+    TInt ret = KErrNone;
+    
     if(iEventBuffer.iNum > 0)
-	    {
+        {
         ret = iMsgBufQueue.Send(iEventBuffer);
-       	iEventBuffer.iNum = 0;        	
+           iEventBuffer.iNum = 0;            
         }
     
     return ret;
@@ -1003,21 +1010,21 @@
 //    
 TBool CPeninputAnim::OnRawKeyEvent(const TRawEvent& aRawEvent)
     {
-	TInt ret = KErrNone;
-	
-	//first sends all buffered event out
+    TInt ret = KErrNone;
+    
+    //first sends all buffered event out
     FlushRawEventBuffer();
     
     //clear the signal and the response msg queue
     TBool isHandled = EFalse;
     ret = iKeyMsgResponseQueue.Receive(isHandled);
     while(ret == KErrNone)
-	    {
+        {
         iResponseQueueSemaphore.Wait();
         ret = iKeyMsgResponseQueue.Receive(isHandled);
         }
 
-	//send the event directly        
+    //send the event directly        
     iEventBuffer.iNum = 1;
     iEventBuffer.iEvent[0] = aRawEvent;
     ret = FlushRawEventBuffer();
@@ -1025,13 +1032,13 @@
     isHandled = EFalse;
     if(ret == KErrNone) 
         {
-	    //wait for the key event processed.    
-	    ret = iResponseQueueSemaphore.Wait(KResponseQueueWaitTime);
-	    if(ret == KErrNone)
-	        {        
-	        //read the response from msg queue
-	        iKeyMsgResponseQueue.Receive(isHandled);
-	        }
+        //wait for the key event processed.    
+        ret = iResponseQueueSemaphore.Wait(KResponseQueueWaitTime);
+        if(ret == KErrNone)
+            {        
+            //read the response from msg queue
+            iKeyMsgResponseQueue.Receive(isHandled);
+            }
         }
 
     return isHandled;
@@ -1044,12 +1051,15 @@
 // 
 void CPeninputAnim::StartTimer()
     {
-	iFlushTimer->Start(
-		KFlushTimerPeriod, 
-		KFlushTimerPeriod, 
-		TCallBack(FlushTimerCallBack, this));	
+    if ( iIsActive )
+        {
+        iFlushTimer->Start(
+            KFlushTimerPeriod, 
+            KFlushTimerPeriod, 
+            TCallBack(FlushTimerCallBack, this));
+        }
     }
-	
+    
 // ---------------------------------------------------------------------------
 // CPeninputAnim::StopTimer
 // Cancel timer
@@ -1057,12 +1067,13 @@
 // 
 void CPeninputAnim::StopTimer()
     {
-	iFlushTimer->Cancel();	
+    iFlushTimer->Cancel();
+    FlushRawEventBuffer();
     }
 
 #ifdef RD_TACTILE_FEEDBACK
 void CPeninputAnim::GetFeedbackAreaDataL(RArray<TTactileControlInfo>& aTactileControlArray,
-										 const RMessagePtr2* msg, 
+                                         const RMessagePtr2* msg, 
                                          RArray<TRect>* aPrevRectArray)
     {
     TInt num;
@@ -1079,7 +1090,7 @@
         {
         //Advanced Tactile feedback REQ417-47932
         aTactileControlArray.Append(TTactileControlInfo(area[i].iId,
-									area[i].iNewRect,area[i].iTactileType));      
+                                    area[i].iNewRect,area[i].iTactileType));      
         //aRectArray.Append(area[i].iNewRect);                
         if(aPrevRectArray)
             aPrevRectArray->Append(area[i].iPrevRect);                    
@@ -1094,11 +1105,11 @@
 // ---------------------------------------------------------------------------
 // 
 TBool CPeninputAnim::MatchItemByControlID (const TTactileControlInfo& aFirst, const TTactileControlInfo& aSecond)
-	{
-	if (aFirst.iId == aSecond.iId)
-		return ETrue;
-	return EFalse;
-	}
+    {
+    if (aFirst.iId == aSecond.iId)
+        return ETrue;
+    return EFalse;
+    }
 
 // ---------------------------------------------------------------------------
 // CPeninputAnim::MatchItemByControlIDAndArea
@@ -1106,16 +1117,16 @@
 // ---------------------------------------------------------------------------
 // 
 TBool CPeninputAnim::MatchItemByControlIDAndArea (const TTactileControlInfo& aFirst, const TTactileControlInfo& aSecond)
-	{
-	if ((aFirst.iId == aSecond.iId) && (aFirst.iArea == aSecond.iArea))
-		return ETrue;
-	return EFalse;
-	}
+    {
+    if ((aFirst.iId == aSecond.iId) && (aFirst.iArea == aSecond.iArea))
+        return ETrue;
+    return EFalse;
+    }
 #endif // RD_TACTILE_FEEDBACK    
 
 void CPeninputAnim::SetDiscreeptPop(TRect aArea)
-	{
-	iDiscreetPopArea = aArea;
+    {
+    iDiscreetPopArea = aArea;
     if(iDiscreetPopArea.Size().iWidth > 0)
         {
         iDiscreetPoped = ETrue;
@@ -1125,5 +1136,5 @@
         iDiscreetPoped = EFalse;
         iDiscreetPopedCapture = EFalse;
         }
-	}
+    }
 // End of File
--- a/textinput/peninputarc/src/peninputlayoutcontrol/peninputlayoutbubblectrl.cpp	Wed Jun 09 10:03:19 2010 +0300
+++ b/textinput/peninputarc/src/peninputlayoutcontrol/peninputlayoutbubblectrl.cpp	Mon Jun 21 16:02:35 2010 +0300
@@ -105,11 +105,13 @@
 
 EXPORT_C void CBubbleCtrl::Popup(const TRect& aRect)
     {
-    SetRect(aRect);
+    //SetRect(aRect);
 
     if(iFreeze)
         {
-        iShowing = ETrue;              
+        iShowing = ETrue; 
+        SetRect(aRect);
+        
         SetHidenFlag(EFalse);   
         /*
         if(UiLayout()->NotDrawToLayoutDevice())
@@ -131,7 +133,9 @@
         }
     if( !iShowing || iNeedRedraw )
         {
-        iShowing = ETrue;  
+        iShowing = ETrue;
+        SetRect(aRect);
+        
         TRect rect = Rect();
         //SetRect(aRect);
         SetHidenFlag(EFalse);        
@@ -588,39 +592,46 @@
 
 EXPORT_C void CBubbleCtrl::SetRect(const TRect& aRect)
     {
-    if( aRect == Rect())
-        {
-        return;
-        }
-    else
-        {
-        if( UiLayout()->NotDrawToLayoutDevice())
-            {
-            struct SData
-                {
-                TRect rr;
-                TBool flag;
-                } data;
-        
-            // Remove the original region from list
-            data.rr = Rect();
-            data.flag = EFalse;
-            TPtrC ptrForRemove;
-            ptrForRemove.Set( 
-                    reinterpret_cast<const TUint16*>(&data),sizeof(data)/sizeof(TUint16));
-            UiLayout()->SignalOwner( ESignalPopupArea, ptrForRemove );
-            
-            // Add the new region to list
-            data.rr = aRect;
-            data.flag = ETrue;
-            TPtrC ptrForAdd;
-            ptrForAdd.Set( 
-                    reinterpret_cast<const TUint16*>(&data),sizeof(data)/sizeof(TUint16));
-            UiLayout()->SignalOwner( ESignalPopupArea, ptrForAdd );
-            }
-        }
-    CFepUiBaseCtrl::SetRect(aRect);
-    ResizeDeviceL();
+	if( !( UiLayout()->NotDrawToLayoutDevice()))
+		{
+		if( aRect != Rect())
+			{
+			CFepUiBaseCtrl::SetRect( aRect );
+			}
+		}
+	else
+		{
+		if( iShowing )
+			{
+			struct SData
+				{
+				TRect rr;
+				TBool flag;
+				} data;
+
+			 // Remove the original region from list
+			data.rr = Rect();
+			data.flag = EFalse;
+			TPtrC ptrForRemove;
+			ptrForRemove.Set( 
+				reinterpret_cast<const TUint16*>(&data), sizeof(data)/sizeof(TUint16));
+			UiLayout()->SignalOwner( ESignalPopupArea, ptrForRemove );
+
+			// Add the new region to list
+			data.rr = aRect;
+			data.flag = ETrue;
+			TPtrC ptrForAdd;
+			ptrForAdd.Set( 
+				reinterpret_cast<const TUint16*>(&data), sizeof(data)/sizeof(TUint16));
+			UiLayout()->SignalOwner( ESignalPopupArea, ptrForAdd );     
+			}
+			
+		if( aRect != Rect())
+			{
+			CFepUiBaseCtrl::SetRect( aRect );
+			ResizeDeviceL();
+			}                   
+		}
     }
 
 // ---------------------------------------------------------------------------
--- a/textinput/peninputarc/src/peninputserverapp/peninputserver.cpp	Wed Jun 09 10:03:19 2010 +0300
+++ b/textinput/peninputarc/src/peninputserverapp/peninputserver.cpp	Mon Jun 21 16:02:35 2010 +0300
@@ -429,8 +429,12 @@
 void CPeninputServer::ActivateSpriteInGlobalNotesL()
     {
     TBool notDraw = EFalse;
-    iUiLayout->HandleCommand( ECmdPeninputDisableLayoutDrawing, 
-    		                 (unsigned char*)&notDraw );    
+    
+    if(iUiLayout)
+    	{
+		iUiLayout->HandleCommand( ECmdPeninputDisableLayoutDrawing, 
+								 (unsigned char*)&notDraw );  
+    	}
     if(iActive)
         {
 	    if(iUseWindowCtrl)
@@ -693,14 +697,20 @@
     if(aFlag)
         {
         iEventBufferQueue->Cancel();                   
-        iUiLayout->OnDeActivate(); 
+        if( iUiLayout )
+        	{
+			iUiLayout->OnDeActivate(); 
+        	}
         if(iUseWindowCtrl)
             iPenUiCtrl->OnDeactivate(); //disable non fading                     
         }
     else
         {
         iEventBufferQueue->GetEvent();                   
-        iUiLayout->OnActivate(); 
+        if( iUiLayout )
+        	{
+			iUiLayout->OnActivate(); 
+        	}
         if(iUseWindowCtrl)
             iPenUiCtrl->OnActivate(CPenUiWndCtrl::ENoremalEditor); //disable non fading                             
         }
@@ -2114,7 +2124,18 @@
         {
         //hide the layout if it's already shown
         
+        if ( iActive )
+            {
+            iUiLayout->OnActivate();  
+            }  
+        
         iUiLayout->OnResourceChange(aType);
+        
+        if(iUseWindowCtrl)
+            {
+            iPenUiCtrl->DrawNow();
+            }
+            
         //show the layout if it's active
         }
     }
@@ -2240,8 +2261,8 @@
             
 			if(iUiLayout)
 			    {
-				TBool notDraw = ETrue;
-	            iUiLayout->HandleCommand(ECmdPeninputDisableLayoutDrawing,(unsigned char*)&notDraw);
+				//TBool notDraw = ETrue;
+	            //iUiLayout->HandleCommand(ECmdPeninputDisableLayoutDrawing,(unsigned char*)&notDraw);
 	            iUiLayout->OnDeActivate();
 			    }
             }       
@@ -2445,30 +2466,32 @@
                     break;
                     }
                 */
-                if(IsGlobalNotesApp(focusApp))
-                        {
-                        iInGlobalNotesState = ETrue;
-                        // add this to enable global dim   
-                        DeactivatePenUiLayout(EFalse);           
-                        break;            
-                        }
+                if( IsGlobalNotesApp(focusApp) )
+                    {
+                    iInGlobalNotesState = ETrue;
+                    // add this to enable global dim   
+                    DeactivatePenUiLayout(EFalse);           
+                    break;            
+                    }
                     
 /*                else if (focusApp.iUid == 0x102750f0)
                     {
                     DeactivateSprite();    
                     }
-*/                else
+*/               else
                     {
-                        if(iInGlobalNotesState)
-                            {			  
-                            //fix for fast swap case
+                    if(iInGlobalNotesState)
+                        {			  
+                        //fix for fast swap case
                         iInGlobalNotesState = EFalse;                        
-                        if(iPreNonGloebalNotesWndGrpId != focusApp.iUid)
+                        if(iPreNonGloebalNotesWndGrpId != focusApp.iUid )
                             {                            
-                            iPreNonGloebalNotesWndGrpId = focusApp.iUid;    
-             
+                            iPreNonGloebalNotesWndGrpId = focusApp.iUid;
                             DeactivateSprite(ETrue);//hide pen ui immediately if switched to another application
-                            iForegroundSession = NULL;
+                            // Notify FEP to close touch input window.
+                            // Under this case, touch input window can't be closed without norifying FEP side.
+                            // After close touch input window, FEP must change some states.
+                            SignalOwner( ESignalDeactivateSprite, KNullDesC );                            
                             }
                         }
                     else
@@ -2476,7 +2499,7 @@
                         DeactivateSprite(ETrue);
                         }
                     }
-                        break;                            
+                break;                            
                 }   
             DeactivateSprite(ETrue);//hide pen ui immediately
     	    }
@@ -2576,7 +2599,7 @@
         }
     if(iForegroundUiHandler)
         {
-        TInt uiType = iUiLayout->PenInputType();
+		TInt uiType = iUiLayout  ? iUiLayout->PenInputType() : EPluginInputModeNone;
         bNeedWait = iForegroundUiHandler->SignalUiActivationObserver(
                                             			aSignalCode,uiType);
         }	
@@ -2604,6 +2627,11 @@
 
 void CPeninputServer::RecoverButtonEventState()
     {
+	if(!iUiLayout)
+		{
+		return;
+		}
+	
         if (TRawEvent::EButton1Down == iLastRawEvent.Type())
             {
             iLastRawEvent.Set(TRawEvent::EButton1Up);//,iLastSimulatedKeyEvent.ScanCode()
--- a/textinput/peninputfingerhwrar/data/peninputfingerhwrarwnd.rss	Wed Jun 09 10:03:19 2010 +0300
+++ b/textinput/peninputfingerhwrar/data/peninputfingerhwrarwnd.rss	Mon Jun 21 16:02:35 2010 +0300
@@ -133,6 +133,11 @@
     bgimage = r_fingerhwr_window_background;
     }
 
+RESOURCE AKN_FEP_FINGERHWR_SYMBOLTABLE r_fingerhwr_arabic_numbertable
+    {
+    bgimage = r_fingerhwr_window_background;
+    }
+
 RESOURCE PENINPUT_LAYOUT_WINDOW_SHADOW r_fingerhwr_window_shadow
     {
     bmpfile = AKN_FEP_FINGERHWR_BMP;
--- a/textinput/peninputfingerhwrar/inc/peninputfingerhwrarlafmanager.h	Wed Jun 09 10:03:19 2010 +0300
+++ b/textinput/peninputfingerhwrar/inc/peninputfingerhwrarlafmanager.h	Mon Jun 21 16:02:35 2010 +0300
@@ -205,6 +205,13 @@
     TRect VirtualSctpadCellSize();
     
     /**
+     * get cell size of virtual numpad.
+     * 
+     * @since Symbian TB9.2
+     * @return cell size of virtual sctpad.
+     */     
+    TRect VirtualNumpadCellSize();
+    /**
      * get cell rect of virtual sctpad.
      * 
      * @since Symbian TB9.2
--- a/textinput/peninputfingerhwrar/rom/peninputfingerhwrar_variant.iby	Wed Jun 09 10:03:19 2010 +0300
+++ b/textinput/peninputfingerhwrar/rom/peninputfingerhwrar_variant.iby	Mon Jun 21 16:02:35 2010 +0300
@@ -26,12 +26,12 @@
 #ifdef FF_CAPACITIVE_DISPLAY
 #ifdef FF_ARABIC_HANDWRITING_RECOGNITION_INPUT
 
-
+#if defined(__LOCALES_37_IBY__)
 data = DATAZ_\RESOURCE_FILES_DIR\peninputfingerhwrarwnd.rsc    RESOURCE_FILES_DIR\peninputfingerhwrarwnd.rsc
 data = DATAZ_\RESOURCE_FILES_DIR\apps\peninputfingerhwrar.mif       RESOURCE_FILES_DIR\apps\peninputfingerhwrar.mif
 
 ECOM_PLUGIN(peninputfingerhwrar.dll, peninputfingerhwrar.rsc)
-
+#endif //__LOCALES_37_IBY__
 
 #endif //FF_ARABIC_HANDWRITING_RECOGNITION_INPUT
 #endif //FF_CAPACITIVE_DISPLAY
--- a/textinput/peninputfingerhwrar/src/peninputfingerhwrarlafmanager.cpp	Wed Jun 09 10:03:19 2010 +0300
+++ b/textinput/peninputfingerhwrar/src/peninputfingerhwrarlafmanager.cpp	Mon Jun 21 16:02:35 2010 +0300
@@ -299,8 +299,8 @@
 	buttonRect.Close();
 	
 	// padding size of Btn
-	TInt xpad = iRectBtnOption.iTl.iX - iRectBtnClose.iBr.iX;
-	TInt ypad = iRectBtnArrowLeft.iTl.iY - iRectBtnClose.iBr.iY;
+	TInt xpad = (iRectBtnOption.iTl.iX - iRectBtnClose.iBr.iX)/2;
+	TInt ypad = (iRectBtnArrowLeft.iTl.iY - iRectBtnClose.iBr.iY)/2;
 	
 	iSizeBtnPadding = TSize(xpad, ypad);
 	
@@ -626,28 +626,15 @@
 void CPeninputFingerHwrArLafManager::RetrievePortraitLafDataForNumSymbolTable()
     {
     
-    // get the functional buttons laf data for number symbol table
-    // candidate list
-    TAknWindowLineLayout candlistpane = AknLayoutScalable_Avkon::fshwr2_func_candi_pane(1).LayoutLine();        
-    
-    TAknLayoutRect candpaneRect;
-    candpaneRect.LayoutRect( iLayoutRect, candlistpane );
-    TRect rect = candpaneRect.Rect();
-    
-    // get candidate row2 pane
-    TAknWindowLineLayout candRow2Pane = AknLayoutScalable_Avkon::fshwr2_func_candi_row_pane(0, 0, 1).
-                                        LayoutLine();
-    TAknLayoutRect candrow2paneRect;
-    candrow2paneRect.LayoutRect( rect, candRow2Pane );
-    iRectOfNumSymbolTable.iTl = candrow2paneRect.Rect().iTl;
-
     // get the virtual key rects
     TAknWindowLineLayout writingBoxPane;
     TAknLayoutRect boxRect;
-    writingBoxPane = AknLayoutScalable_Avkon::fshwr2_hwr_syb_pane(0).LayoutLine();
+    writingBoxPane = AknLayoutScalable_Avkon::fshwr2_hwr_syb_pane(2).LayoutLine();
     boxRect.LayoutRect(iLayoutRect, writingBoxPane);
     iRectNumpad = boxRect.Rect();
-    
+    iRectOfNumSymbolTable.iTl = iRectNumpad.iTl;
+
+
     TAknWindowLineLayout keypane, keybgpane;
     TAknLayoutRect keyRect, keybgRect;
   
@@ -662,11 +649,12 @@
         {
         for ( TInt j = 0; j < iNumSctpadColCount; j++ )
             {
-            keypane = AknLayoutScalable_Avkon::cell_fshwr2_syb_pane(0, j, i).LayoutLine();
+            keypane = AknLayoutScalable_Avkon::cell_fshwr2_syb_pane(1, j, i).LayoutLine();
             keyRect.LayoutRect(iRectNumpad, keypane);
-            keybgpane = AknLayoutScalable_Avkon::cell_fshwr2_syb_bg_pane(0).LayoutLine();
+            keybgpane = AknLayoutScalable_Avkon::cell_fshwr2_syb_bg_pane(1).LayoutLine();
             keybgRect.LayoutRect(keyRect.Rect(), keybgpane);
-            iNumSCTrectArray.Append( keybgRect.Rect());
+            TRect rect = keybgRect.Rect();
+            iNumSCTrectArray.Append( rect);
             }
         }
     iSizeNumSctpadCell = keybgRect.Rect().Size();
@@ -1150,6 +1138,14 @@
     return iSizeSctpadCell;
     }
     
+// ---------------------------------------------------------------------------
+// get cell size of virtual numpad.
+// ---------------------------------------------------------------------------
+//
+TRect CPeninputFingerHwrArLafManager::VirtualNumpadCellSize()
+    {
+    return iSizeNumSctpadCell;
+    }
     
 // ---------------------------------------------------------------------------
 // get preview bubble rect.
@@ -1254,7 +1250,7 @@
     else
         {
         layout = AknLayoutScalable_Avkon::
-            cell_fshwr2_syb_bg_pane_t1(0).LayoutLine();
+            cell_fshwr2_syb_bg_pane_t1(1).LayoutLine();
         }
     return layout;
     }
--- a/textinput/peninputfingerhwrar/src/peninputfingerhwrarwnd.cpp	Wed Jun 09 10:03:19 2010 +0300
+++ b/textinput/peninputfingerhwrar/src/peninputfingerhwrarwnd.cpp	Mon Jun 21 16:02:35 2010 +0300
@@ -149,12 +149,12 @@
     // read keypad image info
     if ( iNumSymbolTable )
         {
-        TSize keysize = iLafManager->VirtualSctpadCellSize().Size();
+        TSize keysize = iLafManager->VirtualNumpadCellSize().Size();
         iNumSymbolTable->LoadVkbKeyImageL(R_FINGER_HWR_NUMPAD_IMAGE, keysize );
         
         RArray<TRect> rects;
         CleanupClosePushL( rects );
-        iLafManager->GetVirtualKeyRects( rects );
+        iLafManager->GetNumVirtualKeyRects( rects );
         LoadNumSymbolVirtualKeysL( R_FINGER_HWR_NUMPAD, rects );
         CleanupStack::PopAndDestroy(); //rects
         }
@@ -752,7 +752,7 @@
     {
     iNumSymbolTable = CPeninputArabicFingerHwrNumSymbolTable::NewL(UiLayout(),EHwrCtrlIdNumSymbolTableVkbGroup);
     iNumSymbolTable->Hide(ETrue);
-    iNumSymbolTable->SetResourceId(R_FINGERHWR_ARABIC_SYMBOLTABLE);
+    iNumSymbolTable->SetResourceId(R_FINGERHWR_ARABIC_NUMBERTABLE);
     iNumSymbolTable->ConstructFromResourceL();
     AddControlL( iNumSymbolTable );
     iNumSymbolTable->AddEventObserver( UiLayout() );
@@ -934,7 +934,7 @@
 							  iLafManager->IsLandscape());
 	//number mode symbol table
     // load number mode vkb key image
-    TSize numkeysize = iLafManager->VirtualSctpadCellSize().Size();
+    TSize numkeysize = iLafManager->VirtualNumpadCellSize().Size();
     iNumSymbolTable->LoadVkbKeyImageL(R_FINGER_HWR_NUMPAD_IMAGE, numkeysize );
     
     // get the key rect
@@ -1049,18 +1049,28 @@
     TRect rcInner = aRect;
     if (  rcInner.Width()> rcInner.Height() )
         {
-            TInt dx = ( rcInner.Width() - rcInner.Height() ) / 2;
+            TInt dx = ( rcInner.Width() - rcInner.Height() ) / 4;
             rcInner.Move( dx, 0 );
-            rcInner.SetWidth( rcInner.Height() );
+            rcInner.SetWidth( rcInner.Height() + 2*dx);
         }
     else
         {
-        TInt dy = ( rcInner.Height() - rcInner.Width() ) / 2;
+        TInt dy = ( rcInner.Height() - rcInner.Width() ) / 4;
         rcInner.Move( 0, dy );
-        rcInner.SetHeight( rcInner.Width() );        
+        rcInner.SetHeight( rcInner.Width() + 2*dy);        
         }
-
     rcInner.Shrink( aXPadding, aYPadding );
+    if(aButton->ControlId() == EHwrCtrlIdBtnSpace)
+        {
+        // config 3 pieces icon info       
+        TRect middleIconRect = rcInner;
+        middleIconRect.Shrink(2,2);
+        ( static_cast<CAknFepCtrlCommonButton*> (aButton) )->SetDraw3PieceFrameInfo(
+                                          TDraw3PiecesFrame(KAknsIIDQgnIndiInputSpaceL,
+                                          KAknsIIDQgnIndiInputSpaceMiddle,
+                                          KAknsIIDQgnIndiInputSpaceR,
+                                          middleIconRect));                     
+        }
     aButton->SizeChanged( aRect, rcInner, aReloadImages );
     }
     
--- a/textinput/peninputgenericvkb/group/peninputgenericvkb.mmp	Wed Jun 09 10:03:19 2010 +0300
+++ b/textinput/peninputgenericvkb/group/peninputgenericvkb.mmp	Mon Jun 21 16:02:35 2010 +0300
@@ -92,7 +92,6 @@
 RESOURCE  peninputvkbwindowconfiginfo_51.rss
 RESOURCE  peninputvkbwindowconfiginfo_54.rss
 RESOURCE  peninputvkbwindowconfiginfo_57.rss
-RESOURCE  peninputvkbwindowconfiginfo_58.rss
 RESOURCE  peninputvkbwindowconfiginfo_59.rss
 RESOURCE  peninputvkbwindowconfiginfo_67.rss
 RESOURCE  peninputvkbwindowconfiginfo_68.rss
--- a/textinput/peninputgenericvkb/src/peninputgenericvkbwindow.cpp	Wed Jun 09 10:03:19 2010 +0300
+++ b/textinput/peninputgenericvkb/src/peninputgenericvkbwindow.cpp	Mon Jun 21 16:02:35 2010 +0300
@@ -949,7 +949,6 @@
         // read LAF data for tooltip box
         const TPeninputTooltipBoxLayoutData& tooltipBoxLAF 
                                           = iLafMgr->TooltipBoxLayoutData();
-        icf->TooltipBubbleCtrl()->SetRect( tooltipBoxLAF.iRect );
         icf->TooltipBubbleCtrl()->SetTextFormat( tooltipBoxLAF.iTooltipTextLayout );
         icf->TooltipBubbleCtrl()->SetTextColorIndex( EAknsCIQsnTextColorsCG55 );
         icf->TooltipBubbleCtrl()->SetBitmapParam(NULL,
--- a/textinput/peninputgenericvkb/srcdata/peninputvkbwindowconfiginfo_58.rss	Wed Jun 09 10:03:19 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,4259 +0,0 @@
-/*
-* Copyright (c) 2002-2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Resource definitions for project peninputgenericvkb
-*
-*/
-
-
-// Resource identifier
-NAME PIGV
-
-// System includes
-#include <aknsconstants.hrh>
-#include <eikon.hrh>
-#include <peninputgenericvkb.mbg>
-#include <aknfeppeninputenums.h>
-
-// User includes
-#include "peninputcommonlayout.rh"
-#include "peninputgenericvkb.hrh"
-
-RESOURCE RSS_SIGNATURE { }
-RESOURCE TBUF { buf=""; }
-
-// Macros  
-#define PENINPUT_LAYOUT_VKB_BMP "z:\\resource\\apps\\peninputgenericvkb.mbm"
-
-// ---------------------------------------------------------------------------
-// r_peninput_layout_config_info
-// The configuration of window's layout
-// ---------------------------------------------------------------------------
-//
-RESOURCE PENINPUT_LAYOUT_CONFIG_INFO r_peninput_layout_config_info
-    {
-    language=58;
-    languagestring="Hi"; 
-    casesensitive=0;
-    guideline=EPeninputGuideLineNone;
-    clientlayoutlist=r_peninput_layout_vkb_client_layout_list;
-    vkblayoutlist=r_peninput_layout_vkb_vkb_layout_list;
-    rangebarinfo=r_peninput_layout_rangebar_info;
-    shiftcapsinfo=r_peninput_layout_shift_caps_info_list;
-    rangebarresource=r_peninput_layout_vkb_range_list;    
-    }
-
-// ---------------------------------------------------------------------------
-// r_peninput_layout_vkb_client_layout_list
-// Contains latin vkb layout
-// ---------------------------------------------------------------------------
-//
-RESOURCE PENINPUT_LAYOUT_CLIENT_LAYOUT_LIST r_peninput_layout_vkb_client_layout_list
-    {
-    items =
-        {
-        PENINPUT_LAYOUT_CLIENT_LAYOUT
-            {
-            id=EPeninputClientLayout12x4;
-            colcount=11;
-            rowcount=4;
-            controls =
-                {
-                PENINPUT_LAYOUT_CONTROL
-                    {
-                    id=EPeninutWindowCtrlIdVkbCtrl; // Control button
-                    beginrow=0;
-                    begincolumn=0;
-                    endrow=3;
-                    endcolumn=11;
-                    },
-                PENINPUT_LAYOUT_CONTROL
-                    {
-                    id=EPeninutWindowCtrlIdBackspaceBtn; // Backspace button
-                    beginrow=0;
-                    begincolumn=11;
-                    endrow=1;
-                    endcolumn=12;
-                    },
-                PENINPUT_LAYOUT_CONTROL
-                    {
-                    id=EPeninutWindowCtrlIdEnterBtn; // Enter button
-                    beginrow=1;
-                    begincolumn=11;
-                    endrow=2;
-                    endcolumn=12;
-                    },
-                PENINPUT_LAYOUT_CONTROL
-                    {
-                    id=EPeninutWindowCtrlIdInputLangSwitcherBtn; // Language switch button
-                    beginrow=2;
-                    begincolumn=11;
-                    endrow=3;
-                    endcolumn=12;
-                    },
-                PENINPUT_LAYOUT_CONTROL
-                    {
-                    id=EPeninutWindowCtrlIdTabBtn; // Tab button
-                    beginrow=3;
-                    begincolumn=0;
-                    endrow=4;
-                    endcolumn=1;
-                    },
-                PENINPUT_LAYOUT_CONTROL
-                    {
-                    id=EPeninutWindowCtrlIdCapslockBtn; // Capslock button
-                    beginrow=3;
-                    begincolumn=1;
-                    endrow=4;
-                    endcolumn=2;
-                    },
-                PENINPUT_LAYOUT_CONTROL
-                    {
-                    id=EPeninutWindowCtrlIdShiftBtn; // Shift button
-                    beginrow=3;
-                    begincolumn=2;
-                    endrow=4;
-                    endcolumn=3;
-                    },
-                PENINPUT_LAYOUT_CONTROL
-                    {
-                    id=EPeninutWindowCtrlIdSpaceBtn; // Space button
-                    beginrow=3;
-                    begincolumn=3;
-                    endrow=4;
-                    endcolumn=7;
-                    },
-                PENINPUT_LAYOUT_CONTROL
-                    {
-                    id=EPeninutWindowCtrlIdRangeBar; // Rangebar
-                    beginrow=3;
-                    begincolumn=7;
-                    endrow=4;
-                    endcolumn=11;
-                    },
-                PENINPUT_LAYOUT_CONTROL
-                    {
-                    id=EPeninutWindowCtrlIdSwitchToHwrBtn; // VKB to HWR switch button
-                    beginrow=3;
-                    begincolumn=11;
-                    endrow=4;
-                    endcolumn=12;
-                    }
-                };
-            },
-        PENINPUT_LAYOUT_CLIENT_LAYOUT
-            {
-            id=EPeninputClientLayout13x4;
-            colcount=11;
-            rowcount=4;
-            controls =
-                {
-                PENINPUT_LAYOUT_CONTROL
-                    {
-                    id=EPeninutWindowCtrlIdVkbCtrl; // Control button
-                    beginrow=0;
-                    begincolumn=0;
-                    endrow=3;
-                    endcolumn=12;
-                    },
-                PENINPUT_LAYOUT_CONTROL
-                    {
-                    id=EPeninutWindowCtrlIdBackspaceBtn; // Backspace button
-                    beginrow=0;
-                    begincolumn=12;
-                    endrow=1;
-                    endcolumn=13;
-                    },
-                PENINPUT_LAYOUT_CONTROL
-                    {
-                    id=EPeninutWindowCtrlIdEnterBtn; // Enter button
-                    beginrow=1;
-                    begincolumn=12;
-                    endrow=2;
-                    endcolumn=13;
-                    },
-                PENINPUT_LAYOUT_CONTROL
-                    {
-                    id=EPeninutWindowCtrlIdInputLangSwitcherBtn; // Language switch button
-                    beginrow=2;
-                    begincolumn=12;
-                    endrow=3;
-                    endcolumn=13;
-                    },
-                PENINPUT_LAYOUT_CONTROL
-                    {
-                    id=EPeninutWindowCtrlIdTabBtn; // Tab button
-                    beginrow=3;
-                    begincolumn=0;
-                    endrow=4;
-                    endcolumn=1;
-                    },
-                PENINPUT_LAYOUT_CONTROL
-                    {
-                    id=EPeninutWindowCtrlIdCapslockBtn; // Capslock button
-                    beginrow=3;
-                    begincolumn=1;
-                    endrow=4;
-                    endcolumn=2;
-                    },
-                PENINPUT_LAYOUT_CONTROL
-                    {
-                    id=EPeninutWindowCtrlIdShiftBtn; // Shift button
-                    beginrow=3;
-                    begincolumn=2;
-                    endrow=4;
-                    endcolumn=3;
-                    },
-                PENINPUT_LAYOUT_CONTROL
-                    {
-                    id=EPeninutWindowCtrlIdSpaceBtn; // Space button
-                    beginrow=3;
-                    begincolumn=3;
-                    endrow=4;
-                    endcolumn=8;
-                    },
-                PENINPUT_LAYOUT_CONTROL
-                    {
-                    id=EPeninutWindowCtrlIdRangeBar; // Rangebar
-                    beginrow=3;
-                    begincolumn=8;
-                    endrow=4;
-                    endcolumn=12;
-                    },
-                PENINPUT_LAYOUT_CONTROL
-                    {
-                    id=EPeninutWindowCtrlIdSwitchToHwrBtn; // VKB to HWR switch button
-                    beginrow=3;
-                    begincolumn=12;
-                    endrow=4;
-                    endcolumn=13;
-                    }
-                };
-            },
-        PENINPUT_LAYOUT_CLIENT_LAYOUT
-            {
-            id=EPeninputClientLayout12x5;
-            colcount=11;
-            rowcount=4;
-            controls =
-                {
-                PENINPUT_LAYOUT_CONTROL
-                    {
-                    id=EPeninutWindowCtrlIdVkbCtrl; // Control button
-                    beginrow=0;
-                    begincolumn=0;
-                    endrow=4;
-                    endcolumn=11;
-                    },
-                PENINPUT_LAYOUT_CONTROL
-                    {
-                    id=EPeninutWindowCtrlIdBackspaceBtn; // Backspace button
-                    beginrow=0;
-                    begincolumn=11;
-                    endrow=2;
-                    endcolumn=12;
-                    },
-                PENINPUT_LAYOUT_CONTROL
-                    {
-                    id=EPeninutWindowCtrlIdEnterBtn; // Enter button
-                    beginrow=2;
-                    begincolumn=11;
-                    endrow=3;
-                    endcolumn=12;
-                    },
-                PENINPUT_LAYOUT_CONTROL
-                    {
-                    id=EPeninutWindowCtrlIdInputLangSwitcherBtn; // Language switch button
-                    beginrow=3;
-                    begincolumn=11;
-                    endrow=4;
-                    endcolumn=12;
-                    },
-                PENINPUT_LAYOUT_CONTROL
-                    {
-                    id=EPeninutWindowCtrlIdTabBtn; // Tab button
-                    beginrow=4;
-                    begincolumn=0;
-                    endrow=5;
-                    endcolumn=1;
-                    },
-                PENINPUT_LAYOUT_CONTROL
-                    {
-                    id=EPeninutWindowCtrlIdCapslockBtn; // Capslock button
-                    beginrow=4;
-                    begincolumn=1;
-                    endrow=5;
-                    endcolumn=2;
-                    },
-                PENINPUT_LAYOUT_CONTROL
-                    {
-                    id=EPeninutWindowCtrlIdShiftBtn; // Shift button
-                    beginrow=4;
-                    begincolumn=2;
-                    endrow=5;
-                    endcolumn=3;
-                    },
-                PENINPUT_LAYOUT_CONTROL
-                    {
-                    id=EPeninutWindowCtrlIdSpaceBtn; // Space button
-                    beginrow=4;
-                    begincolumn=3;
-                    endrow=5;
-                    endcolumn=7;
-                    },
-                PENINPUT_LAYOUT_CONTROL
-                    {
-                    id=EPeninutWindowCtrlIdRangeBar; // Rangebar
-                    beginrow=4;
-                    begincolumn=7;
-                    endrow=5;
-                    endcolumn=11;
-                    },
-                PENINPUT_LAYOUT_CONTROL
-                    {
-                    id=EPeninutWindowCtrlIdSwitchToHwrBtn; // VKB to HWR switch button
-                    beginrow=4;
-                    begincolumn=11;
-                    endrow=5;
-                    endcolumn=12;
-                    }
-                };
-            }                        
-        };
-    }
-
-// ---------------------------------------------------------------------------
-// r_peninput_layout_vkb_vkb_layout_list
-// VKB button area layout
-// ---------------------------------------------------------------------------
-//
-RESOURCE PENINPUT_LAYOUT_VKB_LAYOUT_LIST r_peninput_layout_vkb_vkb_layout_list
-    {
-    items =
-        {
-        PENINPUT_LAYOUT_VKB_LAYOUT
-            {
-            id=EPeninputVkbLayoutNativeChar;
-            mbmfile=PENINPUT_LAYOUT_VKB_BMP;
-            imgmajorskinid=EAknsMajorGeneric;
-            bgbmp=EMbmPeninputgenericvkbQgn_graf_fep_numb_11x3;
-            bgbmpmask=EMbmPeninputgenericvkbQgn_graf_fep_numb_11x3_mask;
-            bgbmpskinid=EAknsMinorGenericQgnGrafFepNumb11x3;
-            dimbmp=EMbmPeninputgenericvkbQgn_graf_fep_numb_11x3_1_button_dimmed;
-            dimmask=EMbmPeninputgenericvkbQgn_graf_fep_numb_11x3_1_button_dimmed_mask;
-            dimbmpskinid=EAknsMinorGenericQgnGrafFepNumb11x31ButtonDimmed;
-            colcount=11;
-            rowcount=4;
-            highlightbmps =
-                {
-                PENINPUT_LAYOUT_BITMAP_ID
-                    {
-                    bmpid=EMbmPeninputgenericvkbQgn_graf_fep_char_button_pressed;
-                    },
-                PENINPUT_LAYOUT_BITMAP_ID
-                    {
-                    bmpid=0xffff;
-                    }
-                };
-            highlightmaskbmps =
-                {
-                PENINPUT_LAYOUT_BITMAP_ID
-                    {
-                    bmpid=EMbmPeninputgenericvkbQgn_graf_fep_char_button_pressed_mask;
-                    },
-                PENINPUT_LAYOUT_BITMAP_ID
-                    {
-                    bmpid=0xffff;
-                    }
-                };
-            keys =
-                {
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x090D>;
-                    scancode=0x090D;
-                    beginrow=0;
-                    begincolumn=0;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0945>;
-                    scancode=0x0945;
-                    beginrow=0;
-                    begincolumn=1;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x094D><0x0930>;
-                    scancode=0x094D;
-                    beginrow=0;
-                    begincolumn=2;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0930><0x094D>;
-                    scancode=0x0930;
-                    beginrow=0;
-                    begincolumn=3;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x091C><0x094D><0x091E>;
-                    scancode=0x091C;
-                    beginrow=0;
-                    begincolumn=4;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0924><0x094D><0x0930>;
-                    scancode=0x0924;
-                    beginrow=0;
-                    begincolumn=5;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0915><0x094D><0x0937>;
-                    scancode=0x0915;
-                    beginrow=0;
-                    begincolumn=6;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0936><0x094D><0x0930>;
-                    scancode=0x0936;
-                    beginrow=0;
-                    begincolumn=7;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x002D>;
-                    scancode=0x002D;
-                    beginrow=0;
-                    begincolumn=8;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0943>;
-                    scancode=0x0943;
-                    beginrow=0;
-                    begincolumn=9;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x093C>;
-                    scancode=0x093C;
-                    beginrow=0;
-                    begincolumn=10;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x094C>;
-                    scancode=0x094C;
-                    beginrow=1;
-                    begincolumn=0;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0948>;
-                    scancode=0x0948;
-                    beginrow=1;
-                    begincolumn=1;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x093E>;
-                    scancode=0x093E;
-                    beginrow=1;
-                    begincolumn=2;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0940>;
-                    scancode=0x0940;
-                    beginrow=1;
-                    begincolumn=3;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0942>;
-                    scancode=0x0942;
-                    beginrow=1;
-                    begincolumn=4;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x092C>;
-                    scancode=0x092C;
-                    beginrow=1;
-                    begincolumn=5;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0939>;
-                    scancode=0x0939;
-                    beginrow=1;
-                    begincolumn=6;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0917>;
-                    scancode=0x0917;
-                    beginrow=1;
-                    begincolumn=7;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0926>;
-                    scancode=0x0926;
-                    beginrow=1;
-                    begincolumn=8;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x091C>;
-                    scancode=0x091C;
-                    beginrow=1;
-                    begincolumn=9;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0921>;
-                    scancode=0x0921;
-                    beginrow=1;
-                    begincolumn=10;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x094B>;
-                    scancode=0x094B;
-                    beginrow=2;
-                    begincolumn=0;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0947>;
-                    scancode=0x0947;
-                    beginrow=2;
-                    begincolumn=1;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x094D>;
-                    scancode=0x094D;
-                    beginrow=2;
-                    begincolumn=2;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x093F>;
-                    scancode=0x093F;
-                    beginrow=2;
-                    begincolumn=3;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0941>;
-                    scancode=0x0941;
-                    beginrow=2;
-                    begincolumn=4;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x092A>;
-                    scancode=0x092A;
-                    beginrow=2;
-                    begincolumn=5;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0930>;
-                    scancode=0x0930;
-                    beginrow=2;
-                    begincolumn=6;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0915>;
-                    scancode=0x0915;
-                    beginrow=2;
-                    begincolumn=7;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0924>;
-                    scancode=0x0924;
-                    beginrow=2;
-                    begincolumn=8;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x091A>;
-                    scancode=0x091A;
-                    beginrow=2;
-                    begincolumn=9;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x091F>;
-                    scancode=0x091F;
-                    beginrow=2;
-                    begincolumn=10;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0949>;
-                    scancode=0x0949;
-                    beginrow=3;
-                    begincolumn=0;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0902>;
-                    scancode=0x0902;
-                    beginrow=3;
-                    begincolumn=1;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x092E>;
-                    scancode=0x092E;
-                    beginrow=3;
-                    begincolumn=2;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0928>;
-                    scancode=0x0928;
-                    beginrow=3;
-                    begincolumn=3;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0935>;
-                    scancode=0x0935;
-                    beginrow=3;
-                    begincolumn=4;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0932>;
-                    scancode=0x0932;
-                    beginrow=3;
-                    begincolumn=5;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0938>;
-                    scancode=0x0938;
-                    beginrow=3;
-                    begincolumn=6;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x002C>;
-                    scancode=0x002C;
-                    beginrow=3;
-                    begincolumn=7;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x002E>;
-                    scancode=0x002E;
-                    beginrow=3;
-                    begincolumn=8;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x092F>;
-                    scancode=0x092F;
-                    beginrow=3;
-                    begincolumn=9;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x003F>;
-                    scancode=0x003F;
-                    beginrow=3;
-                    begincolumn=10;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    }
-                };
-            },
-
-
-
-        PENINPUT_LAYOUT_VKB_LAYOUT
-            {
-            id=EPeninputVkbLayoutNativeCharShift;
-            mbmfile=PENINPUT_LAYOUT_VKB_BMP;
-            imgmajorskinid=EAknsMajorGeneric;
-            bgbmp=EMbmPeninputgenericvkbQgn_graf_fep_numb_11x3;
-            bgbmpmask=EMbmPeninputgenericvkbQgn_graf_fep_numb_11x3_mask;
-            bgbmpskinid=EAknsMinorGenericQgnGrafFepNumb11x3;
-            dimbmp=EMbmPeninputgenericvkbQgn_graf_fep_numb_11x3_1_button_dimmed;
-            dimmask=EMbmPeninputgenericvkbQgn_graf_fep_numb_11x3_1_button_dimmed_mask;
-            dimbmpskinid=EAknsMinorGenericQgnGrafFepNumb11x31ButtonDimmed;
-            colcount=11;
-            rowcount=4;
-            highlightbmps =
-                {
-                PENINPUT_LAYOUT_BITMAP_ID
-                    {
-                    bmpid=EMbmPeninputgenericvkbQgn_graf_fep_char_button_pressed;
-                    },
-                PENINPUT_LAYOUT_BITMAP_ID
-                    {
-                    bmpid=0xffff;
-                    }
-                };
-            highlightmaskbmps =
-                {
-                PENINPUT_LAYOUT_BITMAP_ID
-                    {
-                    bmpid=EMbmPeninputgenericvkbQgn_graf_fep_char_button_pressed_mask;
-                    },
-                PENINPUT_LAYOUT_BITMAP_ID
-                    {
-                    bmpid=0xffff;
-                    }
-                };
-            keys =
-                {
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x090D>;
-                    scancode=0x090D;
-                    beginrow=0;
-                    begincolumn=0;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0945>;
-                    scancode=0x0945;
-                    beginrow=0;
-                    begincolumn=1;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x094D><0x0930>;
-                    scancode=0x094D;
-                    beginrow=0;
-                    begincolumn=2;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0930><0x094D>;
-                    scancode=0x0930;
-                    beginrow=0;
-                    begincolumn=3;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x091C><0x094D><0x091E>;
-                    scancode=0x091C;
-                    beginrow=0;
-                    begincolumn=4;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0924><0x094D><0x0930>;
-                    scancode=0x0924;
-                    beginrow=0;
-                    begincolumn=5;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0915><0x094D><0x0937>;
-                    scancode=0x0915;
-                    beginrow=0;
-                    begincolumn=6;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0936><0x094D><0x0930>;
-                    scancode=0x0936;
-                    beginrow=0;
-                    begincolumn=7;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0903>;
-                    scancode=0x0903;
-                    beginrow=0;
-                    begincolumn=8;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x090B>;
-                    scancode=0x090B;
-                    beginrow=0;
-                    begincolumn=9;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x091E>;
-                    scancode=0x091E;
-                    beginrow=0;
-                    begincolumn=10;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0914>;
-                    scancode=0x0914;
-                    beginrow=1;
-                    begincolumn=0;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0910>;
-                    scancode=0x0910;
-                    beginrow=1;
-                    begincolumn=1;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0906>;
-                    scancode=0x0906;
-                    beginrow=1;
-                    begincolumn=2;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0908>;
-                    scancode=0x0908;
-                    beginrow=1;
-                    begincolumn=3;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x090A>;
-                    scancode=0x090A;
-                    beginrow=1;
-                    begincolumn=4;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x092D>;
-                    scancode=0x092D;
-                    beginrow=1;
-                    begincolumn=5;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0919>;
-                    scancode=0x0919;
-                    beginrow=1;
-                    begincolumn=6;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0918>;
-                    scancode=0x0918;
-                    beginrow=1;
-                    begincolumn=7;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0927>;
-                    scancode=0x0927;
-                    beginrow=1;
-                    begincolumn=8;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x091D>;
-                    scancode=0x091D;
-                    beginrow=1;
-                    begincolumn=9;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0922>;
-                    scancode=0x0922;
-                    beginrow=1;
-                    begincolumn=10;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0913>;
-                    scancode=0x0913;
-                    beginrow=2;
-                    begincolumn=0;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x090F>;
-                    scancode=0x090F;
-                    beginrow=2;
-                    begincolumn=1;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0905>;
-                    scancode=0x0905;
-                    beginrow=2;
-                    begincolumn=2;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0907>;
-                    scancode=0x0907;
-                    beginrow=2;
-                    begincolumn=3;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0909>;
-                    scancode=0x0909;
-                    beginrow=2;
-                    begincolumn=4;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x092B>;
-                    scancode=0x092B;
-                    beginrow=2;
-                    begincolumn=5;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0931>;
-                    scancode=0x0931;
-                    beginrow=2;
-                    begincolumn=6;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0916>;
-                    scancode=0x0916;
-                    beginrow=2;
-                    begincolumn=7;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0925>;
-                    scancode=0x0925;
-                    beginrow=2;
-                    begincolumn=8;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x091B>;
-                    scancode=0x091B;
-                    beginrow=2;
-                    begincolumn=9;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0920>;
-                    scancode=0x0920;
-                    beginrow=2;
-                    begincolumn=10;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0911>;
-                    scancode=0x0911;
-                    beginrow=3;
-                    begincolumn=0;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0901>;
-                    scancode=0x0901;
-                    beginrow=3;
-                    begincolumn=1;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0923>;
-                    scancode=0x0923;
-                    beginrow=3;
-                    begincolumn=2;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0929>;
-                    scancode=0x0929;
-                    beginrow=3;
-                    begincolumn=3;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0934>;
-                    scancode=0x0934;
-                    beginrow=3;
-                    begincolumn=4;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0933>;
-                    scancode=0x0933;
-                    beginrow=3;
-                    begincolumn=5;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0936>;
-                    scancode=0x0936;
-                    beginrow=3;
-                    begincolumn=6;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0937>;
-                    scancode=0x0937;
-                    beginrow=3;
-                    begincolumn=7;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0964>;
-                    scancode=0x0964;
-                    beginrow=3;
-                    begincolumn=8;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x095F>;
-                    scancode=0x095F;
-                    beginrow=3;
-                    begincolumn=9;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0021>;
-                    scancode=0x0021;
-                    beginrow=3;
-                    begincolumn=10;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    }
-                };
-            },
-
-
-
-        PENINPUT_LAYOUT_VKB_LAYOUT
-            {
-            id=EPeninputVkbLayoutLatinNumber;
-            mbmfile=PENINPUT_LAYOUT_VKB_BMP;
-            imgmajorskinid=EAknsMajorGeneric;
-            bgbmp=EMbmPeninputgenericvkbQgn_graf_fep_numb_11x3;
-            bgbmpmask=EMbmPeninputgenericvkbQgn_graf_fep_numb_11x3_mask;
-            bgbmpskinid=EAknsMinorGenericQgnGrafFepNumb11x3;
-            dimbmp=EMbmPeninputgenericvkbQgn_graf_fep_numb_11x3_1_button_dimmed;
-            dimmask=EMbmPeninputgenericvkbQgn_graf_fep_numb_11x3_1_button_dimmed_mask;
-            dimbmpskinid=EAknsMinorGenericQgnGrafFepNumb11x31ButtonDimmed;
-            colcount=11;
-            rowcount=4;
-            highlightbmps =
-                {
-                PENINPUT_LAYOUT_BITMAP_ID
-                    {
-                    bmpid=EMbmPeninputgenericvkbQgn_graf_fep_char_button_pressed;
-                    },
-                PENINPUT_LAYOUT_BITMAP_ID
-                    {
-                    bmpid=0xffff;
-                    }
-                };
-            highlightmaskbmps =
-                {
-                PENINPUT_LAYOUT_BITMAP_ID
-                    {
-                    bmpid=EMbmPeninputgenericvkbQgn_graf_fep_char_button_pressed_mask;
-                    },
-                PENINPUT_LAYOUT_BITMAP_ID
-                    {
-                    bmpid=0xffff;
-                    }
-                };
-            keys =
-                {
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0031>;
-                    scancode=0x0031;
-                    beginrow=0;
-                    begincolumn=0;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0032>;
-                    scancode=0x0032;
-                    beginrow=0;
-                    begincolumn=1;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0033>;
-                    scancode=0x0033;
-                    beginrow=0;
-                    begincolumn=2;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x002B>;
-                    scancode=0x002B;
-                    beginrow=0;
-                    begincolumn=3;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x002C>;
-                    scancode=0x002C;
-                    beginrow=0;
-                    begincolumn=4;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x002E>;
-                    scancode=0x002E;
-                    beginrow=0;
-                    begincolumn=5;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x003B>;
-                    scancode=0x003B;
-                    beginrow=0;
-                    begincolumn=6;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x003A>;
-                    scancode=0x003A;
-                    beginrow=0;
-                    begincolumn=7;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0021>;
-                    scancode=0x0021;
-                    beginrow=0;
-                    begincolumn=8;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x003F>;
-                    scancode=0x003F;
-                    beginrow=0;
-                    begincolumn=9;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0026>;
-                    scancode=0x0026;
-                    beginrow=0;
-                    begincolumn=10;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0034>;
-                    scancode=0x0034;
-                    beginrow=1;
-                    begincolumn=0;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0035>;
-                    scancode=0x0035;
-                    beginrow=1;
-                    begincolumn=1;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0036>;
-                    scancode=0x0036;
-                    beginrow=1;
-                    begincolumn=2;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0070>;
-                    scancode=0x0070;
-                    beginrow=1;
-                    begincolumn=3;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x002D>;
-                    scancode=0x002D;
-                    beginrow=1;
-                    begincolumn=4;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x003D>;
-                    scancode=0x003D;
-                    beginrow=1;
-                    begincolumn=5;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x005F>;
-                    scancode=0x005F;
-                    beginrow=1;
-                    begincolumn=6;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0027>;
-                    scancode=0x0027;
-                    beginrow=1;
-                    begincolumn=7;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0022>;
-                    scancode=0x0022;
-                    beginrow=1;
-                    begincolumn=8;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0028>;
-                    scancode=0x0028;
-                    beginrow=1;
-                    begincolumn=9;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0029>;
-                    scancode=0x0029;
-                    beginrow=1;
-                    begincolumn=10;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0037>;
-                    scancode=0x0037;
-                    beginrow=2;
-                    begincolumn=0;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0038>;
-                    scancode=0x0038;
-                    beginrow=2;
-                    begincolumn=1;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0039>;
-                    scancode=0x0039;
-                    beginrow=2;
-                    begincolumn=2;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0077>;
-                    scancode=0x0077;
-                    beginrow=2;
-                    begincolumn=3;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0040>;
-                    scancode=0x0040;
-                    beginrow=2;
-                    begincolumn=4;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x201E>;
-                    scancode=0x201E;
-                    beginrow=2;
-                    begincolumn=5;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x201D>;
-                    scancode=0x201D;
-                    beginrow=2;
-                    begincolumn=6;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x002F>;
-                    scancode=0x002F;
-                    beginrow=2;
-                    begincolumn=7;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x005C>;
-                    scancode=0x005C;
-                    beginrow=2;
-                    begincolumn=8;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x007B>;
-                    scancode=0x007B;
-                    beginrow=2;
-                    begincolumn=9;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x007D>;
-                    scancode=0x007D;
-                    beginrow=2;
-                    begincolumn=10;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x002A>;
-                    scancode=0x002A;
-                    beginrow=3;
-                    begincolumn=0;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0030>;
-                    scancode=0x0030;
-                    beginrow=3;
-                    begincolumn=1;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0023>;
-                    scancode=0x0023;
-                    beginrow=3;
-                    begincolumn=2;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x00B1>;
-                    scancode=0x00B1;
-                    beginrow=3;
-                    begincolumn=3;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0025>;
-                    scancode=0x0025;
-                    beginrow=3;
-                    begincolumn=4;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x003C>;
-                    scancode=0x003C;
-                    beginrow=3;
-                    begincolumn=5;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x003E>;
-                    scancode=0x003E;
-                    beginrow=3;
-                    begincolumn=6;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x00AB>;
-                    scancode=0x00AB;
-                    beginrow=3;
-                    begincolumn=7;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x00BB>;
-                    scancode=0x00BB;
-                    beginrow=3;
-                    begincolumn=8;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x005B>;
-                    scancode=0x005B;
-                    beginrow=3;
-                    begincolumn=9;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x005D>;
-                    scancode=0x005D;
-                    beginrow=3;
-                    begincolumn=10;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    }
-                };
-            },
-
-
-
-        PENINPUT_LAYOUT_VKB_LAYOUT
-            {
-            id=EPeninputVkbLayoutLatinNumberShift;
-            mbmfile=PENINPUT_LAYOUT_VKB_BMP;
-            imgmajorskinid=EAknsMajorGeneric;
-            bgbmp=EMbmPeninputgenericvkbQgn_graf_fep_numb_11x3;
-            bgbmpmask=EMbmPeninputgenericvkbQgn_graf_fep_numb_11x3_mask;
-            bgbmpskinid=EAknsMinorGenericQgnGrafFepNumb11x3;
-            dimbmp=EMbmPeninputgenericvkbQgn_graf_fep_numb_11x3_1_button_dimmed;
-            dimmask=EMbmPeninputgenericvkbQgn_graf_fep_numb_11x3_1_button_dimmed_mask;
-            dimbmpskinid=EAknsMinorGenericQgnGrafFepNumb11x31ButtonDimmed;
-            colcount=11;
-            rowcount=4;
-            highlightbmps =
-                {
-                PENINPUT_LAYOUT_BITMAP_ID
-                    {
-                    bmpid=EMbmPeninputgenericvkbQgn_graf_fep_char_button_pressed;
-                    },
-                PENINPUT_LAYOUT_BITMAP_ID
-                    {
-                    bmpid=0xffff;
-                    }
-                };
-            highlightmaskbmps =
-                {
-                PENINPUT_LAYOUT_BITMAP_ID
-                    {
-                    bmpid=EMbmPeninputgenericvkbQgn_graf_fep_char_button_pressed_mask;
-                    },
-                PENINPUT_LAYOUT_BITMAP_ID
-                    {
-                    bmpid=0xffff;
-                    }
-                };
-            keys =
-                {
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0031>;
-                    scancode=0x0031;
-                    beginrow=0;
-                    begincolumn=0;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0032>;
-                    scancode=0x0032;
-                    beginrow=0;
-                    begincolumn=1;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0033>;
-                    scancode=0x0033;
-                    beginrow=0;
-                    begincolumn=2;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x002B>;
-                    scancode=0x002B;
-                    beginrow=0;
-                    begincolumn=3;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x007E>;
-                    scancode=0x007E;
-                    beginrow=0;
-                    begincolumn=4;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x005E>;
-                    scancode=0x005E;
-                    beginrow=0;
-                    begincolumn=5;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0060>;
-                    scancode=0x0060;
-                    beginrow=0;
-                    begincolumn=6;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x2248>;
-                    scancode=0x2248;
-                    beginrow=0;
-                    begincolumn=7;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x00A1>;
-                    scancode=0x00A1;
-                    beginrow=0;
-                    begincolumn=8;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x00BF>;
-                    scancode=0x00BF;
-                    beginrow=0;
-                    begincolumn=9;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x00B0>;
-                    scancode=0x00B0;
-                    beginrow=0;
-                    begincolumn=10;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0034>;
-                    scancode=0x0034;
-                    beginrow=1;
-                    begincolumn=0;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0035>;
-                    scancode=0x0035;
-                    beginrow=1;
-                    begincolumn=1;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0036>;
-                    scancode=0x0036;
-                    beginrow=1;
-                    begincolumn=2;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x00A7>;
-                    scancode=0x00A7;
-                    beginrow=1;
-                    begincolumn=3;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x007C>;
-                    scancode=0x007C;
-                    beginrow=1;
-                    begincolumn=4;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0045>;
-                    scancode=0x0045;
-                    beginrow=1;
-                    begincolumn=5;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x20AC>;
-                    scancode=0x20AC;
-                    beginrow=1;
-                    begincolumn=6;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x00A3>;
-                    scancode=0x00A3;
-                    beginrow=1;
-                    begincolumn=7;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0024>;
-                    scancode=0x0024;
-                    beginrow=1;
-                    begincolumn=8;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x00A5>;
-                    scancode=0x00A5;
-                    beginrow=1;
-                    begincolumn=9;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x00A2>;
-                    scancode=0x00A2;
-                    beginrow=1;
-                    begincolumn=10;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0037>;
-                    scancode=0x0037;
-                    beginrow=2;
-                    begincolumn=0;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0038>;
-                    scancode=0x0038;
-                    beginrow=2;
-                    begincolumn=1;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0039>;
-                    scancode=0x0039;
-                    beginrow=2;
-                    begincolumn=2;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x00A4>;
-                    scancode=0x00A4;
-                    beginrow=2;
-                    begincolumn=3;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x20AA>;
-                    scancode=0x20AA;
-                    beginrow=2;
-                    begincolumn=4;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0E3F>;
-                    scancode=0x0E3F;
-                    beginrow=2;
-                    begincolumn=5;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x20AB>;
-                    scancode=0x20AB;
-                    beginrow=2;
-                    begincolumn=6;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x00B9>;
-                    scancode=0x00B9;
-                    beginrow=2;
-                    begincolumn=7;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x00B2>;
-                    scancode=0x00B2;
-                    beginrow=2;
-                    begincolumn=8;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x00B3>;
-                    scancode=0x00B3;
-                    beginrow=2;
-                    begincolumn=9;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x00AA>;
-                    scancode=0x00AA;
-                    beginrow=2;
-                    begincolumn=10;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x002A>;
-                    scancode=0x002A;
-                    beginrow=3;
-                    begincolumn=0;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0030>;
-                    scancode=0x0030;
-                    beginrow=3;
-                    begincolumn=1;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0023>;
-                    scancode=0x0023;
-                    beginrow=3;
-                    begincolumn=2;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x2030>;
-                    scancode=0x2030;
-                    beginrow=3;
-                    begincolumn=3;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x00B5>;
-                    scancode=0x00B5;
-                    beginrow=3;
-                    begincolumn=4;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x2211>;
-                    scancode=0x2211;
-                    beginrow=3;
-                    begincolumn=5;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x2206>;
-                    scancode=0x2206;
-                    beginrow=3;
-                    begincolumn=6;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x220F>;
-                    scancode=0x220F;
-                    beginrow=3;
-                    begincolumn=7;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x00A9>;
-                    scancode=0x00A9;
-                    beginrow=3;
-                    begincolumn=8;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x00AE>;
-                    scancode=0x00AE;
-                    beginrow=3;
-                    begincolumn=9;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x00BA>;
-                    scancode=0x00BA;
-                    beginrow=3;
-                    begincolumn=10;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    }
-                };
-            },
-
-
-
-        PENINPUT_LAYOUT_VKB_LAYOUT
-            {
-            id=EPeninputVkbLayoutNativeNumber;
-            mbmfile=PENINPUT_LAYOUT_VKB_BMP;
-            imgmajorskinid=EAknsMajorGeneric;
-            bgbmp=EMbmPeninputgenericvkbQgn_graf_fep_numb_11x3;
-            bgbmpmask=EMbmPeninputgenericvkbQgn_graf_fep_numb_11x3_mask;
-            bgbmpskinid=EAknsMinorGenericQgnGrafFepNumb11x3;
-            dimbmp=EMbmPeninputgenericvkbQgn_graf_fep_numb_11x3_1_button_dimmed;
-            dimmask=EMbmPeninputgenericvkbQgn_graf_fep_numb_11x3_1_button_dimmed_mask;
-            dimbmpskinid=EAknsMinorGenericQgnGrafFepNumb11x31ButtonDimmed;
-            colcount=11;
-            rowcount=4;
-            highlightbmps =
-                {
-                PENINPUT_LAYOUT_BITMAP_ID
-                    {
-                    bmpid=EMbmPeninputgenericvkbQgn_graf_fep_char_button_pressed;
-                    },
-                PENINPUT_LAYOUT_BITMAP_ID
-                    {
-                    bmpid=0xffff;
-                    }
-                };
-            highlightmaskbmps =
-                {
-                PENINPUT_LAYOUT_BITMAP_ID
-                    {
-                    bmpid=EMbmPeninputgenericvkbQgn_graf_fep_char_button_pressed_mask;
-                    },
-                PENINPUT_LAYOUT_BITMAP_ID
-                    {
-                    bmpid=0xffff;
-                    }
-                };
-            keys =
-                {
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0967>;
-                    scancode=0x0967;
-                    beginrow=0;
-                    begincolumn=0;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0968>;
-                    scancode=0x0968;
-                    beginrow=0;
-                    begincolumn=1;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0969>;
-                    scancode=0x0969;
-                    beginrow=0;
-                    begincolumn=2;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0964>;
-                    scancode=0x0964;
-                    beginrow=0;
-                    begincolumn=3;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0965>;
-                    scancode=0x0965;
-                    beginrow=0;
-                    begincolumn=4;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0970>;
-                    scancode=0x0970;
-                    beginrow=0;
-                    begincolumn=5;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x093D>;
-                    scancode=0x093D;
-                    beginrow=0;
-                    begincolumn=6;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0950>;
-                    scancode=0x0950;
-                    beginrow=0;
-                    begincolumn=7;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x002C>;
-                    scancode=0x002C;
-                    beginrow=0;
-                    begincolumn=8;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x002E>;
-                    scancode=0x002E;
-                    beginrow=0;
-                    begincolumn=9;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x002D>;
-                    scancode=0x002D;
-                    beginrow=0;
-                    begincolumn=10;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x096A>;
-                    scancode=0x096A;
-                    beginrow=1;
-                    begincolumn=0;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x096B>;
-                    scancode=0x096B;
-                    beginrow=1;
-                    begincolumn=1;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x096C>;
-                    scancode=0x096C;
-                    beginrow=1;
-                    begincolumn=2;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0070>;
-                    scancode=0x0070;
-                    beginrow=1;
-                    begincolumn=3;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x003B>;
-                    scancode=0x003B;
-                    beginrow=1;
-                    begincolumn=4;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x003A>;
-                    scancode=0x003A;
-                    beginrow=1;
-                    begincolumn=5;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0021>;
-                    scancode=0x0021;
-                    beginrow=1;
-                    begincolumn=6;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x003F>;
-                    scancode=0x003F;
-                    beginrow=1;
-                    begincolumn=7;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x002F>;
-                    scancode=0x002F;
-                    beginrow=1;
-                    begincolumn=8;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x005C>;
-                    scancode=0x005C;
-                    beginrow=1;
-                    begincolumn=9;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x003D>;
-                    scancode=0x003D;
-                    beginrow=1;
-                    begincolumn=10;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x096D>;
-                    scancode=0x096D;
-                    beginrow=2;
-                    begincolumn=0;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x096E>;
-                    scancode=0x096E;
-                    beginrow=2;
-                    begincolumn=1;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x096F>;
-                    scancode=0x096F;
-                    beginrow=2;
-                    begincolumn=2;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0077>;
-                    scancode=0x0077;
-                    beginrow=2;
-                    begincolumn=3;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0040>;
-                    scancode=0x0040;
-                    beginrow=2;
-                    begincolumn=4;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x005F>;
-                    scancode=0x005F;
-                    beginrow=2;
-                    begincolumn=5;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0027>;
-                    scancode=0x0027;
-                    beginrow=2;
-                    begincolumn=6;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0022>;
-                    scancode=0x0022;
-                    beginrow=2;
-                    begincolumn=7;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x201E>;
-                    scancode=0x201E;
-                    beginrow=2;
-                    begincolumn=8;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x201D>;
-                    scancode=0x201D;
-                    beginrow=2;
-                    begincolumn=9;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0025>;
-                    scancode=0x0025;
-                    beginrow=2;
-                    begincolumn=10;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x002A>;
-                    scancode=0x002A;
-                    beginrow=3;
-                    begincolumn=0;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0966>;
-                    scancode=0x0966;
-                    beginrow=3;
-                    begincolumn=1;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0023>;
-                    scancode=0x0023;
-                    beginrow=3;
-                    begincolumn=2;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x002B>;
-                    scancode=0x002B;
-                    beginrow=3;
-                    begincolumn=3;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0028>;
-                    scancode=0x0028;
-                    beginrow=3;
-                    begincolumn=4;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0029>;
-                    scancode=0x0029;
-                    beginrow=3;
-                    begincolumn=5;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x003C>;
-                    scancode=0x003C;
-                    beginrow=3;
-                    begincolumn=6;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x003E>;
-                    scancode=0x003E;
-                    beginrow=3;
-                    begincolumn=7;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x00B1>;
-                    scancode=0x00B1;
-                    beginrow=3;
-                    begincolumn=8;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x007B>;
-                    scancode=0x007B;
-                    beginrow=3;
-                    begincolumn=9;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x007D>;
-                    scancode=0x007D;
-                    beginrow=3;
-                    begincolumn=10;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    }
-                };
-            },
-
-
-
-        PENINPUT_LAYOUT_VKB_LAYOUT
-            {
-            id=EPeninputVkbLayoutNativeNumberShift;
-            mbmfile=PENINPUT_LAYOUT_VKB_BMP;
-            imgmajorskinid=EAknsMajorGeneric;
-            bgbmp=EMbmPeninputgenericvkbQgn_graf_fep_numb_11x3;
-            bgbmpmask=EMbmPeninputgenericvkbQgn_graf_fep_numb_11x3_mask;
-            bgbmpskinid=EAknsMinorGenericQgnGrafFepNumb11x3;
-            dimbmp=EMbmPeninputgenericvkbQgn_graf_fep_numb_11x3_1_button_dimmed;
-            dimmask=EMbmPeninputgenericvkbQgn_graf_fep_numb_11x3_1_button_dimmed_mask;
-            dimbmpskinid=EAknsMinorGenericQgnGrafFepNumb11x31ButtonDimmed;
-            colcount=11;
-            rowcount=4;
-            highlightbmps =
-                {
-                PENINPUT_LAYOUT_BITMAP_ID
-                    {
-                    bmpid=EMbmPeninputgenericvkbQgn_graf_fep_char_button_pressed;
-                    },
-                PENINPUT_LAYOUT_BITMAP_ID
-                    {
-                    bmpid=0xffff;
-                    }
-                };
-            highlightmaskbmps =
-                {
-                PENINPUT_LAYOUT_BITMAP_ID
-                    {
-                    bmpid=EMbmPeninputgenericvkbQgn_graf_fep_char_button_pressed_mask;
-                    },
-                PENINPUT_LAYOUT_BITMAP_ID
-                    {
-                    bmpid=0xffff;
-                    }
-                };
-            keys =
-                {
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0967>;
-                    scancode=0x0967;
-                    beginrow=0;
-                    begincolumn=0;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0968>;
-                    scancode=0x0968;
-                    beginrow=0;
-                    begincolumn=1;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0969>;
-                    scancode=0x0969;
-                    beginrow=0;
-                    begincolumn=2;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x007E>;
-                    scancode=0x007E;
-                    beginrow=0;
-                    begincolumn=3;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x005E>;
-                    scancode=0x005E;
-                    beginrow=0;
-                    begincolumn=4;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0060>;
-                    scancode=0x0060;
-                    beginrow=0;
-                    begincolumn=5;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x00B0>;
-                    scancode=0x00B0;
-                    beginrow=0;
-                    begincolumn=6;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x00A7>;
-                    scancode=0x00A7;
-                    beginrow=0;
-                    begincolumn=7;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x2248>;
-                    scancode=0x2248;
-                    beginrow=0;
-                    begincolumn=8;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x2260>;
-                    scancode=0x2260;
-                    beginrow=0;
-                    begincolumn=9;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x00A4>;
-                    scancode=0x00A4;
-                    beginrow=0;
-                    begincolumn=10;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x096A>;
-                    scancode=0x096A;
-                    beginrow=1;
-                    begincolumn=0;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x096B>;
-                    scancode=0x096B;
-                    beginrow=1;
-                    begincolumn=1;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x096C>;
-                    scancode=0x096C;
-                    beginrow=1;
-                    begincolumn=2;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x20AC>;
-                    scancode=0x20AC;
-                    beginrow=1;
-                    begincolumn=3;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x00A3>;
-                    scancode=0x00A3;
-                    beginrow=1;
-                    begincolumn=4;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0024>;
-                    scancode=0x0024;
-                    beginrow=1;
-                    begincolumn=5;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x00A5>;
-                    scancode=0x00A5;
-                    beginrow=1;
-                    begincolumn=6;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x00A2>;
-                    scancode=0x00A2;
-                    beginrow=1;
-                    begincolumn=7;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x20AA>;
-                    scancode=0x20AA;
-                    beginrow=1;
-                    begincolumn=8;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0E3F>;
-                    scancode=0x0E3F;
-                    beginrow=1;
-                    begincolumn=9;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x20AB>;
-                    scancode=0x20AB;
-                    beginrow=1;
-                    begincolumn=10;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x096D>;
-                    scancode=0x096D;
-                    beginrow=2;
-                    begincolumn=0;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x096E>;
-                    scancode=0x096E;
-                    beginrow=2;
-                    begincolumn=1;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x096F>;
-                    scancode=0x096F;
-                    beginrow=2;
-                    begincolumn=2;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x00B9>;
-                    scancode=0x00B9;
-                    beginrow=2;
-                    begincolumn=3;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x00B2>;
-                    scancode=0x00B2;
-                    beginrow=2;
-                    begincolumn=4;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x00B3>;
-                    scancode=0x00B3;
-                    beginrow=2;
-                    begincolumn=5;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x00AA>;
-                    scancode=0x00AA;
-                    beginrow=2;
-                    begincolumn=6;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x00BA>;
-                    scancode=0x00BA;
-                    beginrow=2;
-                    begincolumn=7;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x007C>;
-                    scancode=0x007C;
-                    beginrow=2;
-                    begincolumn=8;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0045>;
-                    scancode=0x0045;
-                    beginrow=2;
-                    begincolumn=9;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x2030>;
-                    scancode=0x2030;
-                    beginrow=2;
-                    begincolumn=10;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x002A>;
-                    scancode=0x002A;
-                    beginrow=3;
-                    begincolumn=0;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0966>;
-                    scancode=0x0966;
-                    beginrow=3;
-                    begincolumn=1;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0023>;
-                    scancode=0x0023;
-                    beginrow=3;
-                    begincolumn=2;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x002B>;
-                    scancode=0x002B;
-                    beginrow=3;
-                    begincolumn=3;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0026>;
-                    scancode=0x0026;
-                    beginrow=3;
-                    begincolumn=4;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x00B5>;
-                    scancode=0x00B5;
-                    beginrow=3;
-                    begincolumn=5;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x2211>;
-                    scancode=0x2211;
-                    beginrow=3;
-                    begincolumn=6;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x2206>;
-                    scancode=0x2206;
-                    beginrow=3;
-                    begincolumn=7;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x220F>;
-                    scancode=0x220F;
-                    beginrow=3;
-                    begincolumn=8;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x005B>;
-                    scancode=0x005B;
-                    beginrow=3;
-                    begincolumn=9;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x005D>;
-                    scancode=0x005D;
-                    beginrow=3;
-                    begincolumn=10;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    }
-                };
-            },
-
-        PENINPUT_LAYOUT_VKB_LAYOUT
-            {
-            id=EPeninputVkbLayoutLatinChar;
-            mbmfile=PENINPUT_LAYOUT_VKB_BMP;
-            imgmajorskinid=EAknsMajorGeneric;
-            bgbmp=EMbmPeninputgenericvkbQgn_graf_fep_numb_11x3;
-            bgbmpmask=EMbmPeninputgenericvkbQgn_graf_fep_numb_11x3_mask;
-            bgbmpskinid=EAknsMinorGenericQgnGrafFepNumb11x3;
-            dimbmp=EMbmPeninputgenericvkbQgn_graf_fep_numb_11x3_1_button_dimmed;
-            dimmask=EMbmPeninputgenericvkbQgn_graf_fep_numb_11x3_1_button_dimmed_mask;
-            dimbmpskinid=EAknsMinorGenericQgnGrafFepNumb11x31ButtonDimmed;
-            colcount=11;
-            rowcount=4;
-            highlightbmps =
-                {
-                PENINPUT_LAYOUT_BITMAP_ID
-                    {
-                    bmpid=EMbmPeninputgenericvkbQgn_graf_fep_char_button_pressed;
-                    },
-                PENINPUT_LAYOUT_BITMAP_ID
-                    {
-                    bmpid=0xffff;
-                    }
-                };
-            highlightmaskbmps =
-                {
-                PENINPUT_LAYOUT_BITMAP_ID
-                    {
-                    bmpid=EMbmPeninputgenericvkbQgn_graf_fep_char_button_pressed_mask;
-                    },
-                PENINPUT_LAYOUT_BITMAP_ID
-                    {
-                    bmpid=0xffff;
-                    }
-                };
-            keys =
-                {
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0031>;
-                    scancode=0x0031;
-                    beginrow=0;
-                    begincolumn=0;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0032>;
-                    scancode=0x0032;
-                    beginrow=0;
-                    begincolumn=1;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0033>;
-                    scancode=0x0033;
-                    beginrow=0;
-                    begincolumn=2;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0034>;
-                    scancode=0x0034;
-                    beginrow=0;
-                    begincolumn=3;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0035>;
-                    scancode=0x0035;
-                    beginrow=0;
-                    begincolumn=4;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0036>;
-                    scancode=0x0036;
-                    beginrow=0;
-                    begincolumn=5;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0037>;
-                    scancode=0x0037;
-                    beginrow=0;
-                    begincolumn=6;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0038>;
-                    scancode=0x0038;
-                    beginrow=0;
-                    begincolumn=7;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0039>;
-                    scancode=0x0039;
-                    beginrow=0;
-                    begincolumn=8;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0030>;
-                    scancode=0x0030;
-                    beginrow=0;
-                    begincolumn=9;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x002B>;
-                    scancode=0x002B;
-                    beginrow=0;
-                    begincolumn=10;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0071>;
-                    scancode=0x0071;
-                    beginrow=1;
-                    begincolumn=0;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0077>;
-                    scancode=0x0077;
-                    beginrow=1;
-                    begincolumn=1;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0065>;
-                    scancode=0x0065;
-                    beginrow=1;
-                    begincolumn=2;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0072>;
-                    scancode=0x0072;
-                    beginrow=1;
-                    begincolumn=3;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0074>;
-                    scancode=0x0074;
-                    beginrow=1;
-                    begincolumn=4;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0079>;
-                    scancode=0x0079;
-                    beginrow=1;
-                    begincolumn=5;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0075>;
-                    scancode=0x0075;
-                    beginrow=1;
-                    begincolumn=6;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0069>;
-                    scancode=0x0069;
-                    beginrow=1;
-                    begincolumn=7;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x006F>;
-                    scancode=0x006F;
-                    beginrow=1;
-                    begincolumn=8;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0070>;
-                    scancode=0x0070;
-                    beginrow=1;
-                    begincolumn=9;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x003F>;
-                    scancode=0x003F;
-                    beginrow=1;
-                    begincolumn=10;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0061>;
-                    scancode=0x0061;
-                    beginrow=2;
-                    begincolumn=0;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0073>;
-                    scancode=0x0073;
-                    beginrow=2;
-                    begincolumn=1;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0064>;
-                    scancode=0x0064;
-                    beginrow=2;
-                    begincolumn=2;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0066>;
-                    scancode=0x0066;
-                    beginrow=2;
-                    begincolumn=3;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0067>;
-                    scancode=0x0067;
-                    beginrow=2;
-                    begincolumn=4;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0068>;
-                    scancode=0x0068;
-                    beginrow=2;
-                    begincolumn=5;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x006A>;
-                    scancode=0x006A;
-                    beginrow=2;
-                    begincolumn=6;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x006B>;
-                    scancode=0x006B;
-                    beginrow=2;
-                    begincolumn=7;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x006C>;
-                    scancode=0x006C;
-                    beginrow=2;
-                    begincolumn=8;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0027>;
-                    scancode=0x0027;
-                    beginrow=2;
-                    begincolumn=9;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0021>;
-                    scancode=0x0021;
-                    beginrow=2;
-                    begincolumn=10;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x007A>;
-                    scancode=0x007A;
-                    beginrow=3;
-                    begincolumn=0;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0078>;
-                    scancode=0x0078;
-                    beginrow=3;
-                    begincolumn=1;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0063>;
-                    scancode=0x0063;
-                    beginrow=3;
-                    begincolumn=2;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0076>;
-                    scancode=0x0076;
-                    beginrow=3;
-                    begincolumn=3;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0062>;
-                    scancode=0x0062;
-                    beginrow=3;
-                    begincolumn=4;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x006E>;
-                    scancode=0x006E;
-                    beginrow=3;
-                    begincolumn=5;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x006D>;
-                    scancode=0x006D;
-                    beginrow=3;
-                    begincolumn=6;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x002C>;
-                    scancode=0x002C;
-                    beginrow=3;
-                    begincolumn=7;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x002E>;
-                    scancode=0x002E;
-                    beginrow=3;
-                    begincolumn=8;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x002D>;
-                    scancode=0x002D;
-                    beginrow=3;
-                    begincolumn=9;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0040>;
-                    scancode=0x0040;
-                    beginrow=3;
-                    begincolumn=10;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    }
-                };
-            },
-
-
-
-        PENINPUT_LAYOUT_VKB_LAYOUT
-            {
-            id=EPeninputVkbLayoutLatinCharShift;
-            mbmfile=PENINPUT_LAYOUT_VKB_BMP;
-            imgmajorskinid=EAknsMajorGeneric;
-            bgbmp=EMbmPeninputgenericvkbQgn_graf_fep_numb_11x3;
-            bgbmpmask=EMbmPeninputgenericvkbQgn_graf_fep_numb_11x3_mask;
-            bgbmpskinid=EAknsMinorGenericQgnGrafFepNumb11x3;
-            dimbmp=EMbmPeninputgenericvkbQgn_graf_fep_numb_11x3_1_button_dimmed;
-            dimmask=EMbmPeninputgenericvkbQgn_graf_fep_numb_11x3_1_button_dimmed_mask;
-            dimbmpskinid=EAknsMinorGenericQgnGrafFepNumb11x31ButtonDimmed;
-            colcount=11;
-            rowcount=4;
-            highlightbmps =
-                {
-                PENINPUT_LAYOUT_BITMAP_ID
-                    {
-                    bmpid=EMbmPeninputgenericvkbQgn_graf_fep_char_button_pressed;
-                    },
-                PENINPUT_LAYOUT_BITMAP_ID
-                    {
-                    bmpid=0xffff;
-                    }
-                };
-            highlightmaskbmps =
-                {
-                PENINPUT_LAYOUT_BITMAP_ID
-                    {
-                    bmpid=EMbmPeninputgenericvkbQgn_graf_fep_char_button_pressed_mask;
-                    },
-                PENINPUT_LAYOUT_BITMAP_ID
-                    {
-                    bmpid=0xffff;
-                    }
-                };
-            keys =
-                {
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0031>;
-                    scancode=0x0031;
-                    beginrow=0;
-                    begincolumn=0;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0032>;
-                    scancode=0x0032;
-                    beginrow=0;
-                    begincolumn=1;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0033>;
-                    scancode=0x0033;
-                    beginrow=0;
-                    begincolumn=2;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0034>;
-                    scancode=0x0034;
-                    beginrow=0;
-                    begincolumn=3;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0035>;
-                    scancode=0x0035;
-                    beginrow=0;
-                    begincolumn=4;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0036>;
-                    scancode=0x0036;
-                    beginrow=0;
-                    begincolumn=5;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0037>;
-                    scancode=0x0037;
-                    beginrow=0;
-                    begincolumn=6;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0038>;
-                    scancode=0x0038;
-                    beginrow=0;
-                    begincolumn=7;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0039>;
-                    scancode=0x0039;
-                    beginrow=0;
-                    begincolumn=8;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0030>;
-                    scancode=0x0030;
-                    beginrow=0;
-                    begincolumn=9;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x005C>;
-                    scancode=0x005C;
-                    beginrow=0;
-                    begincolumn=10;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0051>;
-                    scancode=0x0051;
-                    beginrow=1;
-                    begincolumn=0;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0057>;
-                    scancode=0x0057;
-                    beginrow=1;
-                    begincolumn=1;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0045>;
-                    scancode=0x0045;
-                    beginrow=1;
-                    begincolumn=2;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0052>;
-                    scancode=0x0052;
-                    beginrow=1;
-                    begincolumn=3;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0054>;
-                    scancode=0x0054;
-                    beginrow=1;
-                    begincolumn=4;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0059>;
-                    scancode=0x0059;
-                    beginrow=1;
-                    begincolumn=5;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0055>;
-                    scancode=0x0055;
-                    beginrow=1;
-                    begincolumn=6;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0049>;
-                    scancode=0x0049;
-                    beginrow=1;
-                    begincolumn=7;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x004F>;
-                    scancode=0x004F;
-                    beginrow=1;
-                    begincolumn=8;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0050>;
-                    scancode=0x0050;
-                    beginrow=1;
-                    begincolumn=9;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x002F>;
-                    scancode=0x002F;
-                    beginrow=1;
-                    begincolumn=10;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0041>;
-                    scancode=0x0041;
-                    beginrow=2;
-                    begincolumn=0;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0053>;
-                    scancode=0x0053;
-                    beginrow=2;
-                    begincolumn=1;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0044>;
-                    scancode=0x0044;
-                    beginrow=2;
-                    begincolumn=2;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0046>;
-                    scancode=0x0046;
-                    beginrow=2;
-                    begincolumn=3;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0047>;
-                    scancode=0x0047;
-                    beginrow=2;
-                    begincolumn=4;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0048>;
-                    scancode=0x0048;
-                    beginrow=2;
-                    begincolumn=5;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x004A>;
-                    scancode=0x004A;
-                    beginrow=2;
-                    begincolumn=6;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x004B>;
-                    scancode=0x004B;
-                    beginrow=2;
-                    begincolumn=7;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x004C>;
-                    scancode=0x004C;
-                    beginrow=2;
-                    begincolumn=8;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0022>;
-                    scancode=0x0022;
-                    beginrow=2;
-                    begincolumn=9;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0026>;
-                    scancode=0x0026;
-                    beginrow=2;
-                    begincolumn=10;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x005A>;
-                    scancode=0x005A;
-                    beginrow=3;
-                    begincolumn=0;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0058>;
-                    scancode=0x0058;
-                    beginrow=3;
-                    begincolumn=1;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0043>;
-                    scancode=0x0043;
-                    beginrow=3;
-                    begincolumn=2;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0056>;
-                    scancode=0x0056;
-                    beginrow=3;
-                    begincolumn=3;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0042>;
-                    scancode=0x0042;
-                    beginrow=3;
-                    begincolumn=4;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x004E>;
-                    scancode=0x004E;
-                    beginrow=3;
-                    begincolumn=5;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x004D>;
-                    scancode=0x004D;
-                    beginrow=3;
-                    begincolumn=6;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x003B>;
-                    scancode=0x003B;
-                    beginrow=3;
-                    begincolumn=7;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x003A>;
-                    scancode=0x003A;
-                    beginrow=3;
-                    begincolumn=8;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x005F>;
-                    scancode=0x005F;
-                    beginrow=3;
-                    begincolumn=9;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x007E>;
-                    scancode=0x007E;
-                    beginrow=3;
-                    begincolumn=10;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    }
-                };
-            }
-        };
-    }
-
-// ---------------------------------------------------------------------------
-// r_peninput_layout_rangebar_info
-// The information of vkb's rangebar
-// ---------------------------------------------------------------------------
-//
-RESOURCE PENINPUT_LAYOUT_RANGE_BAR_INFO r_peninput_layout_rangebar_info
-    {
-    style=2;
-    ranges=
-        {
-        PENINPUT_LAYOUT_RANGE_INFO
-            {
-            rangeid=ERangeNative; // Native button
-            responsestyle=1;
-            clientlayoutid=EPeninputClientLayout12x5; 
-            vkblayoutid=EPeninputVkbLayoutNativeChar;
-            }, 
-        PENINPUT_LAYOUT_RANGE_INFO
-            {
-            rangeid=ERangeEnglish; // English button
-            responsestyle=1;
-            clientlayoutid=EPeninputClientLayout12x4; 
-            vkblayoutid=EPeninputVkbLayoutLatinChar;
-            }, 
-        PENINPUT_LAYOUT_RANGE_INFO
-            {
-            rangeid=ERangeNativeNumber; // Native number button
-            responsestyle=1;
-            clientlayoutid=EPeninputClientLayout12x4; 
-            vkblayoutid=EPeninputVkbLayoutNativeNumber;
-            },
-        PENINPUT_LAYOUT_RANGE_INFO
-            {
-            rangeid=ERangeNumber; // Number button
-            responsestyle=1;
-            clientlayoutid=EPeninputClientLayout12x4; 
-            vkblayoutid=EPeninputVkbLayoutLatinNumber;
-            },
-        PENINPUT_LAYOUT_RANGE_INFO
-            {
-            rangeid=ERangeSymbol; // Symbol button
-            responsestyle=1;
-            clientlayoutid=EPeninputClientLayout12x4; 
-            vkblayoutid=EPeninputVkbLayoutSymbol;
-            }
-        }; 
-    }
-
-// ---------------------------------------------------------------------------
-// r_peninput_layout_shift_caps_info_list
-// The information of vkb's shift and capslock button
-// ---------------------------------------------------------------------------
-//
-RESOURCE PENINPUT_LAYOUT_SHIFT_CAPS_INFO_LIST r_peninput_layout_shift_caps_info_list
-    {
-    items = 
-        {
-        PENINPUT_LAYOUT_SHIFT_CAPS_INFO
-            {
-            range = ERangeNative;
-            items =
-                {
-                PENINPUT_LAYOUT_SHIFT_CAPS_INFO_SINGLE
-                    {
-                    id=0;
-                    vkblayoutid=EPeninputVkbLayoutNativeChar;
-                    caseused=ECaseLower;
-                    },
-                PENINPUT_LAYOUT_SHIFT_CAPS_INFO_SINGLE 
-                    {
-                    id=1;
-                    vkblayoutid=EPeninputVkbLayoutNativeCharShift;
-                    caseused=ECaseText;
-                    },
-                PENINPUT_LAYOUT_SHIFT_CAPS_INFO_SINGLE 
-                    {
-                    id=2;
-                    vkblayoutid=EPeninputVkbLayoutNativeCharShift;
-                    caseused=ECaseUpper;
-                    },
-                PENINPUT_LAYOUT_SHIFT_CAPS_INFO_SINGLE 
-                    {
-                    id=3;
-                    vkblayoutid=EPeninputVkbLayoutNativeChar;
-                    caseused=ECaseInverseText;
-                    }
-                };
-            },
-       PENINPUT_LAYOUT_SHIFT_CAPS_INFO
-            {            
-            range = ERangeEnglish;
-            items =
-                {
-                PENINPUT_LAYOUT_SHIFT_CAPS_INFO_SINGLE
-                    {
-                    id=0;
-                    vkblayoutid=EPeninputVkbLayoutLatinChar;
-                    caseused=ECaseLower;
-                    },
-                PENINPUT_LAYOUT_SHIFT_CAPS_INFO_SINGLE 
-                    {
-                    id=1;
-                    vkblayoutid=EPeninputVkbLayoutLatinCharShift;
-                    caseused=ECaseText;
-                    },
-                PENINPUT_LAYOUT_SHIFT_CAPS_INFO_SINGLE 
-                    {
-                    id=2;
-                    vkblayoutid=EPeninputVkbLayoutLatinCharShift;
-                    caseused=ECaseUpper;
-                    },
-                PENINPUT_LAYOUT_SHIFT_CAPS_INFO_SINGLE 
-                    {
-                    id=3;
-                    vkblayoutid=EPeninputVkbLayoutLatinChar;
-                    caseused=ECaseInverseText;
-                    }
-                };
-            },  
-        PENINPUT_LAYOUT_SHIFT_CAPS_INFO
-            {
-            range = ERangeNativeNumber;
-            items =
-                {
-                PENINPUT_LAYOUT_SHIFT_CAPS_INFO_SINGLE
-                    {
-                    id=0;
-                    vkblayoutid=EPeninputVkbLayoutNativeNumber;
-                    caseused=0;
-                    },
-                PENINPUT_LAYOUT_SHIFT_CAPS_INFO_SINGLE 
-                    {
-                    id=1;
-                    vkblayoutid=EPeninputVkbLayoutNativeNumberShift;
-                    caseused=0;
-                    },
-                PENINPUT_LAYOUT_SHIFT_CAPS_INFO_SINGLE 
-                    {
-                    id=2;
-                    vkblayoutid=EPeninputVkbLayoutNativeNumberShift;
-                    caseused=0;
-                    },
-                PENINPUT_LAYOUT_SHIFT_CAPS_INFO_SINGLE 
-                    {
-                    id=3;
-                    vkblayoutid=EPeninputVkbLayoutNativeNumber;
-                    caseused=0;
-                    }
-                };
-            },
-        PENINPUT_LAYOUT_SHIFT_CAPS_INFO
-            {
-            range = ERangeNumber;
-            items =
-                {
-                PENINPUT_LAYOUT_SHIFT_CAPS_INFO_SINGLE
-                    {
-                    id=0;
-                    vkblayoutid=EPeninputVkbLayoutLatinNumber;
-                    caseused=0;
-                    },
-                PENINPUT_LAYOUT_SHIFT_CAPS_INFO_SINGLE 
-                    {
-                    id=1;
-                    vkblayoutid=EPeninputVkbLayoutLatinNumberShift;
-                    caseused=0;
-                    },
-                PENINPUT_LAYOUT_SHIFT_CAPS_INFO_SINGLE 
-                    {
-                    id=2;
-                    vkblayoutid=EPeninputVkbLayoutLatinNumberShift;
-                    caseused=0;
-                    },
-                PENINPUT_LAYOUT_SHIFT_CAPS_INFO_SINGLE 
-                    {
-                    id=3;
-                    vkblayoutid=EPeninputVkbLayoutLatinNumber;
-                    caseused=0;
-                    }
-                };
-            },            
-        PENINPUT_LAYOUT_SHIFT_CAPS_INFO
-            {
-            range = ERangeSymbol;
-            items =
-                {
-                PENINPUT_LAYOUT_SHIFT_CAPS_INFO_SINGLE
-                    {
-                    id=0;
-                    vkblayoutid=EPeninputVkbLayoutSymbol;
-                    caseused=0;
-                    },
-                PENINPUT_LAYOUT_SHIFT_CAPS_INFO_SINGLE 
-                    {
-                    id=1;
-                    vkblayoutid=EPeninputVkbLayoutSymbolShift;
-                    caseused=0;
-                    },
-                PENINPUT_LAYOUT_SHIFT_CAPS_INFO_SINGLE 
-                    {
-                    id=2;
-                    vkblayoutid=EPeninputVkbLayoutSymbolShift;
-                    caseused=0;
-                    },
-                PENINPUT_LAYOUT_SHIFT_CAPS_INFO_SINGLE 
-                    {
-                    id=3;
-                    vkblayoutid=EPeninputVkbLayoutSymbol;
-                    caseused=0;
-                    }
-                };
-            }
-        };
-    }
-
-// ---------------------------------------------------------------------------
-// r_peninput_layout_vkb_range_list
-// VKB range list
-// ---------------------------------------------------------------------------
-//
-RESOURCE AKN_FEP_INPUTRANGE_LIST r_peninput_layout_vkb_range_list
-    {
-    ranges=
-        {
-        AKN_FEP_INPUTRANGE
-            {
-            rangeid=ERangeNative;
-            ctrlid=EPeninutWindowCtrlIdNativeCharBtn;
-            indicator=r_peninput_layout_vkb_range_native;
-            posidx=0;
-            },
-        AKN_FEP_INPUTRANGE
-            {
-            rangeid=ERangeEnglish;
-            ctrlid=EPeninutWindowCtrlIdLatinCharBtn;
-            indicator=r_peninput_layout_vkb_range_english;
-            hide=1;
-            posidx=0;
-            },
-        AKN_FEP_INPUTRANGE
-            {
-            rangeid=ERangeNativeNumber;
-            ctrlid=EPeninutWindowCtrlIdNativeNumberBtn;
-            indicator=r_peninput_layout_vkb_range_native_number;
-            posidx=1;
-            },            
-        AKN_FEP_INPUTRANGE
-            {
-            rangeid=ERangeNumber;
-            ctrlid=EPeninutWindowCtrlIdLatinNumberBtn;
-            indicator=r_peninput_layout_vkb_range_number;
-            hide=1;
-            posidx=1;
-            },
-        AKN_FEP_INPUTRANGE
-            {
-            rangeid=ERangeSymbol;
-            ctrlid=EPeninutWindowCtrlIdSymbolBtn;
-            indicator=r_peninput_layout_vkb_range_symbol;
-            hide=1;
-            posidx=-1;
-            }
-        };
-    }
-
-// ---------------------------------------------------------------------------
-// r_peninput_layout_vkb_range_native
-// Native range button of vkb's rangebar
-// ---------------------------------------------------------------------------
-//
-RESOURCE AKN_FEP_BUTTON_IMAGE r_peninput_layout_vkb_range_native
-    {
-    bmpfile=PENINPUT_LAYOUT_VKB_BMP;
-    imgmajorskinid=EAknsMajorGeneric;
-    nactive=EMbmPeninputgenericvkbQgn_indi_input_case_text_hindi;
-    nactivemsk=EMbmPeninputgenericvkbQgn_indi_input_case_text_hindi_mask;
-    nactiveskinid=EAknsMinorGenericQgnIndiFepButtonChinese;
-
-    nactivep=EMbmPeninputgenericvkbQgn_indi_input_case_text_hindi;
-    nactivepmsk=EMbmPeninputgenericvkbQgn_indi_input_case_text_hindi_mask;
-    nactivepskinid=EAknsMinorGenericQgnIndiFepButtonChinese;
-
-    active=EMbmPeninputgenericvkbQgn_indi_input_case_text_hindi;
-    activemsk=EMbmPeninputgenericvkbQgn_indi_input_case_text_hindi_mask;
-    activeskinid=EAknsMinorGenericQgnIndiFepButtonChineseSel;
-
-    activep=EMbmPeninputgenericvkbQgn_indi_input_case_text_hindi;
-    activepmsk=EMbmPeninputgenericvkbQgn_indi_input_case_text_hindi_mask;
-    activepskinid=EAknsMinorGenericQgnIndiFepButtonChineseSel;
-
-    disable=EMbmPeninputgenericvkbQgn_indi_input_case_text_hindi;
-    disablemsk=EMbmPeninputgenericvkbQgn_indi_input_case_text_hindi_mask;
-    disableskinid=EAknsMinorGenericQgnIndiFepButtonChinese;
-
-    }
-    
-// ---------------------------------------------------------------------------
-// r_peninput_layout_vkb_range_english
-// English range button of vkb's rangebar
-// ---------------------------------------------------------------------------
-//
-RESOURCE AKN_FEP_BUTTON_IMAGE r_peninput_layout_vkb_range_english
-    {
-    bmpfile=PENINPUT_LAYOUT_VKB_BMP;
-    imgmajorskinid=EAknsMajorGeneric;
-    
-    nactive=EMbmPeninputgenericvkbQgn_indi_input_case_capital;
-    nactivemsk=EMbmPeninputgenericvkbQgn_indi_input_case_capital_mask;
-    nactiveskinid=EAknsMinorGenericQgnIndiFepButtonCaseCapital;
-    
-    nactivep=EMbmPeninputgenericvkbQgn_indi_input_case_capital;
-    nactivepmsk=EMbmPeninputgenericvkbQgn_indi_input_case_capital_mask;
-    nactivepskinid=EAknsMinorGenericQgnIndiFepButtonCaseCapital;
-    
-    active=EMbmPeninputgenericvkbQgn_indi_input_case_capital;
-    activemsk=EMbmPeninputgenericvkbQgn_indi_input_case_capital_mask;
-    activeskinid=EAknsMinorGenericQgnIndiFepButtonCaseCapitalSel;
-    
-    activep=EMbmPeninputgenericvkbQgn_indi_input_case_capital;
-    activepmsk=EMbmPeninputgenericvkbQgn_indi_input_case_capital_mask;
-    activepskinid=EAknsMinorGenericQgnIndiFepButtonCaseCapitalSel;
-    
-    disable=EMbmPeninputgenericvkbQgn_indi_input_case_capital;
-    disablemsk=EMbmPeninputgenericvkbQgn_indi_input_case_capital_mask;
-    disableskinid=EAknsMinorGenericQgnIndiFepButtonCaseCapital;       
-    }
-
-// ---------------------------------------------------------------------------
-// r_peninput_layout_vkb_range_symbol
-// Symbol range button of vkb's rangebar
-// ---------------------------------------------------------------------------
-//
-RESOURCE AKN_FEP_BUTTON_IMAGE r_peninput_layout_vkb_range_symbol
-    {
-    bmpfile=PENINPUT_LAYOUT_VKB_BMP;
-    imgmajorskinid=EAknsMajorGeneric;
-    nactive=EMbmPeninputgenericvkbQgn_indi_fep_button_case_special;
-    nactiveskinid=EAknsMinorGenericQgnIndiFepButtonCaseSpecial;
-
-    nactivep=EMbmPeninputgenericvkbQgn_indi_fep_button_case_special;
-    nactivepskinid=EAknsMinorGenericQgnIndiFepButtonCaseSpecial;
-
-    active=EMbmPeninputgenericvkbQgn_indi_fep_button_case_special_sel;
-    activeskinid=EAknsMinorGenericQgnIndiFepButtonCaseSpecialSel;
-
-    activep=EMbmPeninputgenericvkbQgn_indi_fep_button_case_special_sel;
-    activepskinid=EAknsMinorGenericQgnIndiFepButtonCaseSpecialSel;
-
-    disable=EMbmPeninputgenericvkbQgn_indi_fep_button_case_special;
-    disableskinid=EAknsMinorGenericQgnIndiFepButtonCaseSpecial;
-
-    }
-
-// ---------------------------------------------------------------------------
-// r_peninput_layout_vkb_range_number
-// Number range button of vkb's rangebar
-// ---------------------------------------------------------------------------
-//
-RESOURCE AKN_FEP_BUTTON_IMAGE r_peninput_layout_vkb_range_number
-    {
-    bmpfile=PENINPUT_LAYOUT_VKB_BMP;
-    imgmajorskinid=EAknsMajorGeneric;
-    
-    nactive=EMbmPeninputgenericvkbQgn_indi_input_case_numeric_special;
-    nactivemsk=EMbmPeninputgenericvkbQgn_indi_input_case_numeric_special_mask;
-    nactiveskinid=EAknsMinorGenericQgnIndiFepButtonCaseNumeric;
-    
-    nactivep=EMbmPeninputgenericvkbQgn_indi_input_case_numeric_special;
-    nactivepmsk=EMbmPeninputgenericvkbQgn_indi_input_case_numeric_special_mask;
-    nactivepskinid=EAknsMinorGenericQgnIndiFepButtonCaseNumeric;
-    
-    active=EMbmPeninputgenericvkbQgn_indi_input_case_numeric_special;
-    activemsk=EMbmPeninputgenericvkbQgn_indi_input_case_numeric_special_mask;
-    activeskinid=EAknsMinorGenericQgnIndiFepButtonCaseNumericSel;
-    
-    activep=EMbmPeninputgenericvkbQgn_indi_input_case_numeric_special;
-    activepmsk=EMbmPeninputgenericvkbQgn_indi_input_case_numeric_special_mask;
-    activepskinid=EAknsMinorGenericQgnIndiFepButtonCaseNumericSel;
-    
-    disable=EMbmPeninputgenericvkbQgn_indi_input_case_numeric_special;
-    disablemsk=EMbmPeninputgenericvkbQgn_indi_input_case_numeric_special_mask;
-    disableskinid=EAknsMinorGenericQgnIndiFepButtonCaseNumeric;           
-    }
-    
-// ---------------------------------------------------------------------------
-// r_peninput_layout_vkb_range_number
-// Number range button of vkb's rangebar
-// ---------------------------------------------------------------------------
-//
-RESOURCE AKN_FEP_BUTTON_IMAGE r_peninput_layout_vkb_range_native_number
-    {
-    bmpfile=PENINPUT_LAYOUT_VKB_BMP;
-    imgmajorskinid=EAknsMajorGeneric;
-    nactive=EMbmPeninputgenericvkbQgn_indi_input_case_numeric_devanagari;
-    nactivemsk=EMbmPeninputgenericvkbQgn_indi_input_case_numeric_devanagari_mask;
-    //nactiveskinid=EAknsMinorGenericQgnIndiFepButtonCaseNativeNumeric;
-
-    nactivep=EMbmPeninputgenericvkbQgn_indi_input_case_numeric_devanagari;
-    nactivepmsk=EMbmPeninputgenericvkbQgn_indi_input_case_numeric_devanagari_mask;
-    //nactivepskinid=EAknsMinorGenericQgnIndiFepButtonCaseNativeNumeric;
-
-    active=EMbmPeninputgenericvkbQgn_indi_input_case_numeric_devanagari;
-    activemsk=EMbmPeninputgenericvkbQgn_indi_input_case_numeric_devanagari_mask;
-    //activeskinid=EAknsMinorGenericQgnIndiFepButtonCaseNativeNumericSel;
-
-    activep=EMbmPeninputgenericvkbQgn_indi_input_case_numeric_devanagari;
-    activepmsk=EMbmPeninputgenericvkbQgn_indi_input_case_numeric_devanagari_mask;
-    //activepskinid=EAknsMinorGenericQgnIndiFepButtonCaseNativeNumericSel;
-
-    disable=EMbmPeninputgenericvkbQgn_indi_input_case_numeric_devanagari;
-    disablemsk=EMbmPeninputgenericvkbQgn_indi_input_case_numeric_devanagari_mask;
-    //disableskinid=EAknsMinorGenericQgnIndiFepButtonCaseNativeNumeric;
-
-    }
--- a/textinput/peninputsplitqwerty/group/peninputsplitqwerty.mmp	Wed Jun 09 10:03:19 2010 +0300
+++ b/textinput/peninputsplitqwerty/group/peninputsplitqwerty.mmp	Mon Jun 21 16:02:35 2010 +0300
@@ -92,7 +92,7 @@
 RESOURCE  peninputssqwinconfiginfo_51.rss
 RESOURCE  peninputssqwinconfiginfo_54.rss
 RESOURCE  peninputssqwinconfiginfo_57.rss
-RESOURCE  peninputssqwinconfiginfo_58.rss
+
 RESOURCE  peninputssqwinconfiginfo_59.rss
 RESOURCE  peninputssqwinconfiginfo_67.rss
 RESOURCE  peninputssqwinconfiginfo_68.rss
--- a/textinput/peninputsplitqwerty/src/peninputsplitqwertylafdatamgr.cpp	Wed Jun 09 10:03:19 2010 +0300
+++ b/textinput/peninputsplitqwerty/src/peninputsplitqwertylafdatamgr.cpp	Mon Jun 21 16:02:35 2010 +0300
@@ -300,8 +300,8 @@
     CPeninputQwtLayoutDataInfo* data = new( ELeave ) CPeninputQwtLayoutDataInfo;
     CleanupStack::PushL( data );
 
-    TAknWindowLineLayout linelayout;
-    TAknLayoutRect layoutrect;
+    TAknWindowLineLayout linelayout, linelayoutInner;
+    TAknLayoutRect layoutrect, layoutInnerect;
 
     TAknLayoutRect keypadRect, keypaneRect, keycellRect, keylabelRect;  
     TAknLayoutRect pic3paneRect;
@@ -451,18 +451,17 @@
     data->iClearButton.iInnerRect = OffsetRect( rectXInner, dx, dy );
     dx += rectXPane.Width();   
 
-    keyText = AknLayoutScalable_Avkon::popup_fep_char_pre_window_t1(0).LayoutLine();
+    // preview popup window    
+    keyText = AknLayoutScalable_Avkon::popup_fep_char_preview_window_t1( v2 ).LayoutLine();
+    linelayout = AknLayoutScalable_Avkon::popup_fep_char_preview_window( v2 ).LayoutLine();
+    linelayoutInner = AknLayoutScalable_Avkon::bg_popup_fep_char_preview_window_g9().LayoutLine();
     
-    linelayout = AknLayoutScalable_Avkon::popup_fep_char_pre_window(0).LayoutLine();
     layoutrect.LayoutRect( pic3paneRect.Rect(), linelayout );
-    TRect preBubbleRect = layoutrect.Rect();
-    preBubbleRect.Move( -preBubbleRect.iTl );
-    TRect preBubbleInner = preBubbleRect;
-    preBubbleInner.Shrink( 10, 10 );
+    layoutInnerect.LayoutRect( layoutrect.Rect(), linelayoutInner );
     
     data->iPreviewWndText = keyText;
-    data->iPreviewWndRect = preBubbleRect;
-    data->iPreviewWndInnerRect = preBubbleInner;
+    data->iPreviewWndRect = layoutrect.Rect();
+    data->iPreviewWndInnerRect = layoutInnerect.Rect();
     
     return data;
     }
--- a/textinput/peninputsplitqwerty/srcdata/peninputssqwinconfiginfo_58.rss	Wed Jun 09 10:03:19 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,4259 +0,0 @@
-/*
-* Copyright (c) 2002-2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Resource definitions for project peninputsplitqwerty
-*
-*/
-
-
-// Resource identifier
-NAME PIGV
-
-// System includes
-#include <aknsconstants.hrh>
-#include <eikon.hrh>
-#include <peninputsplitqwerty.mbg>
-#include <aknfeppeninputenums.h>
-
-// User includes
-#include "peninputcommonlayout.rh"
-#include "peninputsplitqwerty.hrh"
-
-RESOURCE RSS_SIGNATURE { }
-RESOURCE TBUF { buf=""; }
-
-// Macros  
-#define PENINPUT_LAYOUT_VKB_BMP "z:\\resource\\apps\\peninputsplitqwerty.mbm"
-
-// ---------------------------------------------------------------------------
-// r_peninput_layout_config_info
-// The configuration of window's layout
-// ---------------------------------------------------------------------------
-//
-RESOURCE PENINPUT_LAYOUT_CONFIG_INFO r_peninput_layout_config_info
-    {
-    language=58;
-    languagestring="Hi"; 
-    casesensitive=0;
-    guideline=EPeninputGuideLineNone;
-    clientlayoutlist=r_peninput_layout_vkb_client_layout_list;
-    vkblayoutlist=r_peninput_layout_vkb_vkb_layout_list;
-    rangebarinfo=r_peninput_layout_rangebar_info;
-    shiftcapsinfo=r_peninput_layout_shift_caps_info_list;
-    rangebarresource=r_peninput_layout_vkb_range_list;    
-    }
-
-// ---------------------------------------------------------------------------
-// r_peninput_layout_vkb_client_layout_list
-// Contains latin vkb layout
-// ---------------------------------------------------------------------------
-//
-RESOURCE PENINPUT_LAYOUT_CLIENT_LAYOUT_LIST r_peninput_layout_vkb_client_layout_list
-    {
-    items =
-        {
-        PENINPUT_LAYOUT_CLIENT_LAYOUT
-            {
-            id=EPeninputClientLayout12x4;
-            colcount=11;
-            rowcount=4;
-            controls =
-                {
-                PENINPUT_LAYOUT_CONTROL
-                    {
-                    id=EPeninutWindowCtrlIdVkbCtrl; // Control button
-                    beginrow=0;
-                    begincolumn=0;
-                    endrow=3;
-                    endcolumn=11;
-                    },
-                PENINPUT_LAYOUT_CONTROL
-                    {
-                    id=EPeninutWindowCtrlIdBackspaceBtn; // Backspace button
-                    beginrow=0;
-                    begincolumn=11;
-                    endrow=1;
-                    endcolumn=12;
-                    },
-                PENINPUT_LAYOUT_CONTROL
-                    {
-                    id=EPeninutWindowCtrlIdEnterBtn; // Enter button
-                    beginrow=1;
-                    begincolumn=11;
-                    endrow=2;
-                    endcolumn=12;
-                    },
-                PENINPUT_LAYOUT_CONTROL
-                    {
-                    id=EPeninutWindowCtrlIdInputLangSwitcherBtn; // Language switch button
-                    beginrow=2;
-                    begincolumn=11;
-                    endrow=3;
-                    endcolumn=12;
-                    },
-                PENINPUT_LAYOUT_CONTROL
-                    {
-                    id=EPeninutWindowCtrlIdTabBtn; // Tab button
-                    beginrow=3;
-                    begincolumn=0;
-                    endrow=4;
-                    endcolumn=1;
-                    },
-                PENINPUT_LAYOUT_CONTROL
-                    {
-                    id=EPeninutWindowCtrlIdCapslockBtn; // Capslock button
-                    beginrow=3;
-                    begincolumn=1;
-                    endrow=4;
-                    endcolumn=2;
-                    },
-                PENINPUT_LAYOUT_CONTROL
-                    {
-                    id=EPeninutWindowCtrlIdShiftBtn; // Shift button
-                    beginrow=3;
-                    begincolumn=2;
-                    endrow=4;
-                    endcolumn=3;
-                    },
-                PENINPUT_LAYOUT_CONTROL
-                    {
-                    id=EPeninutWindowCtrlIdSpaceBtn; // Space button
-                    beginrow=3;
-                    begincolumn=3;
-                    endrow=4;
-                    endcolumn=7;
-                    },
-                PENINPUT_LAYOUT_CONTROL
-                    {
-                    id=EPeninutWindowCtrlIdRangeBar; // Rangebar
-                    beginrow=3;
-                    begincolumn=7;
-                    endrow=4;
-                    endcolumn=11;
-                    },
-                PENINPUT_LAYOUT_CONTROL
-                    {
-                    id=EPeninutWindowCtrlIdSwitchToHwrBtn; // VKB to HWR switch button
-                    beginrow=3;
-                    begincolumn=11;
-                    endrow=4;
-                    endcolumn=12;
-                    }
-                };
-            },
-        PENINPUT_LAYOUT_CLIENT_LAYOUT
-            {
-            id=EPeninputClientLayout13x4;
-            colcount=11;
-            rowcount=4;
-            controls =
-                {
-                PENINPUT_LAYOUT_CONTROL
-                    {
-                    id=EPeninutWindowCtrlIdVkbCtrl; // Control button
-                    beginrow=0;
-                    begincolumn=0;
-                    endrow=3;
-                    endcolumn=12;
-                    },
-                PENINPUT_LAYOUT_CONTROL
-                    {
-                    id=EPeninutWindowCtrlIdBackspaceBtn; // Backspace button
-                    beginrow=0;
-                    begincolumn=12;
-                    endrow=1;
-                    endcolumn=13;
-                    },
-                PENINPUT_LAYOUT_CONTROL
-                    {
-                    id=EPeninutWindowCtrlIdEnterBtn; // Enter button
-                    beginrow=1;
-                    begincolumn=12;
-                    endrow=2;
-                    endcolumn=13;
-                    },
-                PENINPUT_LAYOUT_CONTROL
-                    {
-                    id=EPeninutWindowCtrlIdInputLangSwitcherBtn; // Language switch button
-                    beginrow=2;
-                    begincolumn=12;
-                    endrow=3;
-                    endcolumn=13;
-                    },
-                PENINPUT_LAYOUT_CONTROL
-                    {
-                    id=EPeninutWindowCtrlIdTabBtn; // Tab button
-                    beginrow=3;
-                    begincolumn=0;
-                    endrow=4;
-                    endcolumn=1;
-                    },
-                PENINPUT_LAYOUT_CONTROL
-                    {
-                    id=EPeninutWindowCtrlIdCapslockBtn; // Capslock button
-                    beginrow=3;
-                    begincolumn=1;
-                    endrow=4;
-                    endcolumn=2;
-                    },
-                PENINPUT_LAYOUT_CONTROL
-                    {
-                    id=EPeninutWindowCtrlIdShiftBtn; // Shift button
-                    beginrow=3;
-                    begincolumn=2;
-                    endrow=4;
-                    endcolumn=3;
-                    },
-                PENINPUT_LAYOUT_CONTROL
-                    {
-                    id=EPeninutWindowCtrlIdSpaceBtn; // Space button
-                    beginrow=3;
-                    begincolumn=3;
-                    endrow=4;
-                    endcolumn=8;
-                    },
-                PENINPUT_LAYOUT_CONTROL
-                    {
-                    id=EPeninutWindowCtrlIdRangeBar; // Rangebar
-                    beginrow=3;
-                    begincolumn=8;
-                    endrow=4;
-                    endcolumn=12;
-                    },
-                PENINPUT_LAYOUT_CONTROL
-                    {
-                    id=EPeninutWindowCtrlIdSwitchToHwrBtn; // VKB to HWR switch button
-                    beginrow=3;
-                    begincolumn=12;
-                    endrow=4;
-                    endcolumn=13;
-                    }
-                };
-            },
-        PENINPUT_LAYOUT_CLIENT_LAYOUT
-            {
-            id=EPeninputClientLayout12x5;
-            colcount=11;
-            rowcount=4;
-            controls =
-                {
-                PENINPUT_LAYOUT_CONTROL
-                    {
-                    id=EPeninutWindowCtrlIdVkbCtrl; // Control button
-                    beginrow=0;
-                    begincolumn=0;
-                    endrow=4;
-                    endcolumn=11;
-                    },
-                PENINPUT_LAYOUT_CONTROL
-                    {
-                    id=EPeninutWindowCtrlIdBackspaceBtn; // Backspace button
-                    beginrow=0;
-                    begincolumn=11;
-                    endrow=2;
-                    endcolumn=12;
-                    },
-                PENINPUT_LAYOUT_CONTROL
-                    {
-                    id=EPeninutWindowCtrlIdEnterBtn; // Enter button
-                    beginrow=2;
-                    begincolumn=11;
-                    endrow=3;
-                    endcolumn=12;
-                    },
-                PENINPUT_LAYOUT_CONTROL
-                    {
-                    id=EPeninutWindowCtrlIdInputLangSwitcherBtn; // Language switch button
-                    beginrow=3;
-                    begincolumn=11;
-                    endrow=4;
-                    endcolumn=12;
-                    },
-                PENINPUT_LAYOUT_CONTROL
-                    {
-                    id=EPeninutWindowCtrlIdTabBtn; // Tab button
-                    beginrow=4;
-                    begincolumn=0;
-                    endrow=5;
-                    endcolumn=1;
-                    },
-                PENINPUT_LAYOUT_CONTROL
-                    {
-                    id=EPeninutWindowCtrlIdCapslockBtn; // Capslock button
-                    beginrow=4;
-                    begincolumn=1;
-                    endrow=5;
-                    endcolumn=2;
-                    },
-                PENINPUT_LAYOUT_CONTROL
-                    {
-                    id=EPeninutWindowCtrlIdShiftBtn; // Shift button
-                    beginrow=4;
-                    begincolumn=2;
-                    endrow=5;
-                    endcolumn=3;
-                    },
-                PENINPUT_LAYOUT_CONTROL
-                    {
-                    id=EPeninutWindowCtrlIdSpaceBtn; // Space button
-                    beginrow=4;
-                    begincolumn=3;
-                    endrow=5;
-                    endcolumn=7;
-                    },
-                PENINPUT_LAYOUT_CONTROL
-                    {
-                    id=EPeninutWindowCtrlIdRangeBar; // Rangebar
-                    beginrow=4;
-                    begincolumn=7;
-                    endrow=5;
-                    endcolumn=11;
-                    },
-                PENINPUT_LAYOUT_CONTROL
-                    {
-                    id=EPeninutWindowCtrlIdSwitchToHwrBtn; // VKB to HWR switch button
-                    beginrow=4;
-                    begincolumn=11;
-                    endrow=5;
-                    endcolumn=12;
-                    }
-                };
-            }                        
-        };
-    }
-
-// ---------------------------------------------------------------------------
-// r_peninput_layout_vkb_vkb_layout_list
-// VKB button area layout
-// ---------------------------------------------------------------------------
-//
-RESOURCE PENINPUT_LAYOUT_VKB_LAYOUT_LIST r_peninput_layout_vkb_vkb_layout_list
-    {
-    items =
-        {
-        PENINPUT_LAYOUT_VKB_LAYOUT
-            {
-            id=EPeninputVkbLayoutNativeChar;
-            mbmfile=PENINPUT_LAYOUT_VKB_BMP;
-            imgmajorskinid=EAknsMajorGeneric;
-            bgbmp=EMbmPeninputsplitqwertyQgn_graf_fep_numb_11x3;
-            bgbmpmask=EMbmPeninputsplitqwertyQgn_graf_fep_numb_11x3_mask;
-            bgbmpskinid=EAknsMinorGenericQgnGrafFepNumb11x3;
-            dimbmp=EMbmPeninputsplitqwertyQgn_graf_fep_numb_11x3_1_button_dimmed;
-            dimmask=EMbmPeninputsplitqwertyQgn_graf_fep_numb_11x3_1_button_dimmed_mask;
-            dimbmpskinid=EAknsMinorGenericQgnGrafFepNumb11x31ButtonDimmed;
-            colcount=11;
-            rowcount=4;
-            highlightbmps =
-                {
-                PENINPUT_LAYOUT_BITMAP_ID
-                    {
-                    bmpid=EMbmPeninputsplitqwertyQgn_graf_fep_char_button_pressed;
-                    },
-                PENINPUT_LAYOUT_BITMAP_ID
-                    {
-                    bmpid=0xffff;
-                    }
-                };
-            highlightmaskbmps =
-                {
-                PENINPUT_LAYOUT_BITMAP_ID
-                    {
-                    bmpid=EMbmPeninputsplitqwertyQgn_graf_fep_char_button_pressed_mask;
-                    },
-                PENINPUT_LAYOUT_BITMAP_ID
-                    {
-                    bmpid=0xffff;
-                    }
-                };
-            keys =
-                {
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x090D>;
-                    scancode=0x090D;
-                    beginrow=0;
-                    begincolumn=0;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0945>;
-                    scancode=0x0945;
-                    beginrow=0;
-                    begincolumn=1;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x094D><0x0930>;
-                    scancode=0x094D;
-                    beginrow=0;
-                    begincolumn=2;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0930><0x094D>;
-                    scancode=0x0930;
-                    beginrow=0;
-                    begincolumn=3;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x091C><0x094D><0x091E>;
-                    scancode=0x091C;
-                    beginrow=0;
-                    begincolumn=4;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0924><0x094D><0x0930>;
-                    scancode=0x0924;
-                    beginrow=0;
-                    begincolumn=5;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0915><0x094D><0x0937>;
-                    scancode=0x0915;
-                    beginrow=0;
-                    begincolumn=6;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0936><0x094D><0x0930>;
-                    scancode=0x0936;
-                    beginrow=0;
-                    begincolumn=7;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x002D>;
-                    scancode=0x002D;
-                    beginrow=0;
-                    begincolumn=8;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0943>;
-                    scancode=0x0943;
-                    beginrow=0;
-                    begincolumn=9;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x093C>;
-                    scancode=0x093C;
-                    beginrow=0;
-                    begincolumn=10;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x094C>;
-                    scancode=0x094C;
-                    beginrow=1;
-                    begincolumn=0;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0948>;
-                    scancode=0x0948;
-                    beginrow=1;
-                    begincolumn=1;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x093E>;
-                    scancode=0x093E;
-                    beginrow=1;
-                    begincolumn=2;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0940>;
-                    scancode=0x0940;
-                    beginrow=1;
-                    begincolumn=3;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0942>;
-                    scancode=0x0942;
-                    beginrow=1;
-                    begincolumn=4;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x092C>;
-                    scancode=0x092C;
-                    beginrow=1;
-                    begincolumn=5;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0939>;
-                    scancode=0x0939;
-                    beginrow=1;
-                    begincolumn=6;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0917>;
-                    scancode=0x0917;
-                    beginrow=1;
-                    begincolumn=7;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0926>;
-                    scancode=0x0926;
-                    beginrow=1;
-                    begincolumn=8;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x091C>;
-                    scancode=0x091C;
-                    beginrow=1;
-                    begincolumn=9;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0921>;
-                    scancode=0x0921;
-                    beginrow=1;
-                    begincolumn=10;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x094B>;
-                    scancode=0x094B;
-                    beginrow=2;
-                    begincolumn=0;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0947>;
-                    scancode=0x0947;
-                    beginrow=2;
-                    begincolumn=1;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x094D>;
-                    scancode=0x094D;
-                    beginrow=2;
-                    begincolumn=2;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x093F>;
-                    scancode=0x093F;
-                    beginrow=2;
-                    begincolumn=3;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0941>;
-                    scancode=0x0941;
-                    beginrow=2;
-                    begincolumn=4;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x092A>;
-                    scancode=0x092A;
-                    beginrow=2;
-                    begincolumn=5;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0930>;
-                    scancode=0x0930;
-                    beginrow=2;
-                    begincolumn=6;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0915>;
-                    scancode=0x0915;
-                    beginrow=2;
-                    begincolumn=7;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0924>;
-                    scancode=0x0924;
-                    beginrow=2;
-                    begincolumn=8;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x091A>;
-                    scancode=0x091A;
-                    beginrow=2;
-                    begincolumn=9;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x091F>;
-                    scancode=0x091F;
-                    beginrow=2;
-                    begincolumn=10;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0949>;
-                    scancode=0x0949;
-                    beginrow=3;
-                    begincolumn=0;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0902>;
-                    scancode=0x0902;
-                    beginrow=3;
-                    begincolumn=1;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x092E>;
-                    scancode=0x092E;
-                    beginrow=3;
-                    begincolumn=2;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0928>;
-                    scancode=0x0928;
-                    beginrow=3;
-                    begincolumn=3;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0935>;
-                    scancode=0x0935;
-                    beginrow=3;
-                    begincolumn=4;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0932>;
-                    scancode=0x0932;
-                    beginrow=3;
-                    begincolumn=5;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0938>;
-                    scancode=0x0938;
-                    beginrow=3;
-                    begincolumn=6;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x002C>;
-                    scancode=0x002C;
-                    beginrow=3;
-                    begincolumn=7;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x002E>;
-                    scancode=0x002E;
-                    beginrow=3;
-                    begincolumn=8;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x092F>;
-                    scancode=0x092F;
-                    beginrow=3;
-                    begincolumn=9;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x003F>;
-                    scancode=0x003F;
-                    beginrow=3;
-                    begincolumn=10;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    }
-                };
-            },
-
-
-
-        PENINPUT_LAYOUT_VKB_LAYOUT
-            {
-            id=EPeninputVkbLayoutNativeCharShift;
-            mbmfile=PENINPUT_LAYOUT_VKB_BMP;
-            imgmajorskinid=EAknsMajorGeneric;
-            bgbmp=EMbmPeninputsplitqwertyQgn_graf_fep_numb_11x3;
-            bgbmpmask=EMbmPeninputsplitqwertyQgn_graf_fep_numb_11x3_mask;
-            bgbmpskinid=EAknsMinorGenericQgnGrafFepNumb11x3;
-            dimbmp=EMbmPeninputsplitqwertyQgn_graf_fep_numb_11x3_1_button_dimmed;
-            dimmask=EMbmPeninputsplitqwertyQgn_graf_fep_numb_11x3_1_button_dimmed_mask;
-            dimbmpskinid=EAknsMinorGenericQgnGrafFepNumb11x31ButtonDimmed;
-            colcount=11;
-            rowcount=4;
-            highlightbmps =
-                {
-                PENINPUT_LAYOUT_BITMAP_ID
-                    {
-                    bmpid=EMbmPeninputsplitqwertyQgn_graf_fep_char_button_pressed;
-                    },
-                PENINPUT_LAYOUT_BITMAP_ID
-                    {
-                    bmpid=0xffff;
-                    }
-                };
-            highlightmaskbmps =
-                {
-                PENINPUT_LAYOUT_BITMAP_ID
-                    {
-                    bmpid=EMbmPeninputsplitqwertyQgn_graf_fep_char_button_pressed_mask;
-                    },
-                PENINPUT_LAYOUT_BITMAP_ID
-                    {
-                    bmpid=0xffff;
-                    }
-                };
-            keys =
-                {
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x090D>;
-                    scancode=0x090D;
-                    beginrow=0;
-                    begincolumn=0;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0945>;
-                    scancode=0x0945;
-                    beginrow=0;
-                    begincolumn=1;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x094D><0x0930>;
-                    scancode=0x094D;
-                    beginrow=0;
-                    begincolumn=2;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0930><0x094D>;
-                    scancode=0x0930;
-                    beginrow=0;
-                    begincolumn=3;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x091C><0x094D><0x091E>;
-                    scancode=0x091C;
-                    beginrow=0;
-                    begincolumn=4;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0924><0x094D><0x0930>;
-                    scancode=0x0924;
-                    beginrow=0;
-                    begincolumn=5;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0915><0x094D><0x0937>;
-                    scancode=0x0915;
-                    beginrow=0;
-                    begincolumn=6;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0936><0x094D><0x0930>;
-                    scancode=0x0936;
-                    beginrow=0;
-                    begincolumn=7;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0903>;
-                    scancode=0x0903;
-                    beginrow=0;
-                    begincolumn=8;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x090B>;
-                    scancode=0x090B;
-                    beginrow=0;
-                    begincolumn=9;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x091E>;
-                    scancode=0x091E;
-                    beginrow=0;
-                    begincolumn=10;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0914>;
-                    scancode=0x0914;
-                    beginrow=1;
-                    begincolumn=0;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0910>;
-                    scancode=0x0910;
-                    beginrow=1;
-                    begincolumn=1;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0906>;
-                    scancode=0x0906;
-                    beginrow=1;
-                    begincolumn=2;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0908>;
-                    scancode=0x0908;
-                    beginrow=1;
-                    begincolumn=3;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x090A>;
-                    scancode=0x090A;
-                    beginrow=1;
-                    begincolumn=4;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x092D>;
-                    scancode=0x092D;
-                    beginrow=1;
-                    begincolumn=5;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0919>;
-                    scancode=0x0919;
-                    beginrow=1;
-                    begincolumn=6;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0918>;
-                    scancode=0x0918;
-                    beginrow=1;
-                    begincolumn=7;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0927>;
-                    scancode=0x0927;
-                    beginrow=1;
-                    begincolumn=8;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x091D>;
-                    scancode=0x091D;
-                    beginrow=1;
-                    begincolumn=9;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0922>;
-                    scancode=0x0922;
-                    beginrow=1;
-                    begincolumn=10;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0913>;
-                    scancode=0x0913;
-                    beginrow=2;
-                    begincolumn=0;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x090F>;
-                    scancode=0x090F;
-                    beginrow=2;
-                    begincolumn=1;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0905>;
-                    scancode=0x0905;
-                    beginrow=2;
-                    begincolumn=2;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0907>;
-                    scancode=0x0907;
-                    beginrow=2;
-                    begincolumn=3;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0909>;
-                    scancode=0x0909;
-                    beginrow=2;
-                    begincolumn=4;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x092B>;
-                    scancode=0x092B;
-                    beginrow=2;
-                    begincolumn=5;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0931>;
-                    scancode=0x0931;
-                    beginrow=2;
-                    begincolumn=6;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0916>;
-                    scancode=0x0916;
-                    beginrow=2;
-                    begincolumn=7;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0925>;
-                    scancode=0x0925;
-                    beginrow=2;
-                    begincolumn=8;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x091B>;
-                    scancode=0x091B;
-                    beginrow=2;
-                    begincolumn=9;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0920>;
-                    scancode=0x0920;
-                    beginrow=2;
-                    begincolumn=10;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0911>;
-                    scancode=0x0911;
-                    beginrow=3;
-                    begincolumn=0;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0901>;
-                    scancode=0x0901;
-                    beginrow=3;
-                    begincolumn=1;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0923>;
-                    scancode=0x0923;
-                    beginrow=3;
-                    begincolumn=2;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0929>;
-                    scancode=0x0929;
-                    beginrow=3;
-                    begincolumn=3;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0934>;
-                    scancode=0x0934;
-                    beginrow=3;
-                    begincolumn=4;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0933>;
-                    scancode=0x0933;
-                    beginrow=3;
-                    begincolumn=5;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0936>;
-                    scancode=0x0936;
-                    beginrow=3;
-                    begincolumn=6;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0937>;
-                    scancode=0x0937;
-                    beginrow=3;
-                    begincolumn=7;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0964>;
-                    scancode=0x0964;
-                    beginrow=3;
-                    begincolumn=8;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x095F>;
-                    scancode=0x095F;
-                    beginrow=3;
-                    begincolumn=9;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0021>;
-                    scancode=0x0021;
-                    beginrow=3;
-                    begincolumn=10;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    }
-                };
-            },
-
-
-
-        PENINPUT_LAYOUT_VKB_LAYOUT
-            {
-            id=EPeninputVkbLayoutLatinNumber;
-            mbmfile=PENINPUT_LAYOUT_VKB_BMP;
-            imgmajorskinid=EAknsMajorGeneric;
-            bgbmp=EMbmPeninputsplitqwertyQgn_graf_fep_numb_11x3;
-            bgbmpmask=EMbmPeninputsplitqwertyQgn_graf_fep_numb_11x3_mask;
-            bgbmpskinid=EAknsMinorGenericQgnGrafFepNumb11x3;
-            dimbmp=EMbmPeninputsplitqwertyQgn_graf_fep_numb_11x3_1_button_dimmed;
-            dimmask=EMbmPeninputsplitqwertyQgn_graf_fep_numb_11x3_1_button_dimmed_mask;
-            dimbmpskinid=EAknsMinorGenericQgnGrafFepNumb11x31ButtonDimmed;
-            colcount=11;
-            rowcount=4;
-            highlightbmps =
-                {
-                PENINPUT_LAYOUT_BITMAP_ID
-                    {
-                    bmpid=EMbmPeninputsplitqwertyQgn_graf_fep_char_button_pressed;
-                    },
-                PENINPUT_LAYOUT_BITMAP_ID
-                    {
-                    bmpid=0xffff;
-                    }
-                };
-            highlightmaskbmps =
-                {
-                PENINPUT_LAYOUT_BITMAP_ID
-                    {
-                    bmpid=EMbmPeninputsplitqwertyQgn_graf_fep_char_button_pressed_mask;
-                    },
-                PENINPUT_LAYOUT_BITMAP_ID
-                    {
-                    bmpid=0xffff;
-                    }
-                };
-            keys =
-                {
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0031>;
-                    scancode=0x0031;
-                    beginrow=0;
-                    begincolumn=0;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0032>;
-                    scancode=0x0032;
-                    beginrow=0;
-                    begincolumn=1;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0033>;
-                    scancode=0x0033;
-                    beginrow=0;
-                    begincolumn=2;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x002B>;
-                    scancode=0x002B;
-                    beginrow=0;
-                    begincolumn=3;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x002C>;
-                    scancode=0x002C;
-                    beginrow=0;
-                    begincolumn=4;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x002E>;
-                    scancode=0x002E;
-                    beginrow=0;
-                    begincolumn=5;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x003B>;
-                    scancode=0x003B;
-                    beginrow=0;
-                    begincolumn=6;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x003A>;
-                    scancode=0x003A;
-                    beginrow=0;
-                    begincolumn=7;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0021>;
-                    scancode=0x0021;
-                    beginrow=0;
-                    begincolumn=8;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x003F>;
-                    scancode=0x003F;
-                    beginrow=0;
-                    begincolumn=9;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0026>;
-                    scancode=0x0026;
-                    beginrow=0;
-                    begincolumn=10;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0034>;
-                    scancode=0x0034;
-                    beginrow=1;
-                    begincolumn=0;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0035>;
-                    scancode=0x0035;
-                    beginrow=1;
-                    begincolumn=1;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0036>;
-                    scancode=0x0036;
-                    beginrow=1;
-                    begincolumn=2;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0070>;
-                    scancode=0x0070;
-                    beginrow=1;
-                    begincolumn=3;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x002D>;
-                    scancode=0x002D;
-                    beginrow=1;
-                    begincolumn=4;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x003D>;
-                    scancode=0x003D;
-                    beginrow=1;
-                    begincolumn=5;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x005F>;
-                    scancode=0x005F;
-                    beginrow=1;
-                    begincolumn=6;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0027>;
-                    scancode=0x0027;
-                    beginrow=1;
-                    begincolumn=7;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0022>;
-                    scancode=0x0022;
-                    beginrow=1;
-                    begincolumn=8;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0028>;
-                    scancode=0x0028;
-                    beginrow=1;
-                    begincolumn=9;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0029>;
-                    scancode=0x0029;
-                    beginrow=1;
-                    begincolumn=10;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0037>;
-                    scancode=0x0037;
-                    beginrow=2;
-                    begincolumn=0;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0038>;
-                    scancode=0x0038;
-                    beginrow=2;
-                    begincolumn=1;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0039>;
-                    scancode=0x0039;
-                    beginrow=2;
-                    begincolumn=2;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0077>;
-                    scancode=0x0077;
-                    beginrow=2;
-                    begincolumn=3;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0040>;
-                    scancode=0x0040;
-                    beginrow=2;
-                    begincolumn=4;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x201E>;
-                    scancode=0x201E;
-                    beginrow=2;
-                    begincolumn=5;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x201D>;
-                    scancode=0x201D;
-                    beginrow=2;
-                    begincolumn=6;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x002F>;
-                    scancode=0x002F;
-                    beginrow=2;
-                    begincolumn=7;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x005C>;
-                    scancode=0x005C;
-                    beginrow=2;
-                    begincolumn=8;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x007B>;
-                    scancode=0x007B;
-                    beginrow=2;
-                    begincolumn=9;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x007D>;
-                    scancode=0x007D;
-                    beginrow=2;
-                    begincolumn=10;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x002A>;
-                    scancode=0x002A;
-                    beginrow=3;
-                    begincolumn=0;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0030>;
-                    scancode=0x0030;
-                    beginrow=3;
-                    begincolumn=1;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0023>;
-                    scancode=0x0023;
-                    beginrow=3;
-                    begincolumn=2;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x00B1>;
-                    scancode=0x00B1;
-                    beginrow=3;
-                    begincolumn=3;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0025>;
-                    scancode=0x0025;
-                    beginrow=3;
-                    begincolumn=4;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x003C>;
-                    scancode=0x003C;
-                    beginrow=3;
-                    begincolumn=5;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x003E>;
-                    scancode=0x003E;
-                    beginrow=3;
-                    begincolumn=6;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x00AB>;
-                    scancode=0x00AB;
-                    beginrow=3;
-                    begincolumn=7;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x00BB>;
-                    scancode=0x00BB;
-                    beginrow=3;
-                    begincolumn=8;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x005B>;
-                    scancode=0x005B;
-                    beginrow=3;
-                    begincolumn=9;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x005D>;
-                    scancode=0x005D;
-                    beginrow=3;
-                    begincolumn=10;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    }
-                };
-            },
-
-
-
-        PENINPUT_LAYOUT_VKB_LAYOUT
-            {
-            id=EPeninputVkbLayoutLatinNumberShift;
-            mbmfile=PENINPUT_LAYOUT_VKB_BMP;
-            imgmajorskinid=EAknsMajorGeneric;
-            bgbmp=EMbmPeninputsplitqwertyQgn_graf_fep_numb_11x3;
-            bgbmpmask=EMbmPeninputsplitqwertyQgn_graf_fep_numb_11x3_mask;
-            bgbmpskinid=EAknsMinorGenericQgnGrafFepNumb11x3;
-            dimbmp=EMbmPeninputsplitqwertyQgn_graf_fep_numb_11x3_1_button_dimmed;
-            dimmask=EMbmPeninputsplitqwertyQgn_graf_fep_numb_11x3_1_button_dimmed_mask;
-            dimbmpskinid=EAknsMinorGenericQgnGrafFepNumb11x31ButtonDimmed;
-            colcount=11;
-            rowcount=4;
-            highlightbmps =
-                {
-                PENINPUT_LAYOUT_BITMAP_ID
-                    {
-                    bmpid=EMbmPeninputsplitqwertyQgn_graf_fep_char_button_pressed;
-                    },
-                PENINPUT_LAYOUT_BITMAP_ID
-                    {
-                    bmpid=0xffff;
-                    }
-                };
-            highlightmaskbmps =
-                {
-                PENINPUT_LAYOUT_BITMAP_ID
-                    {
-                    bmpid=EMbmPeninputsplitqwertyQgn_graf_fep_char_button_pressed_mask;
-                    },
-                PENINPUT_LAYOUT_BITMAP_ID
-                    {
-                    bmpid=0xffff;
-                    }
-                };
-            keys =
-                {
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0031>;
-                    scancode=0x0031;
-                    beginrow=0;
-                    begincolumn=0;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0032>;
-                    scancode=0x0032;
-                    beginrow=0;
-                    begincolumn=1;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0033>;
-                    scancode=0x0033;
-                    beginrow=0;
-                    begincolumn=2;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x002B>;
-                    scancode=0x002B;
-                    beginrow=0;
-                    begincolumn=3;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x007E>;
-                    scancode=0x007E;
-                    beginrow=0;
-                    begincolumn=4;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x005E>;
-                    scancode=0x005E;
-                    beginrow=0;
-                    begincolumn=5;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0060>;
-                    scancode=0x0060;
-                    beginrow=0;
-                    begincolumn=6;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x2248>;
-                    scancode=0x2248;
-                    beginrow=0;
-                    begincolumn=7;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x00A1>;
-                    scancode=0x00A1;
-                    beginrow=0;
-                    begincolumn=8;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x00BF>;
-                    scancode=0x00BF;
-                    beginrow=0;
-                    begincolumn=9;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x00B0>;
-                    scancode=0x00B0;
-                    beginrow=0;
-                    begincolumn=10;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0034>;
-                    scancode=0x0034;
-                    beginrow=1;
-                    begincolumn=0;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0035>;
-                    scancode=0x0035;
-                    beginrow=1;
-                    begincolumn=1;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0036>;
-                    scancode=0x0036;
-                    beginrow=1;
-                    begincolumn=2;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x00A7>;
-                    scancode=0x00A7;
-                    beginrow=1;
-                    begincolumn=3;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x007C>;
-                    scancode=0x007C;
-                    beginrow=1;
-                    begincolumn=4;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0045>;
-                    scancode=0x0045;
-                    beginrow=1;
-                    begincolumn=5;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x20AC>;
-                    scancode=0x20AC;
-                    beginrow=1;
-                    begincolumn=6;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x00A3>;
-                    scancode=0x00A3;
-                    beginrow=1;
-                    begincolumn=7;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0024>;
-                    scancode=0x0024;
-                    beginrow=1;
-                    begincolumn=8;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x00A5>;
-                    scancode=0x00A5;
-                    beginrow=1;
-                    begincolumn=9;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x00A2>;
-                    scancode=0x00A2;
-                    beginrow=1;
-                    begincolumn=10;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0037>;
-                    scancode=0x0037;
-                    beginrow=2;
-                    begincolumn=0;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0038>;
-                    scancode=0x0038;
-                    beginrow=2;
-                    begincolumn=1;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0039>;
-                    scancode=0x0039;
-                    beginrow=2;
-                    begincolumn=2;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x00A4>;
-                    scancode=0x00A4;
-                    beginrow=2;
-                    begincolumn=3;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x20AA>;
-                    scancode=0x20AA;
-                    beginrow=2;
-                    begincolumn=4;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0E3F>;
-                    scancode=0x0E3F;
-                    beginrow=2;
-                    begincolumn=5;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x20AB>;
-                    scancode=0x20AB;
-                    beginrow=2;
-                    begincolumn=6;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x00B9>;
-                    scancode=0x00B9;
-                    beginrow=2;
-                    begincolumn=7;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x00B2>;
-                    scancode=0x00B2;
-                    beginrow=2;
-                    begincolumn=8;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x00B3>;
-                    scancode=0x00B3;
-                    beginrow=2;
-                    begincolumn=9;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x00AA>;
-                    scancode=0x00AA;
-                    beginrow=2;
-                    begincolumn=10;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x002A>;
-                    scancode=0x002A;
-                    beginrow=3;
-                    begincolumn=0;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0030>;
-                    scancode=0x0030;
-                    beginrow=3;
-                    begincolumn=1;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0023>;
-                    scancode=0x0023;
-                    beginrow=3;
-                    begincolumn=2;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x2030>;
-                    scancode=0x2030;
-                    beginrow=3;
-                    begincolumn=3;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x00B5>;
-                    scancode=0x00B5;
-                    beginrow=3;
-                    begincolumn=4;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x2211>;
-                    scancode=0x2211;
-                    beginrow=3;
-                    begincolumn=5;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x2206>;
-                    scancode=0x2206;
-                    beginrow=3;
-                    begincolumn=6;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x220F>;
-                    scancode=0x220F;
-                    beginrow=3;
-                    begincolumn=7;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x00A9>;
-                    scancode=0x00A9;
-                    beginrow=3;
-                    begincolumn=8;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x00AE>;
-                    scancode=0x00AE;
-                    beginrow=3;
-                    begincolumn=9;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x00BA>;
-                    scancode=0x00BA;
-                    beginrow=3;
-                    begincolumn=10;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    }
-                };
-            },
-
-
-
-        PENINPUT_LAYOUT_VKB_LAYOUT
-            {
-            id=EPeninputVkbLayoutNativeNumber;
-            mbmfile=PENINPUT_LAYOUT_VKB_BMP;
-            imgmajorskinid=EAknsMajorGeneric;
-            bgbmp=EMbmPeninputsplitqwertyQgn_graf_fep_numb_11x3;
-            bgbmpmask=EMbmPeninputsplitqwertyQgn_graf_fep_numb_11x3_mask;
-            bgbmpskinid=EAknsMinorGenericQgnGrafFepNumb11x3;
-            dimbmp=EMbmPeninputsplitqwertyQgn_graf_fep_numb_11x3_1_button_dimmed;
-            dimmask=EMbmPeninputsplitqwertyQgn_graf_fep_numb_11x3_1_button_dimmed_mask;
-            dimbmpskinid=EAknsMinorGenericQgnGrafFepNumb11x31ButtonDimmed;
-            colcount=11;
-            rowcount=4;
-            highlightbmps =
-                {
-                PENINPUT_LAYOUT_BITMAP_ID
-                    {
-                    bmpid=EMbmPeninputsplitqwertyQgn_graf_fep_char_button_pressed;
-                    },
-                PENINPUT_LAYOUT_BITMAP_ID
-                    {
-                    bmpid=0xffff;
-                    }
-                };
-            highlightmaskbmps =
-                {
-                PENINPUT_LAYOUT_BITMAP_ID
-                    {
-                    bmpid=EMbmPeninputsplitqwertyQgn_graf_fep_char_button_pressed_mask;
-                    },
-                PENINPUT_LAYOUT_BITMAP_ID
-                    {
-                    bmpid=0xffff;
-                    }
-                };
-            keys =
-                {
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0967>;
-                    scancode=0x0967;
-                    beginrow=0;
-                    begincolumn=0;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0968>;
-                    scancode=0x0968;
-                    beginrow=0;
-                    begincolumn=1;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0969>;
-                    scancode=0x0969;
-                    beginrow=0;
-                    begincolumn=2;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0964>;
-                    scancode=0x0964;
-                    beginrow=0;
-                    begincolumn=3;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0965>;
-                    scancode=0x0965;
-                    beginrow=0;
-                    begincolumn=4;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0970>;
-                    scancode=0x0970;
-                    beginrow=0;
-                    begincolumn=5;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x093D>;
-                    scancode=0x093D;
-                    beginrow=0;
-                    begincolumn=6;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0950>;
-                    scancode=0x0950;
-                    beginrow=0;
-                    begincolumn=7;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x002C>;
-                    scancode=0x002C;
-                    beginrow=0;
-                    begincolumn=8;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x002E>;
-                    scancode=0x002E;
-                    beginrow=0;
-                    begincolumn=9;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x002D>;
-                    scancode=0x002D;
-                    beginrow=0;
-                    begincolumn=10;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x096A>;
-                    scancode=0x096A;
-                    beginrow=1;
-                    begincolumn=0;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x096B>;
-                    scancode=0x096B;
-                    beginrow=1;
-                    begincolumn=1;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x096C>;
-                    scancode=0x096C;
-                    beginrow=1;
-                    begincolumn=2;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0070>;
-                    scancode=0x0070;
-                    beginrow=1;
-                    begincolumn=3;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x003B>;
-                    scancode=0x003B;
-                    beginrow=1;
-                    begincolumn=4;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x003A>;
-                    scancode=0x003A;
-                    beginrow=1;
-                    begincolumn=5;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0021>;
-                    scancode=0x0021;
-                    beginrow=1;
-                    begincolumn=6;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x003F>;
-                    scancode=0x003F;
-                    beginrow=1;
-                    begincolumn=7;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x002F>;
-                    scancode=0x002F;
-                    beginrow=1;
-                    begincolumn=8;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x005C>;
-                    scancode=0x005C;
-                    beginrow=1;
-                    begincolumn=9;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x003D>;
-                    scancode=0x003D;
-                    beginrow=1;
-                    begincolumn=10;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x096D>;
-                    scancode=0x096D;
-                    beginrow=2;
-                    begincolumn=0;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x096E>;
-                    scancode=0x096E;
-                    beginrow=2;
-                    begincolumn=1;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x096F>;
-                    scancode=0x096F;
-                    beginrow=2;
-                    begincolumn=2;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0077>;
-                    scancode=0x0077;
-                    beginrow=2;
-                    begincolumn=3;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0040>;
-                    scancode=0x0040;
-                    beginrow=2;
-                    begincolumn=4;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x005F>;
-                    scancode=0x005F;
-                    beginrow=2;
-                    begincolumn=5;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0027>;
-                    scancode=0x0027;
-                    beginrow=2;
-                    begincolumn=6;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0022>;
-                    scancode=0x0022;
-                    beginrow=2;
-                    begincolumn=7;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x201E>;
-                    scancode=0x201E;
-                    beginrow=2;
-                    begincolumn=8;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x201D>;
-                    scancode=0x201D;
-                    beginrow=2;
-                    begincolumn=9;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0025>;
-                    scancode=0x0025;
-                    beginrow=2;
-                    begincolumn=10;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x002A>;
-                    scancode=0x002A;
-                    beginrow=3;
-                    begincolumn=0;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0966>;
-                    scancode=0x0966;
-                    beginrow=3;
-                    begincolumn=1;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0023>;
-                    scancode=0x0023;
-                    beginrow=3;
-                    begincolumn=2;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x002B>;
-                    scancode=0x002B;
-                    beginrow=3;
-                    begincolumn=3;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0028>;
-                    scancode=0x0028;
-                    beginrow=3;
-                    begincolumn=4;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0029>;
-                    scancode=0x0029;
-                    beginrow=3;
-                    begincolumn=5;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x003C>;
-                    scancode=0x003C;
-                    beginrow=3;
-                    begincolumn=6;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x003E>;
-                    scancode=0x003E;
-                    beginrow=3;
-                    begincolumn=7;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x00B1>;
-                    scancode=0x00B1;
-                    beginrow=3;
-                    begincolumn=8;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x007B>;
-                    scancode=0x007B;
-                    beginrow=3;
-                    begincolumn=9;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x007D>;
-                    scancode=0x007D;
-                    beginrow=3;
-                    begincolumn=10;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    }
-                };
-            },
-
-
-
-        PENINPUT_LAYOUT_VKB_LAYOUT
-            {
-            id=EPeninputVkbLayoutNativeNumberShift;
-            mbmfile=PENINPUT_LAYOUT_VKB_BMP;
-            imgmajorskinid=EAknsMajorGeneric;
-            bgbmp=EMbmPeninputsplitqwertyQgn_graf_fep_numb_11x3;
-            bgbmpmask=EMbmPeninputsplitqwertyQgn_graf_fep_numb_11x3_mask;
-            bgbmpskinid=EAknsMinorGenericQgnGrafFepNumb11x3;
-            dimbmp=EMbmPeninputsplitqwertyQgn_graf_fep_numb_11x3_1_button_dimmed;
-            dimmask=EMbmPeninputsplitqwertyQgn_graf_fep_numb_11x3_1_button_dimmed_mask;
-            dimbmpskinid=EAknsMinorGenericQgnGrafFepNumb11x31ButtonDimmed;
-            colcount=11;
-            rowcount=4;
-            highlightbmps =
-                {
-                PENINPUT_LAYOUT_BITMAP_ID
-                    {
-                    bmpid=EMbmPeninputsplitqwertyQgn_graf_fep_char_button_pressed;
-                    },
-                PENINPUT_LAYOUT_BITMAP_ID
-                    {
-                    bmpid=0xffff;
-                    }
-                };
-            highlightmaskbmps =
-                {
-                PENINPUT_LAYOUT_BITMAP_ID
-                    {
-                    bmpid=EMbmPeninputsplitqwertyQgn_graf_fep_char_button_pressed_mask;
-                    },
-                PENINPUT_LAYOUT_BITMAP_ID
-                    {
-                    bmpid=0xffff;
-                    }
-                };
-            keys =
-                {
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0967>;
-                    scancode=0x0967;
-                    beginrow=0;
-                    begincolumn=0;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0968>;
-                    scancode=0x0968;
-                    beginrow=0;
-                    begincolumn=1;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0969>;
-                    scancode=0x0969;
-                    beginrow=0;
-                    begincolumn=2;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x007E>;
-                    scancode=0x007E;
-                    beginrow=0;
-                    begincolumn=3;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x005E>;
-                    scancode=0x005E;
-                    beginrow=0;
-                    begincolumn=4;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0060>;
-                    scancode=0x0060;
-                    beginrow=0;
-                    begincolumn=5;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x00B0>;
-                    scancode=0x00B0;
-                    beginrow=0;
-                    begincolumn=6;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x00A7>;
-                    scancode=0x00A7;
-                    beginrow=0;
-                    begincolumn=7;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x2248>;
-                    scancode=0x2248;
-                    beginrow=0;
-                    begincolumn=8;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x2260>;
-                    scancode=0x2260;
-                    beginrow=0;
-                    begincolumn=9;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x00A4>;
-                    scancode=0x00A4;
-                    beginrow=0;
-                    begincolumn=10;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x096A>;
-                    scancode=0x096A;
-                    beginrow=1;
-                    begincolumn=0;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x096B>;
-                    scancode=0x096B;
-                    beginrow=1;
-                    begincolumn=1;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x096C>;
-                    scancode=0x096C;
-                    beginrow=1;
-                    begincolumn=2;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x20AC>;
-                    scancode=0x20AC;
-                    beginrow=1;
-                    begincolumn=3;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x00A3>;
-                    scancode=0x00A3;
-                    beginrow=1;
-                    begincolumn=4;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0024>;
-                    scancode=0x0024;
-                    beginrow=1;
-                    begincolumn=5;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x00A5>;
-                    scancode=0x00A5;
-                    beginrow=1;
-                    begincolumn=6;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x00A2>;
-                    scancode=0x00A2;
-                    beginrow=1;
-                    begincolumn=7;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x20AA>;
-                    scancode=0x20AA;
-                    beginrow=1;
-                    begincolumn=8;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0E3F>;
-                    scancode=0x0E3F;
-                    beginrow=1;
-                    begincolumn=9;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x20AB>;
-                    scancode=0x20AB;
-                    beginrow=1;
-                    begincolumn=10;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x096D>;
-                    scancode=0x096D;
-                    beginrow=2;
-                    begincolumn=0;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x096E>;
-                    scancode=0x096E;
-                    beginrow=2;
-                    begincolumn=1;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x096F>;
-                    scancode=0x096F;
-                    beginrow=2;
-                    begincolumn=2;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x00B9>;
-                    scancode=0x00B9;
-                    beginrow=2;
-                    begincolumn=3;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x00B2>;
-                    scancode=0x00B2;
-                    beginrow=2;
-                    begincolumn=4;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x00B3>;
-                    scancode=0x00B3;
-                    beginrow=2;
-                    begincolumn=5;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x00AA>;
-                    scancode=0x00AA;
-                    beginrow=2;
-                    begincolumn=6;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x00BA>;
-                    scancode=0x00BA;
-                    beginrow=2;
-                    begincolumn=7;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x007C>;
-                    scancode=0x007C;
-                    beginrow=2;
-                    begincolumn=8;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0045>;
-                    scancode=0x0045;
-                    beginrow=2;
-                    begincolumn=9;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x2030>;
-                    scancode=0x2030;
-                    beginrow=2;
-                    begincolumn=10;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x002A>;
-                    scancode=0x002A;
-                    beginrow=3;
-                    begincolumn=0;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0966>;
-                    scancode=0x0966;
-                    beginrow=3;
-                    begincolumn=1;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0023>;
-                    scancode=0x0023;
-                    beginrow=3;
-                    begincolumn=2;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x002B>;
-                    scancode=0x002B;
-                    beginrow=3;
-                    begincolumn=3;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0026>;
-                    scancode=0x0026;
-                    beginrow=3;
-                    begincolumn=4;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x00B5>;
-                    scancode=0x00B5;
-                    beginrow=3;
-                    begincolumn=5;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x2211>;
-                    scancode=0x2211;
-                    beginrow=3;
-                    begincolumn=6;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x2206>;
-                    scancode=0x2206;
-                    beginrow=3;
-                    begincolumn=7;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x220F>;
-                    scancode=0x220F;
-                    beginrow=3;
-                    begincolumn=8;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x005B>;
-                    scancode=0x005B;
-                    beginrow=3;
-                    begincolumn=9;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x005D>;
-                    scancode=0x005D;
-                    beginrow=3;
-                    begincolumn=10;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    }
-                };
-            },
-
-        PENINPUT_LAYOUT_VKB_LAYOUT
-            {
-            id=EPeninputVkbLayoutLatinChar;
-            mbmfile=PENINPUT_LAYOUT_VKB_BMP;
-            imgmajorskinid=EAknsMajorGeneric;
-            bgbmp=EMbmPeninputsplitqwertyQgn_graf_fep_numb_11x3;
-            bgbmpmask=EMbmPeninputsplitqwertyQgn_graf_fep_numb_11x3_mask;
-            bgbmpskinid=EAknsMinorGenericQgnGrafFepNumb11x3;
-            dimbmp=EMbmPeninputsplitqwertyQgn_graf_fep_numb_11x3_1_button_dimmed;
-            dimmask=EMbmPeninputsplitqwertyQgn_graf_fep_numb_11x3_1_button_dimmed_mask;
-            dimbmpskinid=EAknsMinorGenericQgnGrafFepNumb11x31ButtonDimmed;
-            colcount=11;
-            rowcount=4;
-            highlightbmps =
-                {
-                PENINPUT_LAYOUT_BITMAP_ID
-                    {
-                    bmpid=EMbmPeninputsplitqwertyQgn_graf_fep_char_button_pressed;
-                    },
-                PENINPUT_LAYOUT_BITMAP_ID
-                    {
-                    bmpid=0xffff;
-                    }
-                };
-            highlightmaskbmps =
-                {
-                PENINPUT_LAYOUT_BITMAP_ID
-                    {
-                    bmpid=EMbmPeninputsplitqwertyQgn_graf_fep_char_button_pressed_mask;
-                    },
-                PENINPUT_LAYOUT_BITMAP_ID
-                    {
-                    bmpid=0xffff;
-                    }
-                };
-            keys =
-                {
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0031>;
-                    scancode=0x0031;
-                    beginrow=0;
-                    begincolumn=0;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0032>;
-                    scancode=0x0032;
-                    beginrow=0;
-                    begincolumn=1;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0033>;
-                    scancode=0x0033;
-                    beginrow=0;
-                    begincolumn=2;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0034>;
-                    scancode=0x0034;
-                    beginrow=0;
-                    begincolumn=3;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0035>;
-                    scancode=0x0035;
-                    beginrow=0;
-                    begincolumn=4;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0036>;
-                    scancode=0x0036;
-                    beginrow=0;
-                    begincolumn=5;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0037>;
-                    scancode=0x0037;
-                    beginrow=0;
-                    begincolumn=6;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0038>;
-                    scancode=0x0038;
-                    beginrow=0;
-                    begincolumn=7;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0039>;
-                    scancode=0x0039;
-                    beginrow=0;
-                    begincolumn=8;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0030>;
-                    scancode=0x0030;
-                    beginrow=0;
-                    begincolumn=9;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x002B>;
-                    scancode=0x002B;
-                    beginrow=0;
-                    begincolumn=10;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0071>;
-                    scancode=0x0071;
-                    beginrow=1;
-                    begincolumn=0;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0077>;
-                    scancode=0x0077;
-                    beginrow=1;
-                    begincolumn=1;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0065>;
-                    scancode=0x0065;
-                    beginrow=1;
-                    begincolumn=2;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0072>;
-                    scancode=0x0072;
-                    beginrow=1;
-                    begincolumn=3;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0074>;
-                    scancode=0x0074;
-                    beginrow=1;
-                    begincolumn=4;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0079>;
-                    scancode=0x0079;
-                    beginrow=1;
-                    begincolumn=5;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0075>;
-                    scancode=0x0075;
-                    beginrow=1;
-                    begincolumn=6;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0069>;
-                    scancode=0x0069;
-                    beginrow=1;
-                    begincolumn=7;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x006F>;
-                    scancode=0x006F;
-                    beginrow=1;
-                    begincolumn=8;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0070>;
-                    scancode=0x0070;
-                    beginrow=1;
-                    begincolumn=9;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x003F>;
-                    scancode=0x003F;
-                    beginrow=1;
-                    begincolumn=10;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0061>;
-                    scancode=0x0061;
-                    beginrow=2;
-                    begincolumn=0;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0073>;
-                    scancode=0x0073;
-                    beginrow=2;
-                    begincolumn=1;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0064>;
-                    scancode=0x0064;
-                    beginrow=2;
-                    begincolumn=2;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0066>;
-                    scancode=0x0066;
-                    beginrow=2;
-                    begincolumn=3;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0067>;
-                    scancode=0x0067;
-                    beginrow=2;
-                    begincolumn=4;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0068>;
-                    scancode=0x0068;
-                    beginrow=2;
-                    begincolumn=5;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x006A>;
-                    scancode=0x006A;
-                    beginrow=2;
-                    begincolumn=6;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x006B>;
-                    scancode=0x006B;
-                    beginrow=2;
-                    begincolumn=7;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x006C>;
-                    scancode=0x006C;
-                    beginrow=2;
-                    begincolumn=8;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0027>;
-                    scancode=0x0027;
-                    beginrow=2;
-                    begincolumn=9;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0021>;
-                    scancode=0x0021;
-                    beginrow=2;
-                    begincolumn=10;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x007A>;
-                    scancode=0x007A;
-                    beginrow=3;
-                    begincolumn=0;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0078>;
-                    scancode=0x0078;
-                    beginrow=3;
-                    begincolumn=1;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0063>;
-                    scancode=0x0063;
-                    beginrow=3;
-                    begincolumn=2;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0076>;
-                    scancode=0x0076;
-                    beginrow=3;
-                    begincolumn=3;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0062>;
-                    scancode=0x0062;
-                    beginrow=3;
-                    begincolumn=4;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x006E>;
-                    scancode=0x006E;
-                    beginrow=3;
-                    begincolumn=5;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x006D>;
-                    scancode=0x006D;
-                    beginrow=3;
-                    begincolumn=6;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x002C>;
-                    scancode=0x002C;
-                    beginrow=3;
-                    begincolumn=7;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x002E>;
-                    scancode=0x002E;
-                    beginrow=3;
-                    begincolumn=8;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x002D>;
-                    scancode=0x002D;
-                    beginrow=3;
-                    begincolumn=9;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0040>;
-                    scancode=0x0040;
-                    beginrow=3;
-                    begincolumn=10;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    }
-                };
-            },
-
-
-
-        PENINPUT_LAYOUT_VKB_LAYOUT
-            {
-            id=EPeninputVkbLayoutLatinCharShift;
-            mbmfile=PENINPUT_LAYOUT_VKB_BMP;
-            imgmajorskinid=EAknsMajorGeneric;
-            bgbmp=EMbmPeninputsplitqwertyQgn_graf_fep_numb_11x3;
-            bgbmpmask=EMbmPeninputsplitqwertyQgn_graf_fep_numb_11x3_mask;
-            bgbmpskinid=EAknsMinorGenericQgnGrafFepNumb11x3;
-            dimbmp=EMbmPeninputsplitqwertyQgn_graf_fep_numb_11x3_1_button_dimmed;
-            dimmask=EMbmPeninputsplitqwertyQgn_graf_fep_numb_11x3_1_button_dimmed_mask;
-            dimbmpskinid=EAknsMinorGenericQgnGrafFepNumb11x31ButtonDimmed;
-            colcount=11;
-            rowcount=4;
-            highlightbmps =
-                {
-                PENINPUT_LAYOUT_BITMAP_ID
-                    {
-                    bmpid=EMbmPeninputsplitqwertyQgn_graf_fep_char_button_pressed;
-                    },
-                PENINPUT_LAYOUT_BITMAP_ID
-                    {
-                    bmpid=0xffff;
-                    }
-                };
-            highlightmaskbmps =
-                {
-                PENINPUT_LAYOUT_BITMAP_ID
-                    {
-                    bmpid=EMbmPeninputsplitqwertyQgn_graf_fep_char_button_pressed_mask;
-                    },
-                PENINPUT_LAYOUT_BITMAP_ID
-                    {
-                    bmpid=0xffff;
-                    }
-                };
-            keys =
-                {
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0031>;
-                    scancode=0x0031;
-                    beginrow=0;
-                    begincolumn=0;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0032>;
-                    scancode=0x0032;
-                    beginrow=0;
-                    begincolumn=1;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0033>;
-                    scancode=0x0033;
-                    beginrow=0;
-                    begincolumn=2;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0034>;
-                    scancode=0x0034;
-                    beginrow=0;
-                    begincolumn=3;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0035>;
-                    scancode=0x0035;
-                    beginrow=0;
-                    begincolumn=4;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0036>;
-                    scancode=0x0036;
-                    beginrow=0;
-                    begincolumn=5;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0037>;
-                    scancode=0x0037;
-                    beginrow=0;
-                    begincolumn=6;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0038>;
-                    scancode=0x0038;
-                    beginrow=0;
-                    begincolumn=7;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0039>;
-                    scancode=0x0039;
-                    beginrow=0;
-                    begincolumn=8;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0030>;
-                    scancode=0x0030;
-                    beginrow=0;
-                    begincolumn=9;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x005C>;
-                    scancode=0x005C;
-                    beginrow=0;
-                    begincolumn=10;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0051>;
-                    scancode=0x0051;
-                    beginrow=1;
-                    begincolumn=0;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0057>;
-                    scancode=0x0057;
-                    beginrow=1;
-                    begincolumn=1;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0045>;
-                    scancode=0x0045;
-                    beginrow=1;
-                    begincolumn=2;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0052>;
-                    scancode=0x0052;
-                    beginrow=1;
-                    begincolumn=3;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0054>;
-                    scancode=0x0054;
-                    beginrow=1;
-                    begincolumn=4;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0059>;
-                    scancode=0x0059;
-                    beginrow=1;
-                    begincolumn=5;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0055>;
-                    scancode=0x0055;
-                    beginrow=1;
-                    begincolumn=6;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0049>;
-                    scancode=0x0049;
-                    beginrow=1;
-                    begincolumn=7;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x004F>;
-                    scancode=0x004F;
-                    beginrow=1;
-                    begincolumn=8;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0050>;
-                    scancode=0x0050;
-                    beginrow=1;
-                    begincolumn=9;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x002F>;
-                    scancode=0x002F;
-                    beginrow=1;
-                    begincolumn=10;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0041>;
-                    scancode=0x0041;
-                    beginrow=2;
-                    begincolumn=0;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0053>;
-                    scancode=0x0053;
-                    beginrow=2;
-                    begincolumn=1;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0044>;
-                    scancode=0x0044;
-                    beginrow=2;
-                    begincolumn=2;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0046>;
-                    scancode=0x0046;
-                    beginrow=2;
-                    begincolumn=3;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0047>;
-                    scancode=0x0047;
-                    beginrow=2;
-                    begincolumn=4;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0048>;
-                    scancode=0x0048;
-                    beginrow=2;
-                    begincolumn=5;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x004A>;
-                    scancode=0x004A;
-                    beginrow=2;
-                    begincolumn=6;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x004B>;
-                    scancode=0x004B;
-                    beginrow=2;
-                    begincolumn=7;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x004C>;
-                    scancode=0x004C;
-                    beginrow=2;
-                    begincolumn=8;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0022>;
-                    scancode=0x0022;
-                    beginrow=2;
-                    begincolumn=9;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0026>;
-                    scancode=0x0026;
-                    beginrow=2;
-                    begincolumn=10;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x005A>;
-                    scancode=0x005A;
-                    beginrow=3;
-                    begincolumn=0;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0058>;
-                    scancode=0x0058;
-                    beginrow=3;
-                    begincolumn=1;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0043>;
-                    scancode=0x0043;
-                    beginrow=3;
-                    begincolumn=2;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0056>;
-                    scancode=0x0056;
-                    beginrow=3;
-                    begincolumn=3;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x0042>;
-                    scancode=0x0042;
-                    beginrow=3;
-                    begincolumn=4;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x004E>;
-                    scancode=0x004E;
-                    beginrow=3;
-                    begincolumn=5;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x004D>;
-                    scancode=0x004D;
-                    beginrow=3;
-                    begincolumn=6;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x003B>;
-                    scancode=0x003B;
-                    beginrow=3;
-                    begincolumn=7;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x003A>;
-                    scancode=0x003A;
-                    beginrow=3;
-                    begincolumn=8;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x005F>;
-                    scancode=0x005F;
-                    beginrow=3;
-                    begincolumn=9;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    },
-                PENINPUT_LAYOUT_UNIT_KEY
-                    {
-                    unicode=<0x007E>;
-                    scancode=0x007E;
-                    beginrow=3;
-                    begincolumn=10;
-                    highlightbmpindex=0;
-                    highlightmaskbmpindex=0;
-                    }
-                };
-            }
-        };
-    }
-
-// ---------------------------------------------------------------------------
-// r_peninput_layout_rangebar_info
-// The information of vkb's rangebar
-// ---------------------------------------------------------------------------
-//
-RESOURCE PENINPUT_LAYOUT_RANGE_BAR_INFO r_peninput_layout_rangebar_info
-    {
-    style=2;
-    ranges=
-        {
-        PENINPUT_LAYOUT_RANGE_INFO
-            {
-            rangeid=ERangeNative; // Native button
-            responsestyle=1;
-            clientlayoutid=EPeninputClientLayout12x5; 
-            vkblayoutid=EPeninputVkbLayoutNativeChar;
-            }, 
-        PENINPUT_LAYOUT_RANGE_INFO
-            {
-            rangeid=ERangeEnglish; // English button
-            responsestyle=1;
-            clientlayoutid=EPeninputClientLayout12x4; 
-            vkblayoutid=EPeninputVkbLayoutLatinChar;
-            }, 
-        PENINPUT_LAYOUT_RANGE_INFO
-            {
-            rangeid=ERangeNativeNumber; // Native number button
-            responsestyle=1;
-            clientlayoutid=EPeninputClientLayout12x4; 
-            vkblayoutid=EPeninputVkbLayoutNativeNumber;
-            },
-        PENINPUT_LAYOUT_RANGE_INFO
-            {
-            rangeid=ERangeNumber; // Number button
-            responsestyle=1;
-            clientlayoutid=EPeninputClientLayout12x4; 
-            vkblayoutid=EPeninputVkbLayoutLatinNumber;
-            },
-        PENINPUT_LAYOUT_RANGE_INFO
-            {
-            rangeid=ERangeSymbol; // Symbol button
-            responsestyle=1;
-            clientlayoutid=EPeninputClientLayout12x4; 
-            vkblayoutid=EPeninputVkbLayoutSymbol;
-            }
-        }; 
-    }
-
-// ---------------------------------------------------------------------------
-// r_peninput_layout_shift_caps_info_list
-// The information of vkb's shift and capslock button
-// ---------------------------------------------------------------------------
-//
-RESOURCE PENINPUT_LAYOUT_SHIFT_CAPS_INFO_LIST r_peninput_layout_shift_caps_info_list
-    {
-    items = 
-        {
-        PENINPUT_LAYOUT_SHIFT_CAPS_INFO
-            {
-            range = ERangeNative;
-            items =
-                {
-                PENINPUT_LAYOUT_SHIFT_CAPS_INFO_SINGLE
-                    {
-                    id=0;
-                    vkblayoutid=EPeninputVkbLayoutNativeChar;
-                    caseused=ECaseLower;
-                    },
-                PENINPUT_LAYOUT_SHIFT_CAPS_INFO_SINGLE 
-                    {
-                    id=1;
-                    vkblayoutid=EPeninputVkbLayoutNativeCharShift;
-                    caseused=ECaseText;
-                    },
-                PENINPUT_LAYOUT_SHIFT_CAPS_INFO_SINGLE 
-                    {
-                    id=2;
-                    vkblayoutid=EPeninputVkbLayoutNativeCharShift;
-                    caseused=ECaseUpper;
-                    },
-                PENINPUT_LAYOUT_SHIFT_CAPS_INFO_SINGLE 
-                    {
-                    id=3;
-                    vkblayoutid=EPeninputVkbLayoutNativeChar;
-                    caseused=ECaseInverseText;
-                    }
-                };
-            },
-       PENINPUT_LAYOUT_SHIFT_CAPS_INFO
-            {            
-            range = ERangeEnglish;
-            items =
-                {
-                PENINPUT_LAYOUT_SHIFT_CAPS_INFO_SINGLE
-                    {
-                    id=0;
-                    vkblayoutid=EPeninputVkbLayoutLatinChar;
-                    caseused=ECaseLower;
-                    },
-                PENINPUT_LAYOUT_SHIFT_CAPS_INFO_SINGLE 
-                    {
-                    id=1;
-                    vkblayoutid=EPeninputVkbLayoutLatinCharShift;
-                    caseused=ECaseText;
-                    },
-                PENINPUT_LAYOUT_SHIFT_CAPS_INFO_SINGLE 
-                    {
-                    id=2;
-                    vkblayoutid=EPeninputVkbLayoutLatinCharShift;
-                    caseused=ECaseUpper;
-                    },
-                PENINPUT_LAYOUT_SHIFT_CAPS_INFO_SINGLE 
-                    {
-                    id=3;
-                    vkblayoutid=EPeninputVkbLayoutLatinChar;
-                    caseused=ECaseInverseText;
-                    }
-                };
-            },  
-        PENINPUT_LAYOUT_SHIFT_CAPS_INFO
-            {
-            range = ERangeNativeNumber;
-            items =
-                {
-                PENINPUT_LAYOUT_SHIFT_CAPS_INFO_SINGLE
-                    {
-                    id=0;
-                    vkblayoutid=EPeninputVkbLayoutNativeNumber;
-                    caseused=0;
-                    },
-                PENINPUT_LAYOUT_SHIFT_CAPS_INFO_SINGLE 
-                    {
-                    id=1;
-                    vkblayoutid=EPeninputVkbLayoutNativeNumberShift;
-                    caseused=0;
-                    },
-                PENINPUT_LAYOUT_SHIFT_CAPS_INFO_SINGLE 
-                    {
-                    id=2;
-                    vkblayoutid=EPeninputVkbLayoutNativeNumberShift;
-                    caseused=0;
-                    },
-                PENINPUT_LAYOUT_SHIFT_CAPS_INFO_SINGLE 
-                    {
-                    id=3;
-                    vkblayoutid=EPeninputVkbLayoutNativeNumber;
-                    caseused=0;
-                    }
-                };
-            },
-        PENINPUT_LAYOUT_SHIFT_CAPS_INFO
-            {
-            range = ERangeNumber;
-            items =
-                {
-                PENINPUT_LAYOUT_SHIFT_CAPS_INFO_SINGLE
-                    {
-                    id=0;
-                    vkblayoutid=EPeninputVkbLayoutLatinNumber;
-                    caseused=0;
-                    },
-                PENINPUT_LAYOUT_SHIFT_CAPS_INFO_SINGLE 
-                    {
-                    id=1;
-                    vkblayoutid=EPeninputVkbLayoutLatinNumberShift;
-                    caseused=0;
-                    },
-                PENINPUT_LAYOUT_SHIFT_CAPS_INFO_SINGLE 
-                    {
-                    id=2;
-                    vkblayoutid=EPeninputVkbLayoutLatinNumberShift;
-                    caseused=0;
-                    },
-                PENINPUT_LAYOUT_SHIFT_CAPS_INFO_SINGLE 
-                    {
-                    id=3;
-                    vkblayoutid=EPeninputVkbLayoutLatinNumber;
-                    caseused=0;
-                    }
-                };
-            },            
-        PENINPUT_LAYOUT_SHIFT_CAPS_INFO
-            {
-            range = ERangeSymbol;
-            items =
-                {
-                PENINPUT_LAYOUT_SHIFT_CAPS_INFO_SINGLE
-                    {
-                    id=0;
-                    vkblayoutid=EPeninputVkbLayoutSymbol;
-                    caseused=0;
-                    },
-                PENINPUT_LAYOUT_SHIFT_CAPS_INFO_SINGLE 
-                    {
-                    id=1;
-                    vkblayoutid=EPeninputVkbLayoutSymbolShift;
-                    caseused=0;
-                    },
-                PENINPUT_LAYOUT_SHIFT_CAPS_INFO_SINGLE 
-                    {
-                    id=2;
-                    vkblayoutid=EPeninputVkbLayoutSymbolShift;
-                    caseused=0;
-                    },
-                PENINPUT_LAYOUT_SHIFT_CAPS_INFO_SINGLE 
-                    {
-                    id=3;
-                    vkblayoutid=EPeninputVkbLayoutSymbol;
-                    caseused=0;
-                    }
-                };
-            }
-        };
-    }
-
-// ---------------------------------------------------------------------------
-// r_peninput_layout_vkb_range_list
-// VKB range list
-// ---------------------------------------------------------------------------
-//
-RESOURCE AKN_FEP_INPUTRANGE_LIST r_peninput_layout_vkb_range_list
-    {
-    ranges=
-        {
-        AKN_FEP_INPUTRANGE
-            {
-            rangeid=ERangeNative;
-            ctrlid=EPeninutWindowCtrlIdNativeCharBtn;
-            indicator=r_peninput_layout_vkb_range_native;
-            posidx=0;
-            },
-        AKN_FEP_INPUTRANGE
-            {
-            rangeid=ERangeEnglish;
-            ctrlid=EPeninutWindowCtrlIdLatinCharBtn;
-            indicator=r_peninput_layout_vkb_range_english;
-            hide=1;
-            posidx=0;
-            },
-        AKN_FEP_INPUTRANGE
-            {
-            rangeid=ERangeNativeNumber;
-            ctrlid=EPeninutWindowCtrlIdNativeNumberBtn;
-            indicator=r_peninput_layout_vkb_range_native_number;
-            posidx=1;
-            },            
-        AKN_FEP_INPUTRANGE
-            {
-            rangeid=ERangeNumber;
-            ctrlid=EPeninutWindowCtrlIdLatinNumberBtn;
-            indicator=r_peninput_layout_vkb_range_number;
-            hide=1;
-            posidx=1;
-            },
-        AKN_FEP_INPUTRANGE
-            {
-            rangeid=ERangeSymbol;
-            ctrlid=EPeninutWindowCtrlIdSymbolBtn;
-            indicator=r_peninput_layout_vkb_range_symbol;
-            hide=1;
-            posidx=-1;
-            }
-        };
-    }
-
-// ---------------------------------------------------------------------------
-// r_peninput_layout_vkb_range_native
-// Native range button of vkb's rangebar
-// ---------------------------------------------------------------------------
-//
-RESOURCE AKN_FEP_BUTTON_IMAGE r_peninput_layout_vkb_range_native
-    {
-    bmpfile=PENINPUT_LAYOUT_VKB_BMP;
-    imgmajorskinid=EAknsMajorGeneric;
-    nactive=EMbmPeninputsplitqwertyQgn_indi_input_case_text_hindi;
-    nactivemsk=EMbmPeninputsplitqwertyQgn_indi_input_case_text_hindi_mask;
-    nactiveskinid=EAknsMinorGenericQgnIndiFepButtonChinese;
-
-    nactivep=EMbmPeninputsplitqwertyQgn_indi_input_case_text_hindi;
-    nactivepmsk=EMbmPeninputsplitqwertyQgn_indi_input_case_text_hindi_mask;
-    nactivepskinid=EAknsMinorGenericQgnIndiFepButtonChinese;
-
-    active=EMbmPeninputsplitqwertyQgn_indi_input_case_text_hindi;
-    activemsk=EMbmPeninputsplitqwertyQgn_indi_input_case_text_hindi_mask;
-    activeskinid=EAknsMinorGenericQgnIndiFepButtonChineseSel;
-
-    activep=EMbmPeninputsplitqwertyQgn_indi_input_case_text_hindi;
-    activepmsk=EMbmPeninputsplitqwertyQgn_indi_input_case_text_hindi_mask;
-    activepskinid=EAknsMinorGenericQgnIndiFepButtonChineseSel;
-
-    disable=EMbmPeninputsplitqwertyQgn_indi_input_case_text_hindi;
-    disablemsk=EMbmPeninputsplitqwertyQgn_indi_input_case_text_hindi_mask;
-    disableskinid=EAknsMinorGenericQgnIndiFepButtonChinese;
-
-    }
-    
-// ---------------------------------------------------------------------------
-// r_peninput_layout_vkb_range_english
-// English range button of vkb's rangebar
-// ---------------------------------------------------------------------------
-//
-RESOURCE AKN_FEP_BUTTON_IMAGE r_peninput_layout_vkb_range_english
-    {
-    bmpfile=PENINPUT_LAYOUT_VKB_BMP;
-    imgmajorskinid=EAknsMajorGeneric;
-    
-    nactive=EMbmPeninputsplitqwertyQgn_indi_input_case_capital;
-    nactivemsk=EMbmPeninputsplitqwertyQgn_indi_input_case_capital_mask;
-    nactiveskinid=EAknsMinorGenericQgnIndiFepButtonCaseCapital;
-    
-    nactivep=EMbmPeninputsplitqwertyQgn_indi_input_case_capital;
-    nactivepmsk=EMbmPeninputsplitqwertyQgn_indi_input_case_capital_mask;
-    nactivepskinid=EAknsMinorGenericQgnIndiFepButtonCaseCapital;
-    
-    active=EMbmPeninputsplitqwertyQgn_indi_input_case_capital;
-    activemsk=EMbmPeninputsplitqwertyQgn_indi_input_case_capital_mask;
-    activeskinid=EAknsMinorGenericQgnIndiFepButtonCaseCapitalSel;
-    
-    activep=EMbmPeninputsplitqwertyQgn_indi_input_case_capital;
-    activepmsk=EMbmPeninputsplitqwertyQgn_indi_input_case_capital_mask;
-    activepskinid=EAknsMinorGenericQgnIndiFepButtonCaseCapitalSel;
-    
-    disable=EMbmPeninputsplitqwertyQgn_indi_input_case_capital;
-    disablemsk=EMbmPeninputsplitqwertyQgn_indi_input_case_capital_mask;
-    disableskinid=EAknsMinorGenericQgnIndiFepButtonCaseCapital;       
-    }
-
-// ---------------------------------------------------------------------------
-// r_peninput_layout_vkb_range_symbol
-// Symbol range button of vkb's rangebar
-// ---------------------------------------------------------------------------
-//
-RESOURCE AKN_FEP_BUTTON_IMAGE r_peninput_layout_vkb_range_symbol
-    {
-    bmpfile=PENINPUT_LAYOUT_VKB_BMP;
-    imgmajorskinid=EAknsMajorGeneric;
-    nactive=EMbmPeninputsplitqwertyQgn_indi_fep_button_case_special;
-    nactiveskinid=EAknsMinorGenericQgnIndiFepButtonCaseSpecial;
-
-    nactivep=EMbmPeninputsplitqwertyQgn_indi_fep_button_case_special;
-    nactivepskinid=EAknsMinorGenericQgnIndiFepButtonCaseSpecial;
-
-    active=EMbmPeninputsplitqwertyQgn_indi_fep_button_case_special_sel;
-    activeskinid=EAknsMinorGenericQgnIndiFepButtonCaseSpecialSel;
-
-    activep=EMbmPeninputsplitqwertyQgn_indi_fep_button_case_special_sel;
-    activepskinid=EAknsMinorGenericQgnIndiFepButtonCaseSpecialSel;
-
-    disable=EMbmPeninputsplitqwertyQgn_indi_fep_button_case_special;
-    disableskinid=EAknsMinorGenericQgnIndiFepButtonCaseSpecial;
-
-    }
-
-// ---------------------------------------------------------------------------
-// r_peninput_layout_vkb_range_number
-// Number range button of vkb's rangebar
-// ---------------------------------------------------------------------------
-//
-RESOURCE AKN_FEP_BUTTON_IMAGE r_peninput_layout_vkb_range_number
-    {
-    bmpfile=PENINPUT_LAYOUT_VKB_BMP;
-    imgmajorskinid=EAknsMajorGeneric;
-    
-    nactive=EMbmPeninputsplitqwertyQgn_indi_input_case_numeric_special;
-    nactivemsk=EMbmPeninputsplitqwertyQgn_indi_input_case_numeric_special_mask;
-    nactiveskinid=EAknsMinorGenericQgnIndiFepButtonCaseNumeric;
-    
-    nactivep=EMbmPeninputsplitqwertyQgn_indi_input_case_numeric_special;
-    nactivepmsk=EMbmPeninputsplitqwertyQgn_indi_input_case_numeric_special_mask;
-    nactivepskinid=EAknsMinorGenericQgnIndiFepButtonCaseNumeric;
-    
-    active=EMbmPeninputsplitqwertyQgn_indi_input_case_numeric_special;
-    activemsk=EMbmPeninputsplitqwertyQgn_indi_input_case_numeric_special_mask;
-    activeskinid=EAknsMinorGenericQgnIndiFepButtonCaseNumericSel;
-    
-    activep=EMbmPeninputsplitqwertyQgn_indi_input_case_numeric_special;
-    activepmsk=EMbmPeninputsplitqwertyQgn_indi_input_case_numeric_special_mask;
-    activepskinid=EAknsMinorGenericQgnIndiFepButtonCaseNumericSel;
-    
-    disable=EMbmPeninputsplitqwertyQgn_indi_input_case_numeric_special;
-    disablemsk=EMbmPeninputsplitqwertyQgn_indi_input_case_numeric_special_mask;
-    disableskinid=EAknsMinorGenericQgnIndiFepButtonCaseNumeric;           
-    }
-    
-// ---------------------------------------------------------------------------
-// r_peninput_layout_vkb_range_number
-// Number range button of vkb's rangebar
-// ---------------------------------------------------------------------------
-//
-RESOURCE AKN_FEP_BUTTON_IMAGE r_peninput_layout_vkb_range_native_number
-    {
-    bmpfile=PENINPUT_LAYOUT_VKB_BMP;
-    imgmajorskinid=EAknsMajorGeneric;
-    nactive=EMbmPeninputsplitqwertyQgn_indi_input_case_numeric_devanagari;
-    nactivemsk=EMbmPeninputsplitqwertyQgn_indi_input_case_numeric_devanagari_mask;
-    //nactiveskinid=EAknsMinorGenericQgnIndiFepButtonCaseNativeNumeric;
-
-    nactivep=EMbmPeninputsplitqwertyQgn_indi_input_case_numeric_devanagari;
-    nactivepmsk=EMbmPeninputsplitqwertyQgn_indi_input_case_numeric_devanagari_mask;
-    //nactivepskinid=EAknsMinorGenericQgnIndiFepButtonCaseNativeNumeric;
-
-    active=EMbmPeninputsplitqwertyQgn_indi_input_case_numeric_devanagari;
-    activemsk=EMbmPeninputsplitqwertyQgn_indi_input_case_numeric_devanagari_mask;
-    //activeskinid=EAknsMinorGenericQgnIndiFepButtonCaseNativeNumericSel;
-
-    activep=EMbmPeninputsplitqwertyQgn_indi_input_case_numeric_devanagari;
-    activepmsk=EMbmPeninputsplitqwertyQgn_indi_input_case_numeric_devanagari_mask;
-    //activepskinid=EAknsMinorGenericQgnIndiFepButtonCaseNativeNumericSel;
-
-    disable=EMbmPeninputsplitqwertyQgn_indi_input_case_numeric_devanagari;
-    disablemsk=EMbmPeninputsplitqwertyQgn_indi_input_case_numeric_devanagari_mask;
-    //disableskinid=EAknsMinorGenericQgnIndiFepButtonCaseNativeNumeric;
-
-    }
--- a/textinput/peninputvkbcn/ctrlsrc/peninputvkbwindow.cpp	Wed Jun 09 10:03:19 2010 +0300
+++ b/textinput/peninputvkbcn/ctrlsrc/peninputvkbwindow.cpp	Mon Jun 21 16:02:35 2010 +0300
@@ -1465,8 +1465,6 @@
         // read LAF data for tooltip box
         const TPeninputCnTooltipBoxLayoutData& tooltipBoxLAF 
                                         = iLafMgr->TooltipBoxLayoutData();
-        iInputContextField->TooltipBubbleCtrl()->SetRect( 
-                                        tooltipBoxLAF.iRect );
         iInputContextField->TooltipBubbleCtrl()->SetTextFormat( 
                                         tooltipBoxLAF.iTooltipTextLayout );
         iInputContextField->TooltipBubbleCtrl()->SetTextColorIndex( 
--- a/textinput/ptienginev2/inc/PtiEngineImpl.h	Wed Jun 09 10:03:19 2010 +0300
+++ b/textinput/ptienginev2/inc/PtiEngineImpl.h	Mon Jun 21 16:02:35 2010 +0300
@@ -228,6 +228,7 @@
         TPtiTextCase CaseForMappedCharacter(TChar aCharacter);
         void RemoveTrailingPunctuations();
         void RemoveTrailingPunctuations12Key();
+		void OnInputModeChanged(TPtiEngineInputMode aOldMode, TPtiEngineInputMode aNewMode);
 #ifdef FF_DUAL_LANGUAGE_SUPPORT
         void  SearchKeySequenceInSecLang(TPtrC aIn, TDes8& aOut);
 #endif // FF_DUAL_LANGUAGE_SUPPORT        
--- a/textinput/ptienginev2/src/PtiEngineImpl.cpp	Wed Jun 09 10:03:19 2010 +0300
+++ b/textinput/ptienginev2/src/PtiEngineImpl.cpp	Mon Jun 21 16:02:35 2010 +0300
@@ -712,14 +712,36 @@
 			return KErrNoSuitableCore;	
 			}
 		}
-
-    iInputMode = aMode;	
+	
+	if (iInputMode != aMode)
+		{
+		OnInputModeChanged(iInputMode, aMode);
+		iInputMode = aMode;		
+		}
 
 	TFileName temp;
 	temp.Copy(iTextBuffer);
 	return SetCurrentWord( temp );
 	}
 
+void CPtiEngineImpl::OnInputModeChanged(TPtiEngineInputMode /*aOldMode*/, TPtiEngineInputMode aNewMode)
+	{
+	if (aNewMode == EPtiEngineQwertyPredictive)
+		{
+		HBufC16* oldTextBuf = iTextBuffer.Alloc(); 
+		ClearCurrentWord();
+		if (oldTextBuf)
+			{
+			// why assigned here? eh, I don't want to do that either.
+			// SetCurrentWord will use core(), which will use iInputMode, and 
+			// obviously, the core should return the new core, that is why.
+			iInputMode = aNewMode;
+		
+			SetCurrentWord(oldTextBuf->Des());
+			delete oldTextBuf;
+			}
+		}
+	}
 
 // ---------------------------------------------------------------------------
 // CPtiEngineImpl::CountToneMarks
@@ -3964,10 +3986,12 @@
 	// When the default physical keyboard is 0, 
 	// it means that there is no physical keyboard,
 	// also need to get the active virtual keyboard type.
+	TInt isQwertyOn = 0;
+	RProperty::Get(KCRUidAvkon, KAknQwertyInputModeActive, isQwertyOn);	
 	TInt isVirtualInputActive = 0;
 	RProperty::Get( KPSUidAknFep, KAknFepTouchInputActive, 
 					isVirtualInputActive );    
-	if ( isVirtualInputActive > 0 || keyboardType == 0 )
+	if (( isVirtualInputActive > 0 || keyboardType == 0) && !isQwertyOn)
 		{
 		// Active keyboard is virtual keyboard          
 		RProperty::Get( KPSUidAknFep, KAknFepVirtualKeyboardType,