baseport/src/cedar/generic/base/syborg/keymap/keymap.cpp
changeset 2 d55eb581a87c
parent 1 2fb8b9db1c86
child 3 c2946f91d81f
--- a/baseport/src/cedar/generic/base/syborg/keymap/keymap.cpp	Fri Jul 31 15:01:17 2009 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1952 +0,0 @@
-/*
-* 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 the License "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: This is for a UK Keyboard
-*
-*/
-
-#include <k32keys.h>
-
-//#define US_KEYBOARD
-
-// the "array" parameter must be a true array and not a pointer
-#define ARRAY_LENGTH(array) (sizeof(array)/sizeof(array[0]))
-
-#define TABLE_ENTRY_ANOTHER_CTRL_DIGIT					\
-	{  													\
-		{												\
-		EModifierKeyUp|EModifierFunc,	                \
-		0												\
-		},												\
-		{												\
-		EKeyNull,										\
-		EAnyDigitGivenRadix								\
-		},												\
-		{												\
-		EStateCtrlDigits,								\
-		EAddOnCtrlDigit,								\
-		0												\
-		}												\
-	}
-
-// This table is searched for a match if a match has not been
-// found in the current state's table
-
-LOCAL_D const SFuncTableEntry defaultTable[]=
-	{
-		{ // prevent key up events generating keycodes
-			{
-			EModifierKeyUp,
-			EModifierKeyUp
-			},
-			{
-			EKeyNull,
-			EAnyKey
-			},
-			{
-			EStateUnchanged,
-			EDoNothing,
-			0
-			}
-		},
-		{ // prevent any modifer key from changing state
-			{
-			0,
-			0
-			},
-			{
-			EKeyNull,
-			EAnyModifierKey
-			},
-			{
-			EStateUnchanged,
-			EDoNothing,
-			0
-			}
-		},
-		{ // filter out any unprocessed codes???
-			{
-			0,
-			0
-			},
-			{
-			EKeyNull,
-			EAnyKey
-			},
-			{
-			EStateNormal,
-			EDoNothing,
-			0
-			}
-		}
-	};
-
-// The table indicating which keys change which modifiers;
-// the state field in this table is ignored
-LOCAL_D const SFuncTableEntry modifierTable[]=
-	{
-        {
-			{
-			EModifierKeyUp,
-			0
-			},
-			{
-			EKeyCapsLock,
-			EMatchKey
-			},
-			{
-			EStateUnchanged,
-			EToggleModifier,
-			EModifierCapsLock
-			}
-		},
-		{
-			{
-			EModifierKeyUp,
-			0
-			},
-			{
-			EKeyNumLock,
-			EMatchKey
-			},
-			{
-			EStateUnchanged,
-			EToggleModifier,
-			EModifierNumLock
-			}
-		},
-		{
-			{
-			EModifierKeyUp,
-			0
-			},
-			{
-			EKeyScrollLock,
-			EMatchKey
-			},
-			{
-			EStateUnchanged,
-			EToggleModifier,
-			EModifierScrollLock
-			}
-		},
-		{
-			{
-			EModifierKeyUp,
-			0
-			},
-			{
-			EKeyLeftAlt,
-			EMatchKey
-			},
-			{
-			EStateUnchanged,
-			ETurnOnModifier,
-			EModifierAlt|EModifierLeftAlt
-			}
-		},
-		{
-			{
-			EModifierKeyUp,
-			EModifierKeyUp
-			},
-			{
-			EKeyLeftAlt,
-			EMatchKey
-			},
-			{
-			EStateUnchanged,
-			ETurnOffModifier,
-			EModifierLeftAlt
-			}
-		},
-		{
-			{
-			EModifierKeyUp,
-			0
-			},
-			{
-			EKeyLeftFunc,
-			EMatchKey
-			},
-			{
-			EStateUnchanged,
-			ETurnOnModifier,
-			EModifierFunc|EModifierLeftFunc
-			}
-		},
-		{
-			{
-			EModifierKeyUp,
-			EModifierKeyUp
-			},
-			{
-			EKeyLeftFunc,
-			EMatchKey
-			},
-			{
-			EStateUnchanged,
-			ETurnOffModifier,
-			EModifierLeftFunc
-			}
-		},
-		{
-			{
-			EModifierKeyUp,
-			0
-			},
-			{
-			EKeyLeftShift,
-			EMatchKey
-			},
-			{
-			EStateUnchanged,
-			ETurnOnModifier,
-			EModifierShift|EModifierLeftShift
-			}
-		},
-		{
-			{
-			EModifierKeyUp,
-			EModifierKeyUp
-			},
-			{
-			EKeyLeftShift,
-			EMatchKey
-			},
-			{
-			EStateUnchanged,
-			ETurnOffModifier,
-			EModifierLeftShift
-			}
-		},
-		{
-			{
-			EModifierKeyUp,
-			0
-			},
-			{
-			EKeyLeftCtrl,
-			EMatchKey
-			},
-			{
-			EStateUnchanged,
-			ETurnOnModifier,
-			EModifierCtrl|EModifierLeftCtrl
-			}
-		},
-		{
-			{
-			EModifierKeyUp,
-			EModifierKeyUp
-			},
-			{
-			EKeyLeftCtrl,
-			EMatchKey
-			},
-			{
-			EStateUnchanged,
-			ETurnOffModifier,
-			EModifierLeftCtrl
-			}
-        },
-		{
-			{
-			EModifierKeyUp,
-			0
-			},
-			{
-			EKeyRightAlt,
-			EMatchKey
-			},
-			{
-			EStateUnchanged,
-			ETurnOnModifier,
-			EModifierAlt|EModifierRightAlt
-			}
-		},
-		{
-			{
-			EModifierKeyUp,
-			EModifierKeyUp
-			},
-			{
-			EKeyRightAlt,
-			EMatchKey
-			},
-			{
-			EStateUnchanged,
-			ETurnOffModifier,
-			EModifierRightAlt
-			}
-		},
-		{
-			{
-			EModifierKeyUp,
-			0
-			},
-			{
-			EKeyRightFunc,
-			EMatchKey
-			},
-			{
-			EStateUnchanged,
-			ETurnOnModifier,
-			EModifierFunc|EModifierRightFunc
-			}
-		},
-		{
-			{
-			EModifierKeyUp,
-			EModifierKeyUp
-			},
-			{
-			EKeyRightFunc,
-			EMatchKey
-			},
-			{
-			EStateUnchanged,
-			ETurnOffModifier,
-			EModifierRightFunc
-			}
-		},
-		{
-			{
-			EModifierKeyUp,
-			0
-			},
-			{
-			EKeyRightShift,
-			EMatchKey
-			},
-			{
-			EStateUnchanged,
-			ETurnOnModifier,
-			EModifierShift|EModifierRightShift
-			}
-		},
-		{
-			{
-			EModifierKeyUp,
-			EModifierKeyUp
-			},
-			{
-			EKeyRightShift,
-			EMatchKey
-			},
-			{
-			EStateUnchanged,
-			ETurnOffModifier,
-			EModifierRightShift
-			}
-		},
-		{
-			{
-			EModifierKeyUp,
-			0
-			},
-			{
-			EKeyRightCtrl,
-			EMatchKey
-			},
-			{
-			EStateUnchanged,
-			ETurnOnModifier,
-			EModifierCtrl|EModifierRightCtrl
-			}
-		},
-		{
-			{
-			EModifierKeyUp,
-			EModifierKeyUp
-			},
-			{
-			EKeyRightCtrl,
-			EMatchKey
-			},
-			{
-			EStateUnchanged,
-			ETurnOffModifier,
-			EModifierRightCtrl
-			}
-		}
-	};
-
-// table0 to table12 are the tables corresponding to states
-// 0 to 12 respectively
-
-//LOCAL_D const SFuncTableEntry table0[]=
-//	{
-//	TABLE_ENTRY_ANOTHER_CTRL_DIGIT
-//	};
-
-LOCAL_D const SFuncTableEntry table1[]=
-	{
-		{
-			{
-			EModifierFunc|EModifierKeyUp,
-			0
-			},
-			{
-			'e',
-			EMatchKeyCaseInsens
-			},
-			{
-			EStateNormal,
-			EPassSpecialKeyThru,
-			ELatin1LcAe
-			}
-		},
-		{
-			{
-			EModifierFunc|EModifierKeyUp,
-			0
-			},
-			{
-			'c',
-			EMatchKeyCaseInsens
-			},
-			{
-			EStateNormal,
-			EPassSpecialKeyThru,
-			ELatin1LcCcedilla
-			}
-		},
-		{
-			{
-			EModifierFunc|EModifierKeyUp,
-			0
-			},
-			{
-			's',
-			EMatchKeyCaseInsens
-			},
-			{
-			EStateNormal,
-			EPassSpecialKeyThru,
-			ELatin1EsTset
-			}
-		},
-		{
-			{
-			EModifierFunc|EModifierKeyUp,
-			0
-			},
-			{
-			'o',
-			EMatchKeyCaseInsens
-			},
-			{
-			EStateNormal,
-			EPassSpecialKeyThru,
-			ELatin1LcOslash
-			}
-		},
-		{
-			{
-			EModifierFunc|EModifierKeyUp,
-			0
-			},
-			{
-			'd',
-			EMatchKeyCaseInsens
-			},
-			{
-			EStateNormal,
-			EPassSpecialKeyThru,
-			ELatin1LcThorn
-			}
-		},
-		{
-			{
-			EModifierFunc|EModifierKeyUp,
-			0
-			},
-			{
-			't',
-			EMatchKeyCaseInsens
-			},
-			{
-			EStateNormal,
-			EPassSpecialKeyThru,
-			ELatin1LcSoftTh
-			}
-		},
-		{
-			{
-			EModifierFunc|EModifierKeyUp,
-			0
-			},
-			{
-			'l',
-			EMatchKeyCaseInsens
-			},
-			{
-			EStateNormal,
-			EPassSpecialKeyThru,
-			ELatin1LeftChevron
-			}
-		},
-		{
-			{
-			EModifierFunc|EModifierKeyUp,
-			0
-			},
-			{
-			'r',
-			EMatchKeyCaseInsens
-			},
-			{
-			EStateNormal,
-			EPassSpecialKeyThru,
-			ELatin1RightChevron
-			}
-		},
-		{
-			{
-			EModifierFunc|EModifierKeyUp,
-			0
-			},
-			{
-			'x',
-			EMatchKeyCaseInsens
-			},
-			{
-			EStateNormal,
-			EPassSpecialKeyThru,
-			ELatin1InvExclam
-			}
-		},
-		{
-			{
-			EModifierFunc|EModifierKeyUp,
-			0
-			},
-			{
-			'q',
-			EMatchKeyCaseInsens
-			},
-			{
-			EStateNormal,
-			EPassSpecialKeyThru,
-			ELatin1InvQuest
-			}
-		},
-		{
-			{
-			EModifierFunc|EModifierKeyUp,
-			0
-			},
-			{
-			'a',
-			EMatchKeyCaseInsens
-			},
-			{
-			EStateNormal,
-			EPassSpecialKeyThru,
-			ELatin1LcAo
-			}
-		},
-		{
-			{
-			EModifierFunc|EModifierKeyUp,
-			0
-			},
-			{
-			'p',
-			EMatchKeyCaseInsens
-			},
-			{
-			EStateNormal,
-			EPassSpecialKeyThru,
-			ELatin1Pound
-			}
-		},
-	TABLE_ENTRY_ANOTHER_CTRL_DIGIT
-	};
-
-LOCAL_D const SFuncTableEntry table2[]=
-	{
-		{
-			{
-			EModifierFunc|EModifierKeyUp,
-			0
-			},
-			{
-			'a',
-			EMatchKeyCaseInsens
-			},
-			{
-			EStateNormal,
-			EPassSpecialKeyThru,
-			ELatin1LcAumlaut
-			}
-		},
-		{
-			{
-			EModifierFunc|EModifierKeyUp,
-			0
-			},
-			{
-			'e',
-			EMatchKeyCaseInsens
-			},
-			{
-			EStateNormal,
-			EPassSpecialKeyThru,
-			ELatin1LcEumlaut
-			}
-		},
-		{
-			{
-			EModifierFunc|EModifierKeyUp,
-			0
-			},
-			{
-			'i',
-			EMatchKeyCaseInsens
-			},
-			{
-			EStateNormal,
-			EPassSpecialKeyThru,
-			ELatin1LcIumlaut
-			}
-		},
-		{
-			{
-			EModifierFunc|EModifierKeyUp,
-			0
-			},
-			{
-			'o',
-			EMatchKeyCaseInsens
-			},
-			{
-			EStateNormal,
-			EPassSpecialKeyThru,
-			ELatin1LcOumlaut
-			}
-		},
-		{
-			{
-			EModifierFunc|EModifierKeyUp,
-			0
-			},
-			{
-			'u',
-			EMatchKeyCaseInsens
-			},
-			{
-			EStateNormal,
-			EPassSpecialKeyThru,
-			ELatin1LcUumlaut
-			}
-		},
-		{
-			{
-			EModifierFunc|EModifierKeyUp,
-			0
-			},
-			{
-			'y',
-			EMatchKeyCaseInsens
-			},
-			{
-			EStateNormal,
-			EPassSpecialKeyThru,
-			ELatin1LcYumlaut
-			}
-		},
-		{
-			{
-			EModifierFunc|EModifierKeyUp,
-			0
-			},
-			{
-			' ',
-			EMatchKey
-			},
-			{
-			EStateNormal,
-			EPassSpecialKeyThru,
-			ELatin1SpaceUmlaut
-			}
-		},
-	TABLE_ENTRY_ANOTHER_CTRL_DIGIT
-	};
-
-LOCAL_D const SFuncTableEntry table3[]=
-	{
-		{
-			{
-			EModifierFunc|EModifierKeyUp,
-			0
-			},
-			{
-			'a',
-			EMatchKeyCaseInsens
-			},
-			{
-			EStateNormal,
-			EPassSpecialKeyThru,
-			ELatin1LcAgrave
-			}
-		},
-		{
-			{
-			EModifierFunc|EModifierKeyUp,
-			0
-			},
-			{
-			'e',
-			EMatchKeyCaseInsens
-			},
-			{
-			EStateNormal,
-			EPassSpecialKeyThru,
-			ELatin1LcEgrave
-			}
-		},
-		{
-			{
-			EModifierFunc|EModifierKeyUp,
-			0
-			},
-			{
-			'i',
-			EMatchKeyCaseInsens
-			},
-			{
-			EStateNormal,
-			EPassSpecialKeyThru,
-			ELatin1LcIgrave
-			}
-		},
-		{
-			{
-			EModifierFunc|EModifierKeyUp,
-			0
-			},
-			{
-			'o',
-			EMatchKeyCaseInsens
-			},
-			{
-			EStateNormal,
-			EPassSpecialKeyThru,
-			ELatin1LcOgrave
-			}
-		},
-		{
-			{
-			EModifierFunc|EModifierKeyUp,
-			0
-			},
-			{
-			'u',
-			EMatchKeyCaseInsens
-			},
-			{
-			EStateNormal,
-			EPassSpecialKeyThru,
-			ELatin1LcUgrave
-			}
-		},
-		{
-			{
-			EModifierFunc|EModifierKeyUp,
-			0
-			},
-			{
-			' ',
-			EMatchKey
-			},
-			{
-			EStateNormal,
-			EPassSpecialKeyThru,
-			ELatin1SpaceGrave
-			}
-		},
-	TABLE_ENTRY_ANOTHER_CTRL_DIGIT
-	};
-
-LOCAL_D const SFuncTableEntry table4[]=
-	{
-		{
-			{
-			EModifierFunc|EModifierKeyUp,
-			0
-			},
-			{
-			'a',
-			EMatchKeyCaseInsens
-			},
-			{
-			EStateNormal,
-			EPassSpecialKeyThru,
-			ELatin1LcAacute
-			}
-		},
-		{
-			{
-			EModifierFunc|EModifierKeyUp,
-			0
-			},
-			{
-			'e',
-			EMatchKeyCaseInsens
-			},
-			{
-			EStateNormal,
-			EPassSpecialKeyThru,
-			ELatin1LcEacute
-			}
-		},
-		{
-			{
-			EModifierFunc|EModifierKeyUp,
-			0
-			},
-			{
-			'i',
-			EMatchKeyCaseInsens
-			},
-			{
-			EStateNormal,
-			EPassSpecialKeyThru,
-			ELatin1LcIacute
-			}
-		},
-		{
-			{
-			EModifierFunc|EModifierKeyUp,
-			0
-			},
-			{
-			'o',
-			EMatchKeyCaseInsens
-			},
-			{
-			EStateNormal,
-			EPassSpecialKeyThru,
-			ELatin1LcOacute
-			}
-		},
-		{
-			{
-			EModifierFunc|EModifierKeyUp,
-			0
-			},
-			{
-			'u',
-			EMatchKeyCaseInsens
-			},
-			{
-			EStateNormal,
-			EPassSpecialKeyThru,
-			ELatin1LcUacute
-			}
-		},
-		{
-			{
-			EModifierFunc|EModifierKeyUp,
-			0
-			},
-			{
-			'y',
-			EMatchKeyCaseInsens
-			},
-			{
-			EStateNormal,
-			EPassSpecialKeyThru,
-			ELatin1LcYacute
-			}
-		},
-		{
-			{
-			EModifierFunc|EModifierKeyUp,
-			0
-			},
-			{
-			' ',
-			EMatchKey
-			},
-			{
-			EStateNormal,
-			EPassSpecialKeyThru,
-			ELatin1LcSpaceAcute
-			}
-		},
-	TABLE_ENTRY_ANOTHER_CTRL_DIGIT
-	};
-
-LOCAL_D const SFuncTableEntry table5[]=
-	{
-		{
-			{
-			EModifierFunc|EModifierKeyUp,
-			0
-			},
-			{
-			'a',
-			EMatchKeyCaseInsens
-			},
-			{
-			EStateNormal,
-			EPassSpecialKeyThru,
-			ELatin1LcAtilde
-			}
-		},
-		{
-			{
-			EModifierFunc|EModifierKeyUp,
-			0
-			},
-			{
-			'n',
-			EMatchKeyCaseInsens
-			},
-			{
-			EStateNormal,
-			EPassSpecialKeyThru,
-			ELatin1LcNtilde
-			}
-		},
-		{
-			{
-			EModifierFunc|EModifierKeyUp,
-			0
-			},
-			{
-			'o',
-			EMatchKeyCaseInsens
-			},
-			{
-			EStateNormal,
-			EPassSpecialKeyThru,
-			ELatin1LcOtilde
-			}
-		},
-		{
-			{
-			EModifierFunc|EModifierKeyUp,
-			0
-			},
-			{
-			' ',
-			EMatchKey
-			},
-			{
-			EStateNormal,
-			EPassSpecialKeyThru,
-			ELatin1LcSpaceTilde
-			}
-		},
-	TABLE_ENTRY_ANOTHER_CTRL_DIGIT
-	};
-
-LOCAL_D const SFuncTableEntry table6[]=
-	{
-		{
-			{
-			EModifierFunc|EModifierKeyUp,
-			0
-			},
-			{
-			'a',
-			EMatchKeyCaseInsens
-			},
-			{
-			EStateNormal,
-			EPassSpecialKeyThru,
-			ELatin1LcAcirc
-			}
-		},
-		{
-			{
-			EModifierFunc|EModifierKeyUp,
-			0
-			},
-			{
-			'e',
-			EMatchKeyCaseInsens
-			},
-			{
-			EStateNormal,
-			EPassSpecialKeyThru,
-			ELatin1LcEcirc
-			}
-		},
-		{
-			{
-			EModifierFunc|EModifierKeyUp,
-			0
-			},
-			{
-			'i',
-			EMatchKeyCaseInsens
-			},
-			{
-			EStateNormal,
-			EPassSpecialKeyThru,
-			ELatin1LcIcirc
-			}
-		},
-		{
-			{
-			EModifierFunc|EModifierKeyUp,
-			0
-			},
-			{
-			'o',
-			EMatchKeyCaseInsens
-			},
-			{
-			EStateNormal,
-			EPassSpecialKeyThru,
-			ELatin1LcOcirc
-			}
-		},
-		{
-			{
-			EModifierFunc|EModifierKeyUp,
-			0
-			},
-			{
-			'u',
-			EMatchKeyCaseInsens
-			},
-			{
-			EStateNormal,
-			EPassSpecialKeyThru,
-			ELatin1LcUcirc
-			}
-		},
-		{
-			{
-			EModifierFunc|EModifierKeyUp,
-			0
-			},
-			{
-			' ',
-			EMatchKey
-			},
-			{
-			EStateNormal,
-			EPassSpecialKeyThru,
-			ELatin1LcSpaceCirc
-			}
-		},
-	TABLE_ENTRY_ANOTHER_CTRL_DIGIT
-	};
-
-//LOCAL_D const SFuncTableEntry table7[]=
-//	{
-//	TABLE_ENTRY_ANOTHER_CTRL_DIGIT
-//	};
-
-//LOCAL_D const SFuncTableEntry table8[]=
-//	{
-//	TABLE_ENTRY_ANOTHER_CTRL_DIGIT
-//	};
-
-//LOCAL_D const SFuncTableEntry table9[]=
-//	{
-//	TABLE_ENTRY_ANOTHER_CTRL_DIGIT
-//	};
-
-LOCAL_D const SFuncTableEntry table10[]=
-	{
-		{ // filter out up key strokes
-			{
-			EModifierKeyUp,
-			EModifierKeyUp
-			},
-			{
-			EKeyNull,
-			EAnyKey
-			},
-			{
-			EStateUnchanged,
-			EDoNothing,
-			0
-			}
-		},
-		{ // check for ctrl-number presses
-			{
-			EModifierCtrl|EModifierFunc|EModifierKeyUp,
-			EModifierCtrl
-			},
-			{
-			EKeyNull,
-			EAnyDecimalDigit
-			},
-			{
-			EStateDerivedFromDigitEntered,
-			EAddOnCtrlDigit,
-			0
-			}
-		},
-		{ // pass thru any keys which can't be state control keys
-			{
-			EModifierFunc,
-			0,
-			},
-			{
-			EKeyNull,
-			EAnyKey
-			},
-			{
-			EStateUnchanged,
-			EPassKeyThru,
-			0
-			}
-		},
-		{ // pass thru any keys which can't be state control keys
-			{
-			EModifierCtrl,
-			EModifierCtrl,
-			},
-			{
-			EKeyNull,
-			EAnyKey
-			},
-			{
-			EStateUnchanged,
-			EPassKeyThru,
-			0
-			}
-		},
-		{ // check for FN-q
-			{
-			EModifierCtrl|EModifierFunc|EModifierKeyUp,
-			EModifierFunc
-			},
-			{
-			'q',
-			EMatchKeyCaseInsens
-			},
-			{
-			1,
-			EDoNothing,
-			0
-			}
-		},
-		{ // check for FN-z
-			{
-			EModifierCtrl|EModifierFunc|EModifierKeyUp,
-			EModifierFunc
-			},
-			{
-			'z',
-			EMatchKeyCaseInsens
-			},
-			{
-			2,
-			EDoNothing,
-			0
-			}
-		},
-		{ // check for FN-x
-			{
-			EModifierCtrl|EModifierFunc|EModifierKeyUp,
-			EModifierFunc
-			},
-			{
-			'x',
-			EMatchKeyCaseInsens
-			},
-			{
-			3,
-			EDoNothing,
-			0
-			}
-		},
-		{ // check for FN-c
-			{
-			EModifierCtrl|EModifierFunc|EModifierKeyUp,
-			EModifierFunc
-			},
-			{
-			'c',
-			EMatchKeyCaseInsens
-			},
-			{
-			4,
-			EDoNothing,
-			0
-			}
-		},
-		{ // check for FN-v
-			{
-			EModifierCtrl|EModifierFunc|EModifierKeyUp,
-			EModifierFunc
-			},
-			{
-			'v',
-			EMatchKeyCaseInsens
-			},
-			{
-			5,
-			EDoNothing,
-			0
-			}
-		},
-		{ // check for FN-b
-			{
-			EModifierCtrl|EModifierFunc|EModifierKeyUp,
-			EModifierFunc
-			},
-			{
-			'b',
-			EMatchKeyCaseInsens
-			},
-			{
-			6,
-			EDoNothing,
-			0
-			}
-		},
-		{ // pass thru any non-processed keys
-			{
-			0,
-			0
-			},
-			{
-			EKeyNull,
-			EAnyKey
-			},
-			{
-			EStateUnchanged,
-			EPassKeyThru,
-			0
-			}
-		}
-	};
-
-//LOCAL_D const SFuncTableEntry table11[]=
-//	{
-//	TABLE_ENTRY_ANOTHER_CTRL_DIGIT
-//	};
-
-LOCAL_D const SFuncTableEntry table12[]=
-	{  
-		{
-			{
-			EModifierKeyUp,
-			EModifierKeyUp
-			},
-			{
-			EKeyLeftCtrl,
-			EMatchLeftOrRight
-			},
-			{
-			EStateNormal,
-			EPassCtrlDigitsThru,
-			0
-			}
-		},
-	TABLE_ENTRY_ANOTHER_CTRL_DIGIT
-	};
-
-LOCAL_D const SFuncTable genFuncTables[]=
-	{
-		{
-		0,
-		NULL
-		},
-		{
-		ARRAY_LENGTH(table1),
-		&table1[0]
-		},
-		{
-		ARRAY_LENGTH(table2),
-		&table2[0]
-		},
-		{
-		ARRAY_LENGTH(table3),
-		&table3[0]
-		},
-		{
-		ARRAY_LENGTH(table4),
-		&table4[0]
-		},
-		{
-		ARRAY_LENGTH(table5),
-		&table5[0]
-		},
-		{
-		ARRAY_LENGTH(table6),
-		&table6[0]
-		},
-		{
-		0,
-		NULL
-		},
-		{
-		0,
-		NULL
-		},
-		{
-		0,
-		NULL
-		},
-		{
-		ARRAY_LENGTH(table10),
-		&table10[0]
-		},
-		{
-		0,
-		NULL
-		},
-		{
-		ARRAY_LENGTH(table12),
-		&table12[0]
-		}
-	};
-
-LOCAL_D const SFuncTables FuncTables=
-	{
-		{
-		ARRAY_LENGTH(defaultTable),
-		&defaultTable[0]
-		},
-		{
-		ARRAY_LENGTH(modifierTable),
-		&modifierTable[0]
-		},
-	ARRAY_LENGTH(genFuncTables),
-	&genFuncTables[0]
-	};
-
-LOCAL_D const SScanCodeBlock scanCodeBlock_unmodifiable[]=
-	{
-	{EStdKeyLeftShift, EStdKeyScrollLock}
-	};
-
-LOCAL_D const TUint16 convKeyCodes_unmodifiable[]=
-	{
-	EKeyLeftShift,
-	EKeyRightShift,
-	EKeyLeftAlt,
-	EKeyRightAlt,
-	EKeyLeftCtrl,
-	EKeyRightCtrl,
-	EKeyLeftFunc,
-	EKeyRightFunc,
-	EKeyCapsLock,
-	EKeyNumLock,
-	EKeyScrollLock
-	};
-
-// base: this table traps all of the keyboard's scanCodes except those in convKeyCodes_unmodifiable
-LOCAL_D const SScanCodeBlock scanCodeBlock_base[]=
-	{
-	{EStdKeyNull, EStdKeyDownArrow},
-	{'0', '9'},
-	{'A', 'Z'},
-	{EStdKeyF1, EStdKeyDictaphoneRecord},
-	};
-
-LOCAL_D const TUint16 convKeyCodes_base[]=
-	{
-	EKeyNull,
-	EKeyBackspace,
-	EKeyTab,
-	EKeyEnter,
-	EKeyEscape,
-	' ',
-	EKeyPrintScreen,
-	EKeyPause,
-	EKeyHome,
-	EKeyEnd,
-	EKeyPageUp,
-	EKeyPageDown,
-	EKeyInsert,
-	EKeyDelete,
-	EKeyLeftArrow,
-	EKeyRightArrow,
-	EKeyUpArrow,
-	EKeyDownArrow,
-	'0',
-	'1',
-	'2',
-	'3',
-	'4',
-	'5',
-	'6',
-	'7',
-	'8',
-	'9',
-	'a',
-	'b',
-	'c',
-	'd',
-	'e',
-	'f',
-	'g',
-	'h',
-	'i',
-	'j',
-	'k',
-	'l',
-	'm',
-	'n',
-	'o',
-	'p',
-	'q',
-	'r',
-	's',
-	't',
-	'u',
-	'v',
-	'w',
-	'x',
-	'y',
-	'z',
-	EKeyF1,
-	EKeyF2,
-	EKeyF3,
-	EKeyF4,
-	EKeyF5,
-	EKeyF6,
-	EKeyF7,
-	EKeyF8,
-	EKeyF9,
-	EKeyF10,
-	EKeyF11,
-	EKeyF12,
-	EKeyF13,
-	EKeyF14,
-	EKeyF15,
-	EKeyF16,
-	EKeyF17,
-	EKeyF18,
-	EKeyF19,
-	EKeyF20,
-	EKeyF21,
-	EKeyF22,
-	EKeyF23,
-	EKeyF24,
-	'`',
-	',',
-	'.',
-	'/',
-	'\\',
-	';',
-	'\'',
-#ifndef US_KEYBOARD
-	'#',
-#else
-	'\\',
-#endif
-	'[',
-	']',
-	'-',
-	'=',
-	'/',
-	'*',
-	'-',
-	'+',
-	EKeyEnter,
-	EKeyEnd,
-	EKeyDownArrow,
-	EKeyPageDown,
-	EKeyLeftArrow,
-	EKeyNull, // numeric keypad '5'
-	EKeyRightArrow,
-	EKeyHome,
-	EKeyUpArrow,
-	EKeyPageUp,
-	EKeyInsert,
-	EKeyDelete,
-    EKeyMenu,
-    EKeyBacklightOn,
-    EKeyBacklightOff,
-    EKeyBacklightToggle,
-    EKeyIncContrast,
-    EKeyDecContrast,
-    EKeySliderDown,
-    EKeySliderUp,
-    EKeyDictaphonePlay,
-    EKeyDictaphoneStop,
-    EKeyDictaphoneRecord,
-	};
-
-// caps-lock: this table traps those scanCodes which are affected by caps-lock
-LOCAL_D const SScanCodeBlock scanCodeBlock_capsLock[]=
-	{
-	{'A', 'Z'}
-	};
-
-LOCAL_D const TUint16 convKeyCodes_capsLock[]=
-	{
-	'A',
-	'B',
-	'C',
-	'D',
-	'E',
-	'F',
-	'G',
-	'H',
-	'I',
-	'J',
-	'K',
-	'L',
-	'M',
-	'N',
-	'O',
-	'P',
-	'Q',
-	'R',
-	'S',
-	'T',
-	'U',
-	'V',
-	'W',
-	'X',
-	'Y',
-	'Z'
-	};
-
-// shift: this table traps those scanCodes which are affected
-// by shift EXCEPT for those scanCodes affected by caps-lock
-LOCAL_D const SScanCodeBlock scanCodeBlock_shift[]=
-	{
-	{'0', '9'},
-	{EStdKeyXXX, EStdKeyEquals},
-	};
-
-LOCAL_D const TUint16 convKeyCodes_shift[]=
-	{
-	')',
-	'!',
-	'"',
-	ELatin1Pound,
-	'$',
-	'%',
-	'^',
-	'&',
-	'*',
-	'(',
-	ELatin1LogicNot,
-	'<',
-	'>',
-	'?',
-	'|',
-	':',
-	'@',
-	'~',
-	'{',
-	'}',
-	'_',
-	'+'
-	};
-
-// numlock: this table traps those scanCodes which are affected by numlock
-LOCAL_D const SScanCodeBlock scanCodeBlock_numLock[]=
-	{
-	{EStdKeyNkpForwardSlash, EStdKeyNkpFullStop}
-	};
-
-LOCAL_D const TUint16 convKeyCodes_numLock[]=
-	{
-	'/',
-	'*',
-	'-',
-	'+',
-	EKeyEnter,
-	'1',
-	'2',
-	'3',
-	'4',
-	'5',
-	'6',
-	'7',
-	'8',
-	'9',
-	'0',
-	'.'
-	};
-
-// func: this table traps those scanCodes which are affected
-// by func but not shift
-LOCAL_D const SScanCodeBlock scanCodeBlock_func[]=
-	{
-	{'0', '9'},
-	{'K', 'L'},
-	{'U', 'U'},
-	{'I', 'I'},
-	{'O', 'P'},
-	{EStdKeySingleQuote, EStdKeySingleQuote},
-	{EStdKeyLeftArrow, EStdKeyDownArrow},
-	{EStdKeyTab, EStdKeyTab},
-	{EStdKeyEscape, EStdKeyEscape},
-	{'M', 'M'},
-	{EStdKeyComma, EStdKeyFullStop},
-	{EStdKeySpace, EStdKeySpace},
-	{EStdKeyMenu, EStdKeyMenu},
-	};
-
-LOCAL_D const TUint16 convKeyCodes_func[]=
-	{
-	'}',
-	'_',
-	'#',
-	'\\',
-	'@',
-	'<',
-	'>',
-	'[',
-	']',
-	'{',
-	'~',
-	';',
-	'/',
-	'*',
-	'-',
-	'+',
-	':',
-	EKeyHome,
-	EKeyEnd,
-	EKeyPageUp,
-	EKeyPageDown,
-	EKeyCapsLock,
-	EKeyOff,
-	EKeyDecContrast,
-	EKeyHelp,
-	EKeyIncContrast,
-	EKeyBacklightToggle,
-	EKeyDial,
-	};
-
-// func: this table traps those scanCodes which are affected
-// by func and shift - lower case entries
-LOCAL_D const SScanCodeBlock scanCodeBlock_funcUnshifted[]=
-	{
-	{'E', 'E'},
-	};
-
-LOCAL_D const TUint16 convKeyCodes_funcUnshifted[]=
-	{
-	ELatin1LcEacute,
-	};
-
-// func: this table traps those scanCodes which are affected
-// by func and shift - upper case entries
-LOCAL_D const SScanCodeBlock scanCodeBlock_funcShifted[]=
-	{
-	{'E', 'E'},
-	};
-
-LOCAL_D const TUint16 convKeyCodes_funcShifted[]=
-	{
-	ELatin1UcEacute,
-	};
-
-// ctrl: this table traps those scanCodes which are affected by ctrl
-LOCAL_D const SScanCodeBlock scanCodeBlock_ctrl[]=
-	{
-// The space key gets handled else where, otherwise it gets
-// thrown away as a NULL key
-//	{EStdKeySpace, EStdKeySpace},
-
-	{'A', 'Z'}
-	};
-
-LOCAL_D const TUint16 convKeyCodes_ctrl[]=
-	{
-//	0,
-	1,
-	2,
-	3,
-	4,
-	5,
-	6,
-	7,
-	8,
-	9,
-	10,
-	11,
-	12,
-	13,
-	14,
-	15,
-	16,
-	17,
-	18,
-	19,
-	20,
-	21,
-	22,
-	23,
-	24,
-	25,
-	26
-	};
-
-LOCAL_D const SConvSubTable
-	convSubTable_unmodifiable=
-		{
-		&convKeyCodes_unmodifiable[0],
-			{
-			ARRAY_LENGTH(scanCodeBlock_unmodifiable),
-			&scanCodeBlock_unmodifiable[0]
-			}
-		},
-    convSubTable_base=
-		{
-		&convKeyCodes_base[0],
-			{
-			ARRAY_LENGTH(scanCodeBlock_base),
-			&scanCodeBlock_base[0]
-			}
-		},
-	convSubTable_capsLock=
-		{
-		&convKeyCodes_capsLock[0],
-			{
-			ARRAY_LENGTH(scanCodeBlock_capsLock),
-			&scanCodeBlock_capsLock[0]
-			}
-		},
-	convSubTable_shift=
-		{
-		&convKeyCodes_shift[0],
-			{
-			ARRAY_LENGTH(scanCodeBlock_shift),
-			&scanCodeBlock_shift[0]
-			}
-		},
-	convSubTable_numLock=
-		{
-		&convKeyCodes_numLock[0],
-			{
-			ARRAY_LENGTH(scanCodeBlock_numLock),
-			&scanCodeBlock_numLock[0]
-			}
-        },
-	convSubTable_func=
-		{
-		&convKeyCodes_func[0],
-			{
-			ARRAY_LENGTH(scanCodeBlock_func),
-			&scanCodeBlock_func[0]
-			}
-		},
-	convSubTable_funcUnshifted=
-		{
-		&convKeyCodes_funcUnshifted[0],
-			{
-			ARRAY_LENGTH(scanCodeBlock_funcUnshifted),
-			&scanCodeBlock_funcUnshifted[0]
-			}
-		},
-	convSubTable_funcShifted=
-		{
-		&convKeyCodes_funcShifted[0],
-			{
-			ARRAY_LENGTH(scanCodeBlock_funcShifted),
-			&scanCodeBlock_funcShifted[0]
-			}
-		},
-	convSubTable_ctrl=
-		{
-		&convKeyCodes_ctrl[0],
-			{
-			ARRAY_LENGTH(scanCodeBlock_ctrl),
-			&scanCodeBlock_ctrl[0]
-			}
-		};
-
-// Some modifiers, e.g. shift, may required more than one table (other than "base")
-// to be searched; therefore arrays of tables are required
-LOCAL_D const SConvSubTable
-	* const convSubTableArray_unmodifiable[]={&convSubTable_unmodifiable},
-	* const convSubTableArray_base[]={&convSubTable_base},
-	* const convSubTableArray_capsLock[]={&convSubTable_capsLock},
-	* const convSubTableArray_shift[]={&convSubTable_capsLock, &convSubTable_shift},
-	* const convSubTableArray_capsLockShift[]={&convSubTable_shift},
-	* const convSubTableArray_numLock[]={&convSubTable_numLock},
-	* const convSubTableArray_func[]={&convSubTable_func,&convSubTable_funcUnshifted},
-	* const convSubTableArray_funcShift[]={&convSubTable_func,&convSubTable_funcShifted},
-	* const convSubTableArray_ctrl[]={&convSubTable_ctrl};
-
-// The order of these nodes is VITAL, as the scanCode/modifiers are
-// searched for a match in this order
-LOCAL_D const SConvTableNode convTableNodes[]=
-	{
-		{
-			{
-			0,
-			0
-			},
-		ARRAY_LENGTH(convSubTableArray_unmodifiable),
-		&convSubTableArray_unmodifiable[0]
-		},
-		{
-			{
-			EModifierCtrl,
-			EModifierCtrl
-			},
-		ARRAY_LENGTH(convSubTableArray_ctrl),
-		&convSubTableArray_ctrl[0]
-		},
-		{
-			{
-			EModifierNumLock,
-			EModifierNumLock
-			},
-		ARRAY_LENGTH(convSubTableArray_numLock),
-		&convSubTableArray_numLock[0]
-		},
-		{
-			{
-			EModifierFunc|EModifierShift|EModifierCapsLock,
-			EModifierFunc
-			},
-		ARRAY_LENGTH(convSubTableArray_func),
-		&convSubTableArray_func[0]
-		},
-		{
-			{
-			EModifierFunc|EModifierShift|EModifierCapsLock,
-			EModifierFunc|EModifierShift|EModifierCapsLock
-			},
-		ARRAY_LENGTH(convSubTableArray_func),
-		&convSubTableArray_func[0]
-		},
-		{
-			{
-			EModifierFunc|EModifierShift|EModifierCapsLock,
-			EModifierFunc|EModifierShift
-			},
-		ARRAY_LENGTH(convSubTableArray_funcShift),
-		&convSubTableArray_funcShift[0]
-		},
-		{
-			{
-			EModifierFunc|EModifierShift|EModifierCapsLock,
-			EModifierFunc|EModifierCapsLock
-			},
-		ARRAY_LENGTH(convSubTableArray_funcShift),
-		&convSubTableArray_funcShift[0]
-		},
-		{
-			{
-			EModifierCapsLock|EModifierShift,
-			EModifierCapsLock
-			},
-		ARRAY_LENGTH(convSubTableArray_capsLock),
-		&convSubTableArray_capsLock[0]
-		},
-		{
-			{
-			EModifierShift|EModifierCapsLock,
-			EModifierShift
-			},
-		ARRAY_LENGTH(convSubTableArray_shift),
-		&convSubTableArray_shift[0]
-		},
-		{
-			{
-			EModifierCapsLock|EModifierShift,
-			EModifierCapsLock|EModifierShift
-			},
-		ARRAY_LENGTH(convSubTableArray_capsLockShift),
-		&convSubTableArray_capsLockShift[0]
-		},
-		{
-			{
-			0,
-			0
-			},
-		ARRAY_LENGTH(convSubTableArray_base),
-		&convSubTableArray_base[0]
-		}
-	};
-
-// The top-level exported data structure of all the conversion tables
-LOCAL_D const SConvTable ConvTable=
-	{
-	ARRAY_LENGTH(convTableNodes),
-	&convTableNodes[0]
-	};
-
-// The list of scan-codes on the numeric keypad
-LOCAL_D const SScanCodeBlock keypadScanCodeBlockArray[]=
-	{
-	{EStdKeyNumLock, EStdKeyNumLock},
-	{EStdKeyNkpForwardSlash, EStdKeyNkpFullStop}
-	};
-
-LOCAL_D const SScanCodeBlockList ConvTableKeypadScanCodes=
-	{
-	ARRAY_LENGTH(keypadScanCodeBlockArray),
-	&keypadScanCodeBlockArray[0]
-	};
-
-// The list of non-autorepeating key-codes
-LOCAL_D const TUint16 nonAutorepKeyCodeArray[]=
-	{
-	EKeyEscape,
-	EKeyPrintScreen,
-	EKeyPause,
-	EKeyInsert,
-	EKeyLeftShift,
-	EKeyRightShift,
-	EKeyLeftAlt,
-	EKeyRightAlt,
-	EKeyLeftCtrl,
-	EKeyRightCtrl,
-	EKeyLeftFunc,
-	EKeyRightFunc,
-	EKeyCapsLock,
-	EKeyNumLock,
-	EKeyScrollLock,
-    EKeyMenu,
-    EKeyDictaphonePlay,
-    EKeyDictaphoneStop,
-    EKeyDictaphoneRecord
-	};
-
-LOCAL_D const SKeyCodeList ConvTableNonAutorepKeyCodes=
-	{
-	ARRAY_LENGTH(nonAutorepKeyCodeArray),
-	&nonAutorepKeyCodeArray[0]
-	};
-
-EXPORT_C void KeyDataSettings(TRadix &aRadix,TCtrlDigitsTermination &aCtrlDigitsTermination,TInt &aDefaultCtrlDigitsMaxCount,
-							  TInt &aMaximumCtrlDigitsMaxCount)
-	{
-	aRadix=EDecimal;
-	aCtrlDigitsTermination=ETerminationByCtrlUp;
-	aDefaultCtrlDigitsMaxCount=3;
-	aMaximumCtrlDigitsMaxCount=10;
-	}
-
-EXPORT_C void KeyDataFuncTable(SFuncTables &aFuncTables)
-	{
-	aFuncTables=FuncTables;
-	}
-
-EXPORT_C void KeyDataConvTable(SConvTable &aConvTable, TUint &aConvTableFirstScanCode,TUint &aConvTableLastScanCode,
-							 SScanCodeBlockList &aKeypadScanCode,SKeyCodeList &aNonAutorepKeyCodes)
-	{
-	aConvTable=ConvTable;
-	aConvTableFirstScanCode=scanCodeBlock_base[0].firstScanCode;
-	aConvTableLastScanCode=scanCodeBlock_base[ARRAY_LENGTH(scanCodeBlock_base)-1].lastScanCode;
-	aKeypadScanCode=ConvTableKeypadScanCodes;
-	aNonAutorepKeyCodes=ConvTableNonAutorepKeyCodes;
-	}
-