textinput/ptienginev2/languages/PtiKeymappings_ITUT_01.cpp
changeset 0 eb1f2e154e89
child 5 a47de9135b21
equal deleted inserted replaced
-1:000000000000 0:eb1f2e154e89
       
     1 /*
       
     2 * Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0""
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description: Keymapping data implementation for 
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 
       
    20 
       
    21 
       
    22 
       
    23 
       
    24 
       
    25 
       
    26 
       
    27 
       
    28 
       
    29 #include <PtiKeyMapData.h>
       
    30 
       
    31 #include <languages.hrh>
       
    32 
       
    33 #include "PtiKeymappings_ITUT_01.h"
       
    34 
       
    35 //
       
    36 // Multitap keymap data table
       
    37 //
       
    38 const TUint16 MultitapData_table_English[] =
       
    39     {
       
    40      0x2e,0x2c,0x3f,0x21,0x31,0x40,0x27,0x2d,0x5f,0x28,0x29,0x3a,0x3b,0x26,0x2f,0x25,0x2a,0x23,0x2b,0x3c,0x3d,0x3e,0x22,0x24,0xa3,0xa7,0xa5,0xa4,0xa1,0xbf,
       
    41      0x61,0x62,0x63,0x32,0xe4,0xe6,0xe5,0xe0,0xe1,0xe2,0xe3,0xe7,
       
    42      0x64,0x65,0x66,0x33,0xe8,0xe9,0xea,0xeb,0xf0,
       
    43      0x67,0x68,0x69,0x34,0xec,0xed,0xee,0xef,
       
    44      0x6a,0x6b,0x6c,0x35,0xa3,
       
    45      0x6d,0x6e,0x6f,0x36,0xf6,0xf8,0xf2,0xf3,0xf4,0xf5,0xf1,
       
    46      0x70,0x71,0x72,0x73,0x37,0xdf,0x24,
       
    47      0x74,0x75,0x76,0x38,0xf9,0xfa,0xfb,0xfc,
       
    48      0x77,0x78,0x79,0x7a,0x39,0xfd,0xfe,
       
    49      0x20,0x30,0x21b2,
       
    50      0x2e,0x2c,0x3f,0x21,0x31,0x40,0x27,0x2d,0x5f,0x28,0x29,0x3a,0x3b,0x26,0x2f,0x25,0x2a,0x23,0x2b,0x3c,0x3d,0x3e,0x22,0x24,0xa3,0xa7,0xa5,0xa4,0xa1,0xbf,
       
    51      0x41,0x42,0x43,0x32,0xc4,0xc6,0xc5,0xc0,0xc1,0xc2,0xc3,0xc7,
       
    52      0x44,0x45,0x46,0x33,0xc8,0xc9,0xca,0xcb,0xd0,
       
    53      0x47,0x48,0x49,0x34,0xcc,0xcd,0xce,0xcf,
       
    54      0x4a,0x4b,0x4c,0x35,0xa3,
       
    55      0x4d,0x4e,0x4f,0x36,0xd6,0xd8,0xd2,0xd3,0xd4,0xd5,0xd1,
       
    56      0x50,0x51,0x52,0x53,0x37,0x24,
       
    57      0x54,0x55,0x56,0x38,0xd9,0xda,0xdb,0xdc,
       
    58      0x57,0x58,0x59,0x5a,0x39,0xdd,0xde,
       
    59      0x20,0x30,0x21b2,
       
    60     };
       
    61 
       
    62 const TInt KMultitapDataSize_English = 199;
       
    63 
       
    64 
       
    65 const TPtiKeyBinding MultitapKeyBindings_table_English[] =
       
    66     {
       
    67         {EPtiKey1, EPtiCaseLower, 0, 30},
       
    68         {EPtiKey2, EPtiCaseLower, 30, 12},
       
    69         {EPtiKey3, EPtiCaseLower, 42, 9},
       
    70         {EPtiKey4, EPtiCaseLower, 51, 8},
       
    71         {EPtiKey5, EPtiCaseLower, 59, 5},
       
    72         {EPtiKey6, EPtiCaseLower, 64, 11},
       
    73         {EPtiKey7, EPtiCaseLower, 75, 7},
       
    74         {EPtiKey8, EPtiCaseLower, 82, 8},
       
    75         {EPtiKey9, EPtiCaseLower, 90, 7},
       
    76         {EPtiKeyStar, EPtiCaseLower, 97, 0},
       
    77         {EPtiKey0, EPtiCaseLower, 97, 3},
       
    78         {EPtiKeyHash, EPtiCaseLower, 100, 0},
       
    79         {EPtiKey1, EPtiCaseUpper, 100, 30},
       
    80         {EPtiKey2, EPtiCaseUpper, 130, 12},
       
    81         {EPtiKey3, EPtiCaseUpper, 142, 9},
       
    82         {EPtiKey4, EPtiCaseUpper, 151, 8},
       
    83         {EPtiKey5, EPtiCaseUpper, 159, 5},
       
    84         {EPtiKey6, EPtiCaseUpper, 164, 11},
       
    85         {EPtiKey7, EPtiCaseUpper, 175, 6},
       
    86         {EPtiKey8, EPtiCaseUpper, 181, 8},
       
    87         {EPtiKey9, EPtiCaseUpper, 189, 7},
       
    88         {EPtiKeyStar, EPtiCaseUpper, 196, 0},
       
    89         {EPtiKey0, EPtiCaseUpper, 196, 3},
       
    90         {EPtiKeyHash, EPtiCaseUpper, 199, 0},
       
    91     };
       
    92 
       
    93 const TInt KMaxMultitapIndex_English = 24;
       
    94 
       
    95 //
       
    96 // StandardQwerty keymap data table
       
    97 //
       
    98 const TUint16 StandardQwertyData_table_English[] =
       
    99     {
       
   100      0x31,
       
   101      0x32,
       
   102      0x33,
       
   103      0x34,
       
   104      0x35,
       
   105      0x36,
       
   106      0x37,
       
   107      0x38,
       
   108      0x39,
       
   109      0x30,
       
   110      0x2b,
       
   111      0x71,
       
   112      0x77,
       
   113      0x65,0xe8,0xe9,0xea,0xeb,
       
   114      0x72,
       
   115      0x74,0xfe,
       
   116      0x79,0xfd,
       
   117      0x75,0xf9,0xfa,0xfb,0xfc,
       
   118      0x69,0xec,0xed,0xee,0xef,
       
   119      0x6f,0xf6,0xf8,0xf2,0xf3,0xf4,0xf5,
       
   120      0x70,
       
   121      0x2d,
       
   122      0x23,
       
   123      0x61,0xe4,0xe6,0xe5,0xe0,0xe1,0xe2,0xe3,
       
   124      0x73,0xdf,
       
   125      0x64,0xf0,
       
   126      0x66,
       
   127      0x67,
       
   128      0x68,
       
   129      0x6a,
       
   130      0x6b,
       
   131      0x6c,
       
   132      0x3b,
       
   133      0x27,
       
   134      0x7a,
       
   135      0x78,
       
   136      0x63,0xe7,
       
   137      0x76,
       
   138      0x62,
       
   139      0x6e,0xf1,
       
   140      0x6d,
       
   141      0x2c,
       
   142      0x2e,
       
   143      0x2f,
       
   144      0x21,
       
   145      0x22,
       
   146      0xa3,
       
   147      0x24,
       
   148      0x20ac,
       
   149      0x25,
       
   150      0x26,
       
   151      0x2a,
       
   152      0x28,
       
   153      0x29,
       
   154      0x3d,
       
   155      0x51,
       
   156      0x57,
       
   157      0x45,0xc8,0xc9,0xca,0xcb,
       
   158      0x52,
       
   159      0x54,0xde,
       
   160      0x59,0xdd,
       
   161      0x55,0xd9,0xda,0xdb,0xdc,
       
   162      0x49,0xcc,0xcd,0xce,0xcf,
       
   163      0x4f,0xd6,0xd8,0xd2,0xd3,0xd4,0xd5,
       
   164      0x50,
       
   165      0x5f,
       
   166      0x7e,
       
   167      0x41,0xc4,0xc6,0xc5,0xc0,0xc1,0xc2,0xc3,
       
   168      0x53,
       
   169      0x44,0xd0,
       
   170      0x46,
       
   171      0x47,
       
   172      0x48,
       
   173      0x4a,
       
   174      0x4b,
       
   175      0x4c,
       
   176      0x3a,
       
   177      0x40,
       
   178      0x5a,
       
   179      0x58,
       
   180      0x43,0xc7,
       
   181      0x56,
       
   182      0x42,
       
   183      0x4e,0xd1,
       
   184      0x4d,
       
   185      0x3c,
       
   186      0x3e,
       
   187      0x3f,
       
   188     };
       
   189 
       
   190 const TInt KStandardQwertyDataSize_English = 149;
       
   191 
       
   192 
       
   193 const TPtiKeyBinding StandardQwertyKeyBindings_table_English[] =
       
   194     {
       
   195         {EPtiKeyQwerty1, EPtiCaseLower, 0, 1},
       
   196         {EPtiKeyQwerty2, EPtiCaseLower, 1, 1},
       
   197         {EPtiKeyQwerty3, EPtiCaseLower, 2, 1},
       
   198         {EPtiKeyQwerty4, EPtiCaseLower, 3, 1},
       
   199         {EPtiKeyQwerty5, EPtiCaseLower, 4, 1},
       
   200         {EPtiKeyQwerty6, EPtiCaseLower, 5, 1},
       
   201         {EPtiKeyQwerty7, EPtiCaseLower, 6, 1},
       
   202         {EPtiKeyQwerty8, EPtiCaseLower, 7, 1},
       
   203         {EPtiKeyQwerty9, EPtiCaseLower, 8, 1},
       
   204         {EPtiKeyQwerty0, EPtiCaseLower, 9, 1},
       
   205         {EPtiKeyQwertyPlus, EPtiCaseLower, 10, 1},
       
   206         {EPtiKeyQwertyQ, EPtiCaseLower, 11, 1},
       
   207         {EPtiKeyQwertyW, EPtiCaseLower, 12, 1},
       
   208         {EPtiKeyQwertyE, EPtiCaseLower, 13, 5},
       
   209         {EPtiKeyQwertyR, EPtiCaseLower, 18, 1},
       
   210         {EPtiKeyQwertyT, EPtiCaseLower, 19, 2},
       
   211         {EPtiKeyQwertyY, EPtiCaseLower, 21, 2},
       
   212         {EPtiKeyQwertyU, EPtiCaseLower, 23, 5},
       
   213         {EPtiKeyQwertyI, EPtiCaseLower, 28, 5},
       
   214         {EPtiKeyQwertyO, EPtiCaseLower, 33, 7},
       
   215         {EPtiKeyQwertyP, EPtiCaseLower, 40, 1},
       
   216         {EPtiKeyQwertyMinus, EPtiCaseLower, 41, 1},
       
   217         {EPtiKeyQwertyHash, EPtiCaseLower, 42, 1},
       
   218         {EPtiKeyQwertyA, EPtiCaseLower, 43, 8},
       
   219         {EPtiKeyQwertyS, EPtiCaseLower, 51, 2},
       
   220         {EPtiKeyQwertyD, EPtiCaseLower, 53, 2},
       
   221         {EPtiKeyQwertyF, EPtiCaseLower, 55, 1},
       
   222         {EPtiKeyQwertyG, EPtiCaseLower, 56, 1},
       
   223         {EPtiKeyQwertyH, EPtiCaseLower, 57, 1},
       
   224         {EPtiKeyQwertyJ, EPtiCaseLower, 58, 1},
       
   225         {EPtiKeyQwertyK, EPtiCaseLower, 59, 1},
       
   226         {EPtiKeyQwertyL, EPtiCaseLower, 60, 1},
       
   227         {EPtiKeyQwertySemicolon, EPtiCaseLower, 61, 1},
       
   228         {EPtiKeyQwertyApostrophe, EPtiCaseLower, 62, 1},
       
   229         {EPtiKeyQwertyZ, EPtiCaseLower, 63, 1},
       
   230         {EPtiKeyQwertyX, EPtiCaseLower, 64, 1},
       
   231         {EPtiKeyQwertyC, EPtiCaseLower, 65, 2},
       
   232         {EPtiKeyQwertyV, EPtiCaseLower, 67, 1},
       
   233         {EPtiKeyQwertyB, EPtiCaseLower, 68, 1},
       
   234         {EPtiKeyQwertyN, EPtiCaseLower, 69, 2},
       
   235         {EPtiKeyQwertyM, EPtiCaseLower, 71, 1},
       
   236         {EPtiKeyQwertyComma, EPtiCaseLower, 72, 1},
       
   237         {EPtiKeyQwertyFullstop, EPtiCaseLower, 73, 1},
       
   238         {EPtiKeyQwertySlash, EPtiCaseLower, 74, 1},
       
   239         {EPtiKeyQwerty1, EPtiCaseUpper, 75, 1},
       
   240         {EPtiKeyQwerty2, EPtiCaseUpper, 76, 1},
       
   241         {EPtiKeyQwerty3, EPtiCaseUpper, 77, 1},
       
   242         {EPtiKeyQwerty4, EPtiCaseUpper, 78, 1},
       
   243         {EPtiKeyQwerty5, EPtiCaseUpper, 79, 1},
       
   244         {EPtiKeyQwerty6, EPtiCaseUpper, 80, 1},
       
   245         {EPtiKeyQwerty7, EPtiCaseUpper, 81, 1},
       
   246         {EPtiKeyQwerty8, EPtiCaseUpper, 82, 1},
       
   247         {EPtiKeyQwerty9, EPtiCaseUpper, 83, 1},
       
   248         {EPtiKeyQwerty0, EPtiCaseUpper, 84, 1},
       
   249         {EPtiKeyQwertyPlus, EPtiCaseUpper, 85, 1},
       
   250         {EPtiKeyQwertyQ, EPtiCaseUpper, 86, 1},
       
   251         {EPtiKeyQwertyW, EPtiCaseUpper, 87, 1},
       
   252         {EPtiKeyQwertyE, EPtiCaseUpper, 88, 5},
       
   253         {EPtiKeyQwertyR, EPtiCaseUpper, 93, 1},
       
   254         {EPtiKeyQwertyT, EPtiCaseUpper, 94, 2},
       
   255         {EPtiKeyQwertyY, EPtiCaseUpper, 96, 2},
       
   256         {EPtiKeyQwertyU, EPtiCaseUpper, 98, 5},
       
   257         {EPtiKeyQwertyI, EPtiCaseUpper, 103, 5},
       
   258         {EPtiKeyQwertyO, EPtiCaseUpper, 108, 7},
       
   259         {EPtiKeyQwertyP, EPtiCaseUpper, 115, 1},
       
   260         {EPtiKeyQwertyMinus, EPtiCaseUpper, 116, 1},
       
   261         {EPtiKeyQwertyHash, EPtiCaseUpper, 117, 1},
       
   262         {EPtiKeyQwertyA, EPtiCaseUpper, 118, 8},
       
   263         {EPtiKeyQwertyS, EPtiCaseUpper, 126, 1},
       
   264         {EPtiKeyQwertyD, EPtiCaseUpper, 127, 2},
       
   265         {EPtiKeyQwertyF, EPtiCaseUpper, 129, 1},
       
   266         {EPtiKeyQwertyG, EPtiCaseUpper, 130, 1},
       
   267         {EPtiKeyQwertyH, EPtiCaseUpper, 131, 1},
       
   268         {EPtiKeyQwertyJ, EPtiCaseUpper, 132, 1},
       
   269         {EPtiKeyQwertyK, EPtiCaseUpper, 133, 1},
       
   270         {EPtiKeyQwertyL, EPtiCaseUpper, 134, 1},
       
   271         {EPtiKeyQwertySemicolon, EPtiCaseUpper, 135, 1},
       
   272         {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 136, 1},
       
   273         {EPtiKeyQwertyZ, EPtiCaseUpper, 137, 1},
       
   274         {EPtiKeyQwertyX, EPtiCaseUpper, 138, 1},
       
   275         {EPtiKeyQwertyC, EPtiCaseUpper, 139, 2},
       
   276         {EPtiKeyQwertyV, EPtiCaseUpper, 141, 1},
       
   277         {EPtiKeyQwertyB, EPtiCaseUpper, 142, 1},
       
   278         {EPtiKeyQwertyN, EPtiCaseUpper, 143, 2},
       
   279         {EPtiKeyQwertyM, EPtiCaseUpper, 145, 1},
       
   280         {EPtiKeyQwertyComma, EPtiCaseUpper, 146, 1},
       
   281         {EPtiKeyQwertyFullstop, EPtiCaseUpper, 147, 1},
       
   282         {EPtiKeyQwertySlash, EPtiCaseUpper, 148, 1},
       
   283     };
       
   284 
       
   285 const TInt KMaxStandardQwertyIndex_English = 88;
       
   286 
       
   287 //
       
   288 // MiniQwerty keymap data table
       
   289 //
       
   290 const TUint16 MiniQwertyData_table_English[] =
       
   291     {
       
   292      0x0071,
       
   293      0x0077,
       
   294      0x0065,0x00E8,0x00E9,0x00EA,0x00EB,
       
   295      0x0072,
       
   296      0x0074,0x00FE,
       
   297      0x0079,0x00FD,
       
   298      0x0075,0x00F9,0x00FA,0x00FB,0x00FC,
       
   299      0x0069,0x00EC,0x00ED,0x00EE,0x00EF,
       
   300      0x006F,0x00F4,0x00F6,0x00F2,0x00F3,0x00F8,
       
   301      0x0070,
       
   302      0x0061,0x00E2,0x00E4,0x00E0,0x00E1,0x00E3,0x00E6,
       
   303      0x0073,0x00DF,
       
   304      0x0064,0x00F0,
       
   305      0x0066,
       
   306      0x0067,0x011F,
       
   307      0x0068,
       
   308      0x006A,
       
   309      0x006B,
       
   310      0x006C,
       
   311      0x007A,
       
   312      0x0078,
       
   313      0x0063,0x00E7,
       
   314      0x0076,
       
   315      0x0062,
       
   316      0x006E,0x00F1,
       
   317      0x006D,
       
   318      0x002C,
       
   319      0x002E,
       
   320      0x0040,
       
   321      0x0026,
       
   322      0x0027,
       
   323      0x003F,
       
   324      0x0051,
       
   325      0x0057,
       
   326      0x0045,0x00C8,0x00C9,0x00CA,0x00CB,
       
   327      0x0052,
       
   328      0x0054,0x00DE,
       
   329      0x0059,0x00DD,
       
   330      0x0055,0x00D9,0x00DA,0x00DB,0x00DC,
       
   331      0x0049,0x00CC,0x00CD,0x00CE,0x00CF,
       
   332      0x004F,0x00D4,0x00D6,0x00D2,0x00D3,0x00D8,
       
   333      0x0050,
       
   334      0x0041,0x00C2,0x00C4,0x00C0,0x00C1,0x00C3,0x00C6,
       
   335      0x0053,
       
   336      0x0044,0x00D0,
       
   337      0x0046,
       
   338      0x0047,0x011E,
       
   339      0x0048,
       
   340      0x004A,
       
   341      0x004B,
       
   342      0x004C,
       
   343      0x005A,
       
   344      0x0058,
       
   345      0x0043,0x00C7,
       
   346      0x0056,
       
   347      0x0042,
       
   348      0x004E,0x00D1,
       
   349      0x004D,
       
   350      0x003B,
       
   351      0x003A,
       
   352      0x0021,
       
   353      0x0022,
       
   354      0x0031,
       
   355      0x0031,
       
   356      0x0032,
       
   357      0x0032,
       
   358      0x0033,
       
   359      0x0033,
       
   360      0x002B,
       
   361      0x002F,
       
   362      0x0025,
       
   363      0x0034,
       
   364      0x0034,
       
   365      0x0035,
       
   366      0x0035,
       
   367      0x0036,
       
   368      0x0036,
       
   369      0x002D,
       
   370      0x0028,
       
   371      0x0029,
       
   372      0x0037,
       
   373      0x0037,
       
   374      0x0038,
       
   375      0x0038,
       
   376      0x0039,
       
   377      0x0039,
       
   378      0x003D,
       
   379      0x002A,
       
   380      0x002A,
       
   381      0x0030,
       
   382      0x0030,
       
   383      0x0023,
       
   384      0x0023,
       
   385     };
       
   386 
       
   387 const TInt KMiniQwertyDataSize_English = 152;
       
   388 
       
   389 
       
   390 const TPtiKeyBinding MiniQwertyKeyBindings_table_English[] =
       
   391     {
       
   392         {EPtiKeyQwerty1, EPtiCaseLower, 0, 1},
       
   393         {EPtiKeyQwerty2, EPtiCaseLower, 1, 1},
       
   394         {EPtiKeyQwerty3, EPtiCaseLower, 2, 5},
       
   395         {EPtiKeyQwerty4, EPtiCaseLower, 7, 1},
       
   396         {EPtiKeyQwerty5, EPtiCaseLower, 8, 2},
       
   397         {EPtiKeyQwerty6, EPtiCaseLower, 10, 2},
       
   398         {EPtiKeyQwerty7, EPtiCaseLower, 12, 5},
       
   399         {EPtiKeyQwerty8, EPtiCaseLower, 17, 5},
       
   400         {EPtiKeyQwerty9, EPtiCaseLower, 22, 6},
       
   401         {EPtiKeyQwerty0, EPtiCaseLower, 28, 1},
       
   402         {EPtiKeyQwertyA, EPtiCaseLower, 29, 7},
       
   403         {EPtiKeyQwertyS, EPtiCaseLower, 36, 2},
       
   404         {EPtiKeyQwertyD, EPtiCaseLower, 38, 2},
       
   405         {EPtiKeyQwertyF, EPtiCaseLower, 40, 1},
       
   406         {EPtiKeyQwertyG, EPtiCaseLower, 41, 2},
       
   407         {EPtiKeyQwertyH, EPtiCaseLower, 43, 1},
       
   408         {EPtiKeyQwertyJ, EPtiCaseLower, 44, 1},
       
   409         {EPtiKeyQwertyK, EPtiCaseLower, 45, 1},
       
   410         {EPtiKeyQwertyL, EPtiCaseLower, 46, 1},
       
   411         {EPtiKeyQwertyZ, EPtiCaseLower, 47, 1},
       
   412         {EPtiKeyQwertyX, EPtiCaseLower, 48, 1},
       
   413         {EPtiKeyQwertyC, EPtiCaseLower, 49, 2},
       
   414         {EPtiKeyQwertyV, EPtiCaseLower, 51, 1},
       
   415         {EPtiKeyQwertyB, EPtiCaseLower, 52, 1},
       
   416         {EPtiKeyQwertyN, EPtiCaseLower, 53, 2},
       
   417         {EPtiKeyQwertyM, EPtiCaseLower, 55, 1},
       
   418         {EPtiKeyQwertyComma, EPtiCaseLower, 56, 1},
       
   419         {EPtiKeyQwertyFullstop, EPtiCaseLower, 57, 1},
       
   420         {EPtiKeyQwerty1, EPtiCaseUpper, 62, 1},
       
   421         {EPtiKeyQwerty2, EPtiCaseUpper, 63, 1},
       
   422         {EPtiKeyQwerty3, EPtiCaseUpper, 64, 5},
       
   423         {EPtiKeyQwerty4, EPtiCaseUpper, 69, 1},
       
   424         {EPtiKeyQwerty5, EPtiCaseUpper, 70, 2},
       
   425         {EPtiKeyQwerty6, EPtiCaseUpper, 72, 2},
       
   426         {EPtiKeyQwerty7, EPtiCaseUpper, 74, 5},
       
   427         {EPtiKeyQwerty8, EPtiCaseUpper, 79, 5},
       
   428         {EPtiKeyQwerty9, EPtiCaseUpper, 84, 6},
       
   429         {EPtiKeyQwerty0, EPtiCaseUpper, 90, 1},
       
   430         {EPtiKeyQwertyA, EPtiCaseUpper, 91, 7},
       
   431         {EPtiKeyQwertyS, EPtiCaseUpper, 98, 1},
       
   432         {EPtiKeyQwertyD, EPtiCaseUpper, 99, 2},
       
   433         {EPtiKeyQwertyF, EPtiCaseUpper, 101, 1},
       
   434         {EPtiKeyQwertyG, EPtiCaseUpper, 102, 2},
       
   435         {EPtiKeyQwertyH, EPtiCaseUpper, 104, 1},
       
   436         {EPtiKeyQwertyJ, EPtiCaseUpper, 105, 1},
       
   437         {EPtiKeyQwertyK, EPtiCaseUpper, 106, 1},
       
   438         {EPtiKeyQwertyL, EPtiCaseUpper, 107, 1},
       
   439         {EPtiKeyQwertyZ, EPtiCaseUpper, 108, 1},
       
   440         {EPtiKeyQwertyX, EPtiCaseUpper, 109, 1},
       
   441         {EPtiKeyQwertyC, EPtiCaseUpper, 110, 2},
       
   442         {EPtiKeyQwertyV, EPtiCaseUpper, 112, 1},
       
   443         {EPtiKeyQwertyB, EPtiCaseUpper, 113, 1},
       
   444         {EPtiKeyQwertyN, EPtiCaseUpper, 114, 2},
       
   445         {EPtiKeyQwertyM, EPtiCaseUpper, 116, 1},
       
   446         {EPtiKeyQwertyComma, EPtiCaseUpper, 117, 1},
       
   447         {EPtiKeyQwertyFullstop, EPtiCaseUpper, 118, 1},
       
   448         {EPtiKeyQwerty1, EPtiCaseFnLower, 119, 1},
       
   449         {EPtiKeyQwerty2, EPtiCaseFnLower, 120, 1},
       
   450         {EPtiKeyQwerty3, EPtiCaseFnLower, 121, 1},
       
   451         {EPtiKeyQwerty4, EPtiCaseFnLower, 122, 1},
       
   452         {EPtiKeyQwerty5, EPtiCaseFnLower, 123, 1},
       
   453         {EPtiKeyQwerty6, EPtiCaseFnLower, 124, 1},
       
   454         {EPtiKeyQwerty7, EPtiCaseFnLower, 125, 1},
       
   455         {EPtiKeyQwerty8, EPtiCaseFnLower, 126, 1},
       
   456         {EPtiKeyQwerty9, EPtiCaseFnLower, 127, 1},
       
   457         {EPtiKeyQwertyA, EPtiCaseFnLower, 128, 1},
       
   458         {EPtiKeyQwertyS, EPtiCaseFnLower, 129, 1},
       
   459         {EPtiKeyQwertyD, EPtiCaseFnLower, 130, 1},
       
   460         {EPtiKeyQwertyF, EPtiCaseFnLower, 131, 1},
       
   461         {EPtiKeyQwertyG, EPtiCaseFnLower, 132, 1},
       
   462         {EPtiKeyQwertyH, EPtiCaseFnLower, 133, 1},
       
   463         {EPtiKeyQwertyJ, EPtiCaseFnLower, 134, 1},
       
   464         {EPtiKeyQwertyK, EPtiCaseFnLower, 135, 1},
       
   465         {EPtiKeyQwertyL, EPtiCaseFnLower, 136, 1},
       
   466         {EPtiKeyQwertyZ, EPtiCaseFnLower, 137, 1},
       
   467         {EPtiKeyQwertyX, EPtiCaseFnLower, 138, 1},
       
   468         {EPtiKeyQwertyC, EPtiCaseFnLower, 139, 1},
       
   469         {EPtiKeyQwertyV, EPtiCaseFnLower, 140, 1},
       
   470         {EPtiKeyQwertyB, EPtiCaseFnLower, 141, 1},
       
   471         {EPtiKeyQwertyN, EPtiCaseFnLower, 142, 1},
       
   472         {EPtiKeyQwertyM, EPtiCaseFnLower, 143, 1},
       
   473         {EPtiKeyQwertyComma, EPtiCaseFnLower, 144, 1},
       
   474         {EPtiKeyQwertyFullstop, EPtiCaseFnLower, 145, 1},
       
   475     };
       
   476 
       
   477 const TInt KMaxMiniQwertyIndex_English = 83;
       
   478 
       
   479 //
       
   480 // MiniQwerty3x11 keymap data table
       
   481 //
       
   482 const TUint16 MiniQwerty3x11Data_table_English[] =
       
   483     {
       
   484      0x0071,
       
   485      0x0077,
       
   486      0x0065,0x00E8,0x00E9,0x00EA,0x00EB,
       
   487      0x0072,
       
   488      0x0074,0x00FE,
       
   489      0x0079,0x00FD,
       
   490      0x0075,0x00FB,0x00F9,0x00FA,0x00FC,
       
   491      0x0069,0x00EE,0x00EF,0x00EC,0x00ED,
       
   492      0x006F,0x00F6,0x00F4,0x00F2,0x00F3,
       
   493      0x0070,
       
   494      0x0061,0x00E4,0x00E0,0x00E2,0x00E1,0x00E3,0x00E5,
       
   495      0x0073,0x00DF,
       
   496      0x0064,0x00F0,
       
   497      0x0066,
       
   498      0x0067,0x011F,
       
   499      0x0068,
       
   500      0x006A,
       
   501      0x006B,
       
   502      0x006C,
       
   503      0x002E,
       
   504      0x007A,
       
   505      0x0078,
       
   506      0x0063,0x00E7,
       
   507      0x0076,
       
   508      0x0062,
       
   509      0x006E,0x00F1,
       
   510      0x006D,
       
   511      0x0051,
       
   512      0x0057,
       
   513      0x0045,0x00C8,0x00C9,0x00CA,0x00CB,
       
   514      0x0052,
       
   515      0x0054,0x00DE,
       
   516      0x0059,0x00DD,
       
   517      0x0055,0x00DB,0x00D9,0x00DA,0x00DC,
       
   518      0x0049,0x00CE,0x00CF,0x00CC,0x00CD,
       
   519      0x004F,0x00D6,0x00D4,0x00D2,0x00D3,
       
   520      0x0050,
       
   521      0x0041,0x00C4,0x00C0,0x00C2,0x00C1,0x00C3,0x00C5,
       
   522      0x0053,
       
   523      0x0044,0x00D0,
       
   524      0x0046,
       
   525      0x0047,0x011E,
       
   526      0x0048,
       
   527      0x004A,
       
   528      0x004B,
       
   529      0x004C,
       
   530      0x002C,
       
   531      0x005A,
       
   532      0x0058,
       
   533      0x0043,0x00C7,
       
   534      0x0056,
       
   535      0x0042,
       
   536      0x004E,0x00D1,
       
   537      0x004D,
       
   538      0x0031,
       
   539      0x0032,
       
   540      0x0033,
       
   541      0x0034,
       
   542      0x0035,
       
   543      0x0036,
       
   544      0x0037,
       
   545      0x0038,
       
   546      0x0039,
       
   547      0x0030,
       
   548      0x0040,
       
   549      0x002F,
       
   550      0x002D,
       
   551      0x002B,
       
   552      0x003D,
       
   553      0x0023,
       
   554      0x002A,
       
   555      0x003B,
       
   556      0x003A,
       
   557      0x0027,
       
   558      0x0028,
       
   559      0x0029,
       
   560      0x0025,
       
   561      0x0026,
       
   562      0x0022,
       
   563      0x003F,
       
   564      0x0021,
       
   565     };
       
   566 
       
   567 const TInt KMiniQwerty3x11DataSize_English = 138;
       
   568 
       
   569 
       
   570 const TPtiKeyBinding MiniQwerty3x11KeyBindings_table_English[] =
       
   571     {
       
   572         {EPtiKeyQwertyQ, EPtiCaseLower, 0, 1},
       
   573         {EPtiKeyQwertyW, EPtiCaseLower, 1, 1},
       
   574         {EPtiKeyQwertyE, EPtiCaseLower, 2, 5},
       
   575         {EPtiKeyQwertyR, EPtiCaseLower, 7, 1},
       
   576         {EPtiKeyQwertyT, EPtiCaseLower, 8, 2},
       
   577         {EPtiKeyQwertyY, EPtiCaseLower, 10, 2},
       
   578         {EPtiKeyQwertyU, EPtiCaseLower, 12, 5},
       
   579         {EPtiKeyQwertyI, EPtiCaseLower, 17, 5},
       
   580         {EPtiKeyQwertyO, EPtiCaseLower, 22, 5},
       
   581         {EPtiKeyQwertyP, EPtiCaseLower, 27, 1},
       
   582         {EPtiKeyQwertyA, EPtiCaseLower, 28, 7},
       
   583         {EPtiKeyQwertyS, EPtiCaseLower, 35, 2},
       
   584         {EPtiKeyQwertyD, EPtiCaseLower, 37, 2},
       
   585         {EPtiKeyQwertyF, EPtiCaseLower, 39, 1},
       
   586         {EPtiKeyQwertyG, EPtiCaseLower, 40, 2},
       
   587         {EPtiKeyQwertyH, EPtiCaseLower, 42, 1},
       
   588         {EPtiKeyQwertyJ, EPtiCaseLower, 43, 1},
       
   589         {EPtiKeyQwertyK, EPtiCaseLower, 44, 1},
       
   590         {EPtiKeyQwertyL, EPtiCaseLower, 45, 1},
       
   591         {EPtiKeyQwertyComma, EPtiCaseLower, 46, 1},
       
   592         {EPtiKeyQwertyZ, EPtiCaseLower, 47, 1},
       
   593         {EPtiKeyQwertyX, EPtiCaseLower, 48, 1},
       
   594         {EPtiKeyQwertyC, EPtiCaseLower, 49, 2},
       
   595         {EPtiKeyQwertyV, EPtiCaseLower, 51, 1},
       
   596         {EPtiKeyQwertyB, EPtiCaseLower, 52, 1},
       
   597         {EPtiKeyQwertyN, EPtiCaseLower, 53, 2},
       
   598         {EPtiKeyQwertyM, EPtiCaseLower, 55, 1},
       
   599         {EStdKeySpace, EPtiCaseLower, 56, 0},
       
   600         {EPtiKeyQwertyQ, EPtiCaseUpper, 56, 1},
       
   601         {EPtiKeyQwertyW, EPtiCaseUpper, 57, 1},
       
   602         {EPtiKeyQwertyE, EPtiCaseUpper, 58, 5},
       
   603         {EPtiKeyQwertyR, EPtiCaseUpper, 63, 1},
       
   604         {EPtiKeyQwertyT, EPtiCaseUpper, 64, 2},
       
   605         {EPtiKeyQwertyY, EPtiCaseUpper, 66, 2},
       
   606         {EPtiKeyQwertyU, EPtiCaseUpper, 68, 5},
       
   607         {EPtiKeyQwertyI, EPtiCaseUpper, 73, 5},
       
   608         {EPtiKeyQwertyO, EPtiCaseUpper, 78, 5},
       
   609         {EPtiKeyQwertyP, EPtiCaseUpper, 83, 1},
       
   610         {EPtiKeyQwertyA, EPtiCaseUpper, 84, 7},
       
   611         {EPtiKeyQwertyS, EPtiCaseUpper, 91, 1},
       
   612         {EPtiKeyQwertyD, EPtiCaseUpper, 92, 2},
       
   613         {EPtiKeyQwertyF, EPtiCaseUpper, 94, 1},
       
   614         {EPtiKeyQwertyG, EPtiCaseUpper, 95, 2},
       
   615         {EPtiKeyQwertyH, EPtiCaseUpper, 97, 1},
       
   616         {EPtiKeyQwertyJ, EPtiCaseUpper, 98, 1},
       
   617         {EPtiKeyQwertyK, EPtiCaseUpper, 99, 1},
       
   618         {EPtiKeyQwertyL, EPtiCaseUpper, 100, 1},
       
   619         {EPtiKeyQwertyComma, EPtiCaseUpper, 101, 1},
       
   620         {EPtiKeyQwertyZ, EPtiCaseUpper, 102, 1},
       
   621         {EPtiKeyQwertyX, EPtiCaseUpper, 103, 1},
       
   622         {EPtiKeyQwertyC, EPtiCaseUpper, 104, 2},
       
   623         {EPtiKeyQwertyV, EPtiCaseUpper, 106, 1},
       
   624         {EPtiKeyQwertyB, EPtiCaseUpper, 107, 1},
       
   625         {EPtiKeyQwertyN, EPtiCaseUpper, 108, 2},
       
   626         {EPtiKeyQwertyM, EPtiCaseUpper, 110, 1},
       
   627         {EStdKeySpace, EPtiCaseUpper, 111, 0},
       
   628         {EPtiKeyQwertyQ, EPtiCaseFnLower, 111, 1},
       
   629         {EPtiKeyQwertyW, EPtiCaseFnLower, 112, 1},
       
   630         {EPtiKeyQwertyE, EPtiCaseFnLower, 113, 1},
       
   631         {EPtiKeyQwertyR, EPtiCaseFnLower, 114, 1},
       
   632         {EPtiKeyQwertyT, EPtiCaseFnLower, 115, 1},
       
   633         {EPtiKeyQwertyY, EPtiCaseFnLower, 116, 1},
       
   634         {EPtiKeyQwertyU, EPtiCaseFnLower, 117, 1},
       
   635         {EPtiKeyQwertyI, EPtiCaseFnLower, 118, 1},
       
   636         {EPtiKeyQwertyO, EPtiCaseFnLower, 119, 1},
       
   637         {EPtiKeyQwertyP, EPtiCaseFnLower, 120, 1},
       
   638         {EPtiKeyQwertyA, EPtiCaseFnLower, 121, 1},
       
   639         {EPtiKeyQwertyS, EPtiCaseFnLower, 122, 1},
       
   640         {EPtiKeyQwertyD, EPtiCaseFnLower, 123, 1},
       
   641         {EPtiKeyQwertyF, EPtiCaseFnLower, 124, 1},
       
   642         {EPtiKeyQwertyG, EPtiCaseFnLower, 125, 1},
       
   643         {EPtiKeyQwertyH, EPtiCaseFnLower, 126, 1},
       
   644         {EPtiKeyQwertyJ, EPtiCaseFnLower, 127, 1},
       
   645         {EPtiKeyQwertyK, EPtiCaseFnLower, 128, 1},
       
   646         {EPtiKeyQwertyL, EPtiCaseFnLower, 129, 1},
       
   647         {EPtiKeyQwertyComma, EPtiCaseFnLower, 130, 1},
       
   648         {EPtiKeyQwertyZ, EPtiCaseFnLower, 131, 1},
       
   649         {EPtiKeyQwertyX, EPtiCaseFnLower, 132, 1},
       
   650         {EPtiKeyQwertyC, EPtiCaseFnLower, 133, 1},
       
   651         {EPtiKeyQwertyV, EPtiCaseFnLower, 134, 1},
       
   652         {EPtiKeyQwertyB, EPtiCaseFnLower, 135, 1},
       
   653         {EPtiKeyQwertyN, EPtiCaseFnLower, 136, 1},
       
   654         {EPtiKeyQwertyM, EPtiCaseFnLower, 137, 1},
       
   655     };
       
   656 
       
   657 const TInt KMaxMiniQwerty3x11Index_English = 83;
       
   658 
       
   659 //
       
   660 // HalfQwerty keymap data table
       
   661 //
       
   662 const TUint16 HalfQwertyData_table_English[] =
       
   663     {
       
   664      0x0071,0x0077,
       
   665      0x0065,0x0072,0x00E8,0x00E9,0x00EA,0x00EB,
       
   666      0x0074,0x0079,0x00FE,0x00FD,
       
   667      0x0075,0x0069,0x00FB,0x00F9,0x00FA,0x00FC,0x00EE,0x00EF,0x00EC,0x00ED,
       
   668      0x006F,0x0070,0x00F6,0x00F4,0x00F2,0x00F3,
       
   669      0x0061,0x0073,0x00E4,0x00E0,0x00E2,0x00E1,0x00E3,0x00E5,0x00DF,
       
   670      0x0064,0x0066,0x00F0,
       
   671      0x0067,0x0068,0x011F,
       
   672      0x006A,0x006B,
       
   673      0x006C,
       
   674      0x007A,0x0078,
       
   675      0x0063,0x0076,0x00E7,
       
   676      0x0062,0x006E,0x00F1,
       
   677      0x006D,
       
   678      0x002E,0x002C,0x003A,0x003B,
       
   679      0x0020,
       
   680      0x0051,0x0057,
       
   681      0x0045,0x0052,0x00C8,0x00C9,0x00CA,0x00CB,
       
   682      0x0054,0x0059,0x00DE,0x00DD,
       
   683      0x0055,0x0049,0x00DB,0x00D9,0x00DA,0x00DC,0x00CE,0x00CF,0x00CC,0x00CD,
       
   684      0x004F,0x0050,0x00D6,0x00D4,0x00D2,0x00D3,
       
   685      0x0041,0x0053,0x00C4,0x00C0,0x00C2,0x00C1,0x00C3,0x00C5,
       
   686      0x0044,0x0046,0x00D0,
       
   687      0x0047,0x0048,0x011E,
       
   688      0x004A,0x004B,
       
   689      0x004C,
       
   690      0x005A,0x0058,
       
   691      0x0043,0x0056,0x00C7,
       
   692      0x0042,0x004E,0x00D1,
       
   693      0x004D,
       
   694      0x003A,0x003B,0x002E,0x002C,
       
   695      0x0020,
       
   696      0x00E8,0x00E9,0x00EA,0x00EB,
       
   697      0x00FE,0x00FD,
       
   698      0x00FB,0x00F9,0x00FA,0x00FC,0x00EE,0x00EF,0x00EC,0x00ED,
       
   699      0x00F6,0x00F4,0x00F2,0x00F3,
       
   700      0x00E4,0x00E0,0x00E2,0x00E1,0x00E3,0x00E5,0x00DF,
       
   701      0x00F0,
       
   702      0x011F,
       
   703      0x00E7,
       
   704      0x00F1,
       
   705      0x00C8,0x00C9,0x00CA,0x00CB,
       
   706      0x00DE,0x00DD,
       
   707      0x00DB,0x00D9,0x00DA,0x00DC,0x00CE,0x00CF,0x00CC,0x00CD,
       
   708      0x00D6,0x00D4,0x00D2,0x00D3,
       
   709      0x00C4,0x00C0,0x00C2,0x00C1,0x00C3,0x00C5,
       
   710      0x00D0,
       
   711      0x011E,
       
   712      0x00C7,
       
   713      0x00D1,
       
   714      0x0021,
       
   715      0x0031,
       
   716      0x0032,
       
   717      0x0033,
       
   718      0x002D,
       
   719      0x003F,
       
   720      0x0034,
       
   721      0x0035,
       
   722      0x0036,
       
   723      0x0027,
       
   724      0x0040,
       
   725      0x0037,
       
   726      0x0038,
       
   727      0x0039,
       
   728      0x003B,
       
   729      0x002A,0x002B,
       
   730      0x0030,
       
   731      0x0023,
       
   732     };
       
   733 
       
   734 const TInt KHalfQwertyDataSize_English = 195;
       
   735 
       
   736 
       
   737 const TPtiKeyBinding HalfQwertyKeyBindings_table_English[] =
       
   738     {
       
   739         {EPtiKeyQwertyQ, EPtiCaseLower, 0, 2},
       
   740         {EPtiKeyQwerty1, EPtiCaseLower, 2, 6},
       
   741         {EPtiKeyQwerty2, EPtiCaseLower, 8, 4},
       
   742         {EPtiKeyQwerty3, EPtiCaseLower, 12, 10},
       
   743         {EPtiKeyQwertyO, EPtiCaseLower, 22, 6},
       
   744         {EPtiKeyQwertyA, EPtiCaseLower, 28, 9},
       
   745         {EPtiKeyQwerty4, EPtiCaseLower, 37, 3},
       
   746         {EPtiKeyQwerty5, EPtiCaseLower, 40, 3},
       
   747         {EPtiKeyQwerty6, EPtiCaseLower, 43, 2},
       
   748         {EPtiKeyQwertyL, EPtiCaseLower, 45, 1},
       
   749         {EPtiKeyQwertyZ, EPtiCaseLower, 46, 2},
       
   750         {EPtiKeyQwerty7, EPtiCaseLower, 48, 3},
       
   751         {EPtiKeyQwerty8, EPtiCaseLower, 51, 3},
       
   752         {EPtiKeyQwerty9, EPtiCaseLower, 54, 1},
       
   753         {EPtiKeyQwertyFullstop, EPtiCaseLower, 55, 4},
       
   754         {EPtiKeyQwertyChr, EPtiCaseLower, 59, 0},
       
   755         {EPtiKeyQwertySpace, EPtiCaseLower, 59, 1},
       
   756         {EPtiKeyQwertyLeftShift, EPtiCaseLower, 60, 0},
       
   757         {EPtiKeyQwertyQ, EPtiCaseUpper, 60, 2},
       
   758         {EPtiKeyQwerty1, EPtiCaseUpper, 62, 6},
       
   759         {EPtiKeyQwerty2, EPtiCaseUpper, 68, 4},
       
   760         {EPtiKeyQwerty3, EPtiCaseUpper, 72, 10},
       
   761         {EPtiKeyQwertyO, EPtiCaseUpper, 82, 6},
       
   762         {EPtiKeyQwertyA, EPtiCaseUpper, 88, 8},
       
   763         {EPtiKeyQwerty4, EPtiCaseUpper, 96, 3},
       
   764         {EPtiKeyQwerty5, EPtiCaseUpper, 99, 3},
       
   765         {EPtiKeyQwerty6, EPtiCaseUpper, 102, 2},
       
   766         {EPtiKeyQwertyL, EPtiCaseUpper, 104, 1},
       
   767         {EPtiKeyQwertyZ, EPtiCaseUpper, 105, 2},
       
   768         {EPtiKeyQwerty7, EPtiCaseUpper, 107, 3},
       
   769         {EPtiKeyQwerty8, EPtiCaseUpper, 110, 3},
       
   770         {EPtiKeyQwerty9, EPtiCaseUpper, 113, 1},
       
   771         {EPtiKeyQwertyFullstop, EPtiCaseUpper, 114, 4},
       
   772         {EPtiKeyQwertyChr, EPtiCaseUpper, 118, 0},
       
   773         {EPtiKeyQwertySpace, EPtiCaseUpper, 118, 1},
       
   774         {EPtiKeyQwertyLeftShift, EPtiCaseUpper, 119, 0},
       
   775         {EPtiKeyQwerty1, EPtiCaseChrLower, 119, 4},
       
   776         {EPtiKeyQwerty2, EPtiCaseChrLower, 123, 2},
       
   777         {EPtiKeyQwerty3, EPtiCaseChrLower, 125, 8},
       
   778         {EPtiKeyQwertyO, EPtiCaseChrLower, 133, 4},
       
   779         {EPtiKeyQwertyA, EPtiCaseChrLower, 137, 7},
       
   780         {EPtiKeyQwerty4, EPtiCaseChrLower, 144, 1},
       
   781         {EPtiKeyQwerty5, EPtiCaseChrLower, 145, 1},
       
   782         {EPtiKeyQwerty7, EPtiCaseChrLower, 146, 1},
       
   783         {EPtiKeyQwerty8, EPtiCaseChrLower, 147, 1},
       
   784         {EPtiKeyQwerty1, EPtiCaseChrUpper, 148, 4},
       
   785         {EPtiKeyQwerty2, EPtiCaseChrUpper, 152, 2},
       
   786         {EPtiKeyQwerty3, EPtiCaseChrUpper, 154, 8},
       
   787         {EPtiKeyQwertyO, EPtiCaseChrUpper, 162, 4},
       
   788         {EPtiKeyQwertyA, EPtiCaseChrUpper, 166, 6},
       
   789         {EPtiKeyQwerty4, EPtiCaseChrUpper, 172, 1},
       
   790         {EPtiKeyQwerty5, EPtiCaseChrUpper, 173, 1},
       
   791         {EPtiKeyQwerty7, EPtiCaseChrUpper, 174, 1},
       
   792         {EPtiKeyQwerty8, EPtiCaseChrUpper, 175, 1},
       
   793         {EPtiKeyQwertyQ, EPtiCaseFnLower, 176, 1},
       
   794         {EPtiKeyQwerty1, EPtiCaseFnLower, 177, 1},
       
   795         {EPtiKeyQwerty2, EPtiCaseFnLower, 178, 1},
       
   796         {EPtiKeyQwerty3, EPtiCaseFnLower, 179, 1},
       
   797         {EPtiKeyQwertyO, EPtiCaseFnLower, 180, 1},
       
   798         {EPtiKeyQwertyA, EPtiCaseFnLower, 181, 1},
       
   799         {EPtiKeyQwerty4, EPtiCaseFnLower, 182, 1},
       
   800         {EPtiKeyQwerty5, EPtiCaseFnLower, 183, 1},
       
   801         {EPtiKeyQwerty6, EPtiCaseFnLower, 184, 1},
       
   802         {EPtiKeyQwertyL, EPtiCaseFnLower, 185, 1},
       
   803         {EPtiKeyQwertyZ, EPtiCaseFnLower, 186, 1},
       
   804         {EPtiKeyQwerty7, EPtiCaseFnLower, 187, 1},
       
   805         {EPtiKeyQwerty8, EPtiCaseFnLower, 188, 1},
       
   806         {EPtiKeyQwerty9, EPtiCaseFnLower, 189, 1},
       
   807         {EPtiKeyQwertyFullstop, EPtiCaseFnLower, 190, 1},
       
   808         {EPtiKeyQwertyChr, EPtiCaseFnLower, 191, 2},
       
   809         {EPtiKeyQwertySpace, EPtiCaseFnLower, 193, 1},
       
   810         {EPtiKeyQwertyLeftShift, EPtiCaseFnLower, 194, 1},
       
   811     };
       
   812 
       
   813 const TInt KMaxHalfQwertyIndex_English = 72;
       
   814 
       
   815 //
       
   816 // CustomQwerty keymap data table
       
   817 //
       
   818 const TUint16 CustomQwertyData_table_English[] =
       
   819     {
       
   820      0x0061,
       
   821      0x0062 ,
       
   822      0x0063,
       
   823      0x0064,
       
   824      0x0065,
       
   825      0x0066,
       
   826      0x0067,
       
   827      0x0068,
       
   828      0x0069,
       
   829      0x006A,
       
   830      0x006B,
       
   831      0x006C,
       
   832      0x0031 ,
       
   833      0x0032,
       
   834      0x0033,
       
   835      0x0034,
       
   836      0x0035,
       
   837      0x0036,
       
   838      0x0037,
       
   839      0x0038,
       
   840      0x0039,
       
   841      0x0030,
       
   842      0x003f,
       
   843      0x003e,
       
   844      0x0041,
       
   845      0x0042,
       
   846      0x0043,
       
   847      0x0044,
       
   848      0x0045,
       
   849      0x0046,
       
   850      0x0047,
       
   851      0x0048,
       
   852      0x0049,
       
   853      0x004A,
       
   854      0x004B,
       
   855      0x004C,
       
   856      0x0021 ,
       
   857      0x0022,
       
   858      0x0023,
       
   859      0x0024,
       
   860      0x0025,
       
   861      0x0026,
       
   862      0x0027,
       
   863      0x0028,
       
   864      0x0029,
       
   865      0x002A,
       
   866      0x002B,
       
   867      0x002C,
       
   868      0x002b,
       
   869      0x0023,
       
   870      0x002a,
       
   871      0x003f,
       
   872      0x002e,
       
   873      0x002c,
       
   874      0x0070,
       
   875      0x0077,
       
   876     };
       
   877 
       
   878 const TInt KCustomQwertyDataSize_English = 56;
       
   879 
       
   880 
       
   881 const TPtiKeyBinding CustomQwertyKeyBindings_table_English[] =
       
   882     {
       
   883         { EPtiKeyQwerty1, EPtiCaseLower, 0, 1},
       
   884         { EPtiKeyQwerty2, EPtiCaseLower, 1, 1},
       
   885         { EPtiKeyQwerty3, EPtiCaseLower, 2, 1},
       
   886         { EPtiKeyQwerty4, EPtiCaseLower, 3, 1},
       
   887         { EPtiKeyQwerty5, EPtiCaseLower, 4, 1},
       
   888         { EPtiKeyQwerty6, EPtiCaseLower, 5, 1},
       
   889         { EPtiKeyQwerty7, EPtiCaseLower, 6, 1},
       
   890         { EPtiKeyQwerty8, EPtiCaseLower, 7, 1},
       
   891         { EPtiKeyQwerty9, EPtiCaseLower, 8, 1},
       
   892         { EPtiKeyQwerty0, EPtiCaseLower, 9, 1},
       
   893         { EPtiKeyQwertyA, EPtiCaseLower, 12, 1},
       
   894         { EPtiKeyQwertyB, EPtiCaseLower, 13, 1},
       
   895         { EPtiKeyQwertyC, EPtiCaseLower, 14, 1},
       
   896         { EPtiKeyQwertyD, EPtiCaseLower, 15, 1},
       
   897         { EPtiKeyQwertyE, EPtiCaseLower, 16, 1},
       
   898         { EPtiKeyQwertyF, EPtiCaseLower, 17, 1},
       
   899         { EPtiKeyQwertyG, EPtiCaseLower, 18, 1},
       
   900         { EPtiKeyQwertyH, EPtiCaseLower, 19, 1},
       
   901         { EPtiKeyQwertyI, EPtiCaseLower, 20, 1},
       
   902         { EPtiKeyQwertyJ, EPtiCaseLower, 21, 1},
       
   903         { EPtiKeyQwerty1, EPtiCaseUpper, 24, 1},
       
   904         { EPtiKeyQwerty2, EPtiCaseUpper, 25, 1},
       
   905         { EPtiKeyQwerty3, EPtiCaseUpper, 26, 1},
       
   906         { EPtiKeyQwerty4, EPtiCaseUpper, 27, 1},
       
   907         { EPtiKeyQwerty5, EPtiCaseUpper, 28, 1},
       
   908         { EPtiKeyQwerty6, EPtiCaseUpper, 29, 1},
       
   909         { EPtiKeyQwerty7, EPtiCaseUpper, 30, 1},
       
   910         { EPtiKeyQwerty8, EPtiCaseUpper, 31, 1},
       
   911         { EPtiKeyQwerty9, EPtiCaseUpper, 32, 1},
       
   912         { EPtiKeyQwerty0, EPtiCaseUpper, 33, 1},
       
   913         { EPtiKeyQwertyA, EPtiCaseUpper, 36, 1},
       
   914         { EPtiKeyQwertyB, EPtiCaseUpper, 37, 1},
       
   915         { EPtiKeyQwertyC, EPtiCaseUpper, 38, 1},
       
   916         { EPtiKeyQwertyD, EPtiCaseUpper, 39, 1},
       
   917         { EPtiKeyQwertyE, EPtiCaseUpper, 40, 1},
       
   918         { EPtiKeyQwertyF, EPtiCaseUpper, 41, 1},
       
   919         { EPtiKeyQwertyG, EPtiCaseUpper, 42, 1},
       
   920         { EPtiKeyQwertyH, EPtiCaseUpper, 43, 1},
       
   921         { EPtiKeyQwertyI, EPtiCaseUpper, 44, 1},
       
   922         { EPtiKeyQwertyJ, EPtiCaseUpper, 45, 1},
       
   923         { EPtiKeyQwerty1, EPtiCaseFnLower, 48, 1},
       
   924         { EPtiKeyQwerty2, EPtiCaseFnLower, 49, 1},
       
   925         { EPtiKeyQwerty3, EPtiCaseFnLower, 50, 1},
       
   926         { EPtiKeyQwerty4, EPtiCaseFnLower, 51, 1},
       
   927         { EPtiKeyQwerty5, EPtiCaseFnLower, 52, 1},
       
   928         { EPtiKeyQwerty6, EPtiCaseFnLower, 53, 1},
       
   929         { EPtiKeyQwerty7, EPtiCaseFnLower, 54, 1},
       
   930         { EPtiKeyQwerty8, EPtiCaseFnLower, 55, 1},
       
   931     };
       
   932 
       
   933 const TInt KMaxCustomQwertyIndex_English = 48;
       
   934 
       
   935 //
       
   936 // Class implementation.
       
   937 //
       
   938 
       
   939 CPtiLangDataImplEnglish* CPtiLangDataImplEnglish::NewL()
       
   940     {
       
   941     return new (ELeave) CPtiLangDataImplEnglish();
       
   942     }
       
   943 
       
   944 
       
   945 TInt CPtiLangDataImplEnglish::LanguageCode() const
       
   946     {
       
   947     return ELangEnglish;
       
   948     }
       
   949 
       
   950 
       
   951 const TUint16* CPtiLangDataImplEnglish::KeyData(TPtiKeyboardType aKeyboardType, TInt& aDataSize) const
       
   952     {
       
   953     if (aKeyboardType == EPtiKeyboard12Key)
       
   954         {
       
   955         aDataSize = KMultitapDataSize_English;
       
   956         return MultitapData_table_English;
       
   957         }
       
   958     if (aKeyboardType == EPtiKeyboardQwerty4x12)
       
   959         {
       
   960         aDataSize = KStandardQwertyDataSize_English;
       
   961         return StandardQwertyData_table_English;
       
   962         }
       
   963 
       
   964     if (aKeyboardType == EPtiKeyboardQwerty4x10)
       
   965         {
       
   966         aDataSize = KMiniQwertyDataSize_English;
       
   967         return MiniQwertyData_table_English;
       
   968         }
       
   969 
       
   970     if (aKeyboardType == EPtiKeyboardQwerty3x11)
       
   971         {
       
   972         aDataSize = KMiniQwerty3x11DataSize_English;
       
   973         return MiniQwerty3x11Data_table_English;
       
   974         }
       
   975 
       
   976     if (aKeyboardType == EPtiKeyboardHalfQwerty)
       
   977         {
       
   978         aDataSize = KHalfQwertyDataSize_English;
       
   979         return HalfQwertyData_table_English;
       
   980         }
       
   981 
       
   982     if (aKeyboardType == EPtiKeyboardCustomQwerty)
       
   983         {
       
   984         aDataSize = KCustomQwertyDataSize_English;
       
   985         return CustomQwertyData_table_English;
       
   986         }
       
   987 
       
   988     aDataSize = 0;
       
   989     return NULL;
       
   990     }
       
   991 
       
   992 
       
   993 const TPtiKeyBinding* CPtiLangDataImplEnglish::KeyBindingTable(TPtiKeyboardType aKeyboardType, TInt& aNumItems) const
       
   994     {
       
   995     if (aKeyboardType == EPtiKeyboard12Key)
       
   996         {
       
   997         aNumItems = KMaxMultitapIndex_English;
       
   998         return MultitapKeyBindings_table_English;
       
   999         }
       
  1000     if (aKeyboardType == EPtiKeyboardQwerty4x12)
       
  1001         {
       
  1002         aNumItems = KMaxStandardQwertyIndex_English;
       
  1003         return StandardQwertyKeyBindings_table_English;
       
  1004         }
       
  1005     if (aKeyboardType == EPtiKeyboardQwerty4x10)
       
  1006         {
       
  1007         aNumItems = KMaxMiniQwertyIndex_English;
       
  1008         return MiniQwertyKeyBindings_table_English;
       
  1009         }
       
  1010     if (aKeyboardType == EPtiKeyboardQwerty3x11)
       
  1011         {
       
  1012         aNumItems = KMaxMiniQwerty3x11Index_English;
       
  1013         return MiniQwerty3x11KeyBindings_table_English;
       
  1014         }
       
  1015     if (aKeyboardType == EPtiKeyboardHalfQwerty)
       
  1016         {
       
  1017         aNumItems = KMaxHalfQwertyIndex_English;
       
  1018         return HalfQwertyKeyBindings_table_English;
       
  1019         }
       
  1020     if (aKeyboardType == EPtiKeyboardCustomQwerty)
       
  1021         {
       
  1022         aNumItems = KMaxCustomQwertyIndex_English;
       
  1023         return CustomQwertyKeyBindings_table_English;
       
  1024         }
       
  1025 
       
  1026     aNumItems = 0;
       
  1027     return NULL;
       
  1028     }
       
  1029 
       
  1030