textinput/ptienginev2/languages/PtiKeymappings_ITUT_54.cpp
changeset 0 eb1f2e154e89
child 18 c8fb4cf7b3ae
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_54.h"
       
    34 
       
    35 //
       
    36 // Multitap keymap data table
       
    37 //
       
    38 const TUint16 MultitapData_table_Greek[] =
       
    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      0x3b1,0x3b2,0x3b3,0x3ac,0x32,0x61,0x62,0x63,
       
    42      0x3b4,0x3b5,0x3b6,0x3ad,0x33,0x64,0x65,0x66,
       
    43      0x3b7,0x3b8,0x3b9,0x3ae,0x3af,0x3ca,0x390,0x34,0x67,0x68,0x69,
       
    44      0x3ba,0x3bb,0x3bc,0x35,0x6a,0x6b,0x6c,
       
    45      0x3bd,0x3be,0x3bf,0x3cc,0x36,0x6d,0x6e,0x6f,
       
    46      0x3c0,0x3c1,0x3c3,0x3c2,0x37,0x70,0x71,0x72,0x73,
       
    47      0x3c4,0x3c5,0x3c6,0x3cd,0x3cb,0x3b0,0x38,0x74,0x75,0x76,
       
    48      0x3c7,0x3c8,0x3c9,0x3ce,0x39,0x77,0x78,0x79,0x7a,
       
    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      0x391,0x392,0x393,0x386,0x32,0x41,0x42,0x43,
       
    52      0x394,0x395,0x396,0x388,0x33,0x44,0x45,0x46,
       
    53      0x397,0x398,0x399,0x389,0x38a,0x3aa,0x34,0x47,0x48,0x49,
       
    54      0x39a,0x39b,0x39c,0x35,0x4a,0x4b,0x4c,
       
    55      0x39d,0x39e,0x39f,0x38c,0x36,0x4d,0x4e,0x4f,
       
    56      0x3a0,0x3a1,0x3a3,0x37,0x50,0x51,0x52,0x53,
       
    57      0x3a4,0x3a5,0x3a6,0x38e,0x3ab,0x38,0x54,0x55,0x56,
       
    58      0x3a7,0x3a8,0x3a9,0x38f,0x39,0x57,0x58,0x59,0x5a,
       
    59      0x20,0x30,0x21b2,
       
    60     };
       
    61 
       
    62 const TInt KMultitapDataSize_Greek = 203;
       
    63 
       
    64 
       
    65 const TPtiKeyBinding MultitapKeyBindings_table_Greek[] =
       
    66     {
       
    67         {EPtiKey1, EPtiCaseLower, 0, 30},
       
    68         {EPtiKey2, EPtiCaseLower, 30, 8},
       
    69         {EPtiKey3, EPtiCaseLower, 38, 8},
       
    70         {EPtiKey4, EPtiCaseLower, 46, 11},
       
    71         {EPtiKey5, EPtiCaseLower, 57, 7},
       
    72         {EPtiKey6, EPtiCaseLower, 64, 8},
       
    73         {EPtiKey7, EPtiCaseLower, 72, 9},
       
    74         {EPtiKey8, EPtiCaseLower, 81, 10},
       
    75         {EPtiKey9, EPtiCaseLower, 91, 9},
       
    76         {EPtiKeyStar, EPtiCaseLower, 100, 0},
       
    77         {EPtiKey0, EPtiCaseLower, 100, 3},
       
    78         {EPtiKeyHash, EPtiCaseLower, 103, 0},
       
    79         {EPtiKey1, EPtiCaseUpper, 103, 30},
       
    80         {EPtiKey2, EPtiCaseUpper, 133, 8},
       
    81         {EPtiKey3, EPtiCaseUpper, 141, 8},
       
    82         {EPtiKey4, EPtiCaseUpper, 149, 10},
       
    83         {EPtiKey5, EPtiCaseUpper, 159, 7},
       
    84         {EPtiKey6, EPtiCaseUpper, 166, 8},
       
    85         {EPtiKey7, EPtiCaseUpper, 174, 8},
       
    86         {EPtiKey8, EPtiCaseUpper, 182, 9},
       
    87         {EPtiKey9, EPtiCaseUpper, 191, 9},
       
    88         {EPtiKeyStar, EPtiCaseUpper, 200, 0},
       
    89         {EPtiKey0, EPtiCaseUpper, 200, 3},
       
    90         {EPtiKeyHash, EPtiCaseUpper, 203, 0},
       
    91     };
       
    92 
       
    93 const TInt KMaxMultitapIndex_Greek = 24;
       
    94 
       
    95 //
       
    96 // StandardQwerty keymap data table
       
    97 //
       
    98 const TUint16 StandardQwertyData_table_Greek[] =
       
    99     {
       
   100      0x31,
       
   101      0x32,
       
   102      0x33,
       
   103      0x34,
       
   104      0x35,
       
   105      0x36,
       
   106      0x37,
       
   107      0x38,
       
   108      0x39,
       
   109      0x30,
       
   110      0x3b,
       
   111      0x387,
       
   112      0x3c2,
       
   113      0x3b5,0x3ad,
       
   114      0x3c1,
       
   115      0x3c4,
       
   116      0x3c5,0x3cd,0x3cb,0x3b0,
       
   117      0x3b8,
       
   118      0x3b9,0x3af,0x3ca,0x390,
       
   119      0x3bf,0x3cc,
       
   120      0x3c0,
       
   121      0x2d,
       
   122      0x2b,
       
   123      0x3b1,0x3ac,
       
   124      0x3c3,
       
   125      0x3b4,
       
   126      0x3c6,
       
   127      0x3b3,
       
   128      0x3b7,0x3ae,
       
   129      0x3be,
       
   130      0x3ba,
       
   131      0x3bb,
       
   132      0xf001,0x384,
       
   133      0xab,
       
   134      0x3b6,
       
   135      0x3c7,
       
   136      0x3c8,
       
   137      0x3c9,0x3ce,
       
   138      0x3b2,
       
   139      0x3bd,
       
   140      0x3bc,
       
   141      0x2c,
       
   142      0x2e,
       
   143      0x2f,
       
   144      0x21,
       
   145      0x40,
       
   146      0x23,
       
   147      0x24,
       
   148      0x25,
       
   149      0x20ac,
       
   150      0x26,
       
   151      0x5c,
       
   152      0x28,
       
   153      0x29,
       
   154      0x3a,
       
   155      0x387,
       
   156      0xf003,0x385,
       
   157      0x395,0x388,
       
   158      0x3a1,
       
   159      0x3a4,
       
   160      0x3a5,0x38e,0x3ab,
       
   161      0x398,
       
   162      0x399,0x38a,0x3aa,
       
   163      0x39f,0x38c,
       
   164      0x3a0,
       
   165      0x3d,
       
   166      0x2a,
       
   167      0x391,0x386,
       
   168      0x3a3,
       
   169      0x394,
       
   170      0x3a6,
       
   171      0x393,
       
   172      0x397,0x389,
       
   173      0x39e,
       
   174      0x39a,
       
   175      0x39b,
       
   176      0xf002,0xa8,
       
   177      0xbb,
       
   178      0x396,
       
   179      0x3a7,
       
   180      0x3a8,
       
   181      0x3a9,0x38f,
       
   182      0x392,
       
   183      0x39d,
       
   184      0x39c,
       
   185      0x3c,
       
   186      0x3e,
       
   187      0x3f,
       
   188     };
       
   189 
       
   190 const TInt KStandardQwertyDataSize_Greek = 111;
       
   191 
       
   192 
       
   193 const TPtiKeyBinding StandardQwertyKeyBindings_table_Greek[] =
       
   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, 2},
       
   209         {EPtiKeyQwertyR, EPtiCaseLower, 15, 1},
       
   210         {EPtiKeyQwertyT, EPtiCaseLower, 16, 1},
       
   211         {EPtiKeyQwertyY, EPtiCaseLower, 17, 4},
       
   212         {EPtiKeyQwertyU, EPtiCaseLower, 21, 1},
       
   213         {EPtiKeyQwertyI, EPtiCaseLower, 22, 4},
       
   214         {EPtiKeyQwertyO, EPtiCaseLower, 26, 2},
       
   215         {EPtiKeyQwertyP, EPtiCaseLower, 28, 1},
       
   216         {EPtiKeyQwertyMinus, EPtiCaseLower, 29, 1},
       
   217         {EPtiKeyQwertyHash, EPtiCaseLower, 30, 1},
       
   218         {EPtiKeyQwertyA, EPtiCaseLower, 31, 2},
       
   219         {EPtiKeyQwertyS, EPtiCaseLower, 33, 1},
       
   220         {EPtiKeyQwertyD, EPtiCaseLower, 34, 1},
       
   221         {EPtiKeyQwertyF, EPtiCaseLower, 35, 1},
       
   222         {EPtiKeyQwertyG, EPtiCaseLower, 36, 1},
       
   223         {EPtiKeyQwertyH, EPtiCaseLower, 37, 2},
       
   224         {EPtiKeyQwertyJ, EPtiCaseLower, 39, 1},
       
   225         {EPtiKeyQwertyK, EPtiCaseLower, 40, 1},
       
   226         {EPtiKeyQwertyL, EPtiCaseLower, 41, 1},
       
   227         {EPtiKeyQwertySemicolon, EPtiCaseLower, 42, 2},
       
   228         {EPtiKeyQwertyApostrophe, EPtiCaseLower, 44, 1},
       
   229         {EPtiKeyQwertyZ, EPtiCaseLower, 45, 1},
       
   230         {EPtiKeyQwertyX, EPtiCaseLower, 46, 1},
       
   231         {EPtiKeyQwertyC, EPtiCaseLower, 47, 1},
       
   232         {EPtiKeyQwertyV, EPtiCaseLower, 48, 2},
       
   233         {EPtiKeyQwertyB, EPtiCaseLower, 50, 1},
       
   234         {EPtiKeyQwertyN, EPtiCaseLower, 51, 1},
       
   235         {EPtiKeyQwertyM, EPtiCaseLower, 52, 1},
       
   236         {EPtiKeyQwertyComma, EPtiCaseLower, 53, 1},
       
   237         {EPtiKeyQwertyFullstop, EPtiCaseLower, 54, 1},
       
   238         {EPtiKeyQwertySlash, EPtiCaseLower, 55, 1},
       
   239         {EPtiKeyQwerty1, EPtiCaseUpper, 56, 1},
       
   240         {EPtiKeyQwerty2, EPtiCaseUpper, 57, 1},
       
   241         {EPtiKeyQwerty3, EPtiCaseUpper, 58, 1},
       
   242         {EPtiKeyQwerty4, EPtiCaseUpper, 59, 1},
       
   243         {EPtiKeyQwerty5, EPtiCaseUpper, 60, 1},
       
   244         {EPtiKeyQwerty6, EPtiCaseUpper, 61, 1},
       
   245         {EPtiKeyQwerty7, EPtiCaseUpper, 62, 1},
       
   246         {EPtiKeyQwerty8, EPtiCaseUpper, 63, 1},
       
   247         {EPtiKeyQwerty9, EPtiCaseUpper, 64, 1},
       
   248         {EPtiKeyQwerty0, EPtiCaseUpper, 65, 1},
       
   249         {EPtiKeyQwertyPlus, EPtiCaseUpper, 66, 1},
       
   250         {EPtiKeyQwertyQ, EPtiCaseUpper, 67, 1},
       
   251         {EPtiKeyQwertyW, EPtiCaseUpper, 68, 2},
       
   252         {EPtiKeyQwertyE, EPtiCaseUpper, 70, 2},
       
   253         {EPtiKeyQwertyR, EPtiCaseUpper, 72, 1},
       
   254         {EPtiKeyQwertyT, EPtiCaseUpper, 73, 1},
       
   255         {EPtiKeyQwertyY, EPtiCaseUpper, 74, 3},
       
   256         {EPtiKeyQwertyU, EPtiCaseUpper, 77, 1},
       
   257         {EPtiKeyQwertyI, EPtiCaseUpper, 78, 3},
       
   258         {EPtiKeyQwertyO, EPtiCaseUpper, 81, 2},
       
   259         {EPtiKeyQwertyP, EPtiCaseUpper, 83, 1},
       
   260         {EPtiKeyQwertyMinus, EPtiCaseUpper, 84, 1},
       
   261         {EPtiKeyQwertyHash, EPtiCaseUpper, 85, 1},
       
   262         {EPtiKeyQwertyA, EPtiCaseUpper, 86, 2},
       
   263         {EPtiKeyQwertyS, EPtiCaseUpper, 88, 1},
       
   264         {EPtiKeyQwertyD, EPtiCaseUpper, 89, 1},
       
   265         {EPtiKeyQwertyF, EPtiCaseUpper, 90, 1},
       
   266         {EPtiKeyQwertyG, EPtiCaseUpper, 91, 1},
       
   267         {EPtiKeyQwertyH, EPtiCaseUpper, 92, 2},
       
   268         {EPtiKeyQwertyJ, EPtiCaseUpper, 94, 1},
       
   269         {EPtiKeyQwertyK, EPtiCaseUpper, 95, 1},
       
   270         {EPtiKeyQwertyL, EPtiCaseUpper, 96, 1},
       
   271         {EPtiKeyQwertySemicolon, EPtiCaseUpper, 97, 2},
       
   272         {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 99, 1},
       
   273         {EPtiKeyQwertyZ, EPtiCaseUpper, 100, 1},
       
   274         {EPtiKeyQwertyX, EPtiCaseUpper, 101, 1},
       
   275         {EPtiKeyQwertyC, EPtiCaseUpper, 102, 1},
       
   276         {EPtiKeyQwertyV, EPtiCaseUpper, 103, 2},
       
   277         {EPtiKeyQwertyB, EPtiCaseUpper, 105, 1},
       
   278         {EPtiKeyQwertyN, EPtiCaseUpper, 106, 1},
       
   279         {EPtiKeyQwertyM, EPtiCaseUpper, 107, 1},
       
   280         {EPtiKeyQwertyComma, EPtiCaseUpper, 108, 1},
       
   281         {EPtiKeyQwertyFullstop, EPtiCaseUpper, 109, 1},
       
   282         {EPtiKeyQwertySlash, EPtiCaseUpper, 110, 1},
       
   283     };
       
   284 
       
   285 const TInt KMaxStandardQwertyIndex_Greek = 88;
       
   286 
       
   287 
       
   288 //
       
   289 // Dead key data table for StandardQwerty
       
   290 //
       
   291 const TUint16 StandardQwertyDeadKeyData_table_Greek[] =
       
   292     {
       
   293     13,  0x03AD,0xF000,0xF000,0xf000,0xf000,
       
   294     16,  0x03CD,0x03CB,0x03B0,0xf000,0xf000,
       
   295     18,  0x03AF,0x03CA,0x0390,0xf000,0xf000,
       
   296     19,  0x03CC,0xF000,0xF000,0xf000,0xf000,
       
   297     23,  0x03AC,0xF000,0xF000,0xf000,0xf000,
       
   298     28,  0x03AE,0xF000,0xF000,0xf000,0xf000,
       
   299     37,  0x03CE,0xF000,0xF000,0xf000,0xf000,
       
   300     57,  0x0388,0xF000,0xF000,0xf000,0xf000,
       
   301     60,  0x038E,0x03AB,0xF000,0xf000,0xf000,
       
   302     62,  0x038A,0x03AA,0xF000,0xf000,0xf000,
       
   303     63,  0x038C,0xF000,0xF000,0xf000,0xf000,
       
   304     67,  0x0386,0xF000,0xF000,0xf000,0xf000,
       
   305     72,  0x0389,0xF000,0xF000,0xf000,0xf000,
       
   306     81,  0x038F,0xF000,0xF000,0xf000,0xf000,
       
   307     };
       
   308 
       
   309 const TInt KStandardQwertyDeadKeyTableRows_Greek = 14;
       
   310 
       
   311 
       
   312 //
       
   313 // Numeric key data table for StandardQwerty
       
   314 //
       
   315 const TPtiNumericKeyBinding StandardQwertyNumericKeysData_table_Greek[] =
       
   316 	{
       
   317 	{'p',EPtiKeyQwertyP,EPtiCaseLower},
       
   318 	{'w',EPtiKeyQwertyW,EPtiCaseLower},
       
   319 	{'E',EPtiKeyQwertyE,EPtiCaseUpper},
       
   320 	};
       
   321 
       
   322 const TInt KNumStandardQwertyNumericKeysEntries_Greek = 3;
       
   323 //
       
   324 // MiniQwerty keymap data table
       
   325 //
       
   326 const TUint16 MiniQwertyData_table_Greek[] =
       
   327     {
       
   328      0x0387,
       
   329      0x03C2,
       
   330      0x03B5,0x03AD,
       
   331      0x03C1,
       
   332      0x03C4,
       
   333      0x03C5,0x03CD,0x03CB,0x03B0,
       
   334      0x03B8,
       
   335      0x03B9,0x03AF,0x03CA,0x0390,
       
   336      0x03BF,0x03CC,
       
   337      0x03C0,
       
   338      0x03B1,0x03AC,
       
   339      0x03C3,
       
   340      0x03B4,
       
   341      0x03C6,
       
   342      0x03B3,
       
   343      0x03B7,0x03AE,
       
   344      0x03BE,
       
   345      0x03BA,
       
   346      0x03BB,
       
   347      0x03B6,
       
   348      0x03C7,
       
   349      0x03C8,
       
   350      0x03C9,0x03CE,
       
   351      0x03B2,
       
   352      0x03BD,
       
   353      0x03BC,
       
   354      0x002C,
       
   355      0x002E,
       
   356      0x0040,
       
   357      0x0026,
       
   358      0x0027,
       
   359      0xF002,0x0384,
       
   360      0x0387,
       
   361      0xF001,0x0385,
       
   362      0x0045,
       
   363      0x0050,
       
   364      0x0054,
       
   365      0x0059,
       
   366      0x0398,
       
   367      0x0399,0x038A,0x03AA,
       
   368      0x004F,
       
   369      0x03A0,
       
   370      0x0041,
       
   371      0x03A3,
       
   372      0x0394,
       
   373      0x03A6,
       
   374      0x0393,
       
   375      0x0048,
       
   376      0x039E,
       
   377      0x039A,
       
   378      0x039B,
       
   379      0x005A,
       
   380      0x0058,
       
   381      0x03A8,
       
   382      0x03A9,0x038F,
       
   383      0x0042,
       
   384      0x004E,
       
   385      0x004D,
       
   386      0x003B,
       
   387      0x003A,
       
   388      0x003F,
       
   389      0xF003,0x00A8,
       
   390      0x0021,
       
   391      0x0031,
       
   392      0x0031,
       
   393      0x0032,
       
   394      0x0032,
       
   395      0x0033,
       
   396      0x0033,
       
   397      0x002B,
       
   398      0x002F,
       
   399      0x0025,
       
   400      0x0034,
       
   401      0x0034,
       
   402      0x0035,
       
   403      0x0035,
       
   404      0x0036,
       
   405      0x0036,
       
   406      0x002D,
       
   407      0x0028,
       
   408      0x0029,
       
   409      0x0037,
       
   410      0x0037,
       
   411      0x0038,
       
   412      0x0038,
       
   413      0x0039,
       
   414      0x0039,
       
   415      0x003D,
       
   416      0x002A,
       
   417      0x002A,
       
   418      0x0030,
       
   419      0x0030,
       
   420      0x0023,
       
   421      0x0023,
       
   422     };
       
   423 
       
   424 const TInt KMiniQwertyDataSize_Greek = 111;
       
   425 
       
   426 
       
   427 const TPtiKeyBinding MiniQwertyKeyBindings_table_Greek[] =
       
   428     {
       
   429         {EPtiKeyQwerty1, EPtiCaseLower, 0, 1},
       
   430         {EPtiKeyQwerty2, EPtiCaseLower, 1, 1},
       
   431         {EPtiKeyQwerty3, EPtiCaseLower, 2, 2},
       
   432         {EPtiKeyQwerty4, EPtiCaseLower, 4, 1},
       
   433         {EPtiKeyQwerty5, EPtiCaseLower, 5, 1},
       
   434         {EPtiKeyQwerty6, EPtiCaseLower, 6, 4},
       
   435         {EPtiKeyQwerty7, EPtiCaseLower, 10, 1},
       
   436         {EPtiKeyQwerty8, EPtiCaseLower, 11, 4},
       
   437         {EPtiKeyQwerty9, EPtiCaseLower, 15, 2},
       
   438         {EPtiKeyQwerty0, EPtiCaseLower, 17, 1},
       
   439         {EPtiKeyQwertyA, EPtiCaseLower, 18, 2},
       
   440         {EPtiKeyQwertyS, EPtiCaseLower, 20, 1},
       
   441         {EPtiKeyQwertyD, EPtiCaseLower, 21, 1},
       
   442         {EPtiKeyQwertyF, EPtiCaseLower, 22, 1},
       
   443         {EPtiKeyQwertyG, EPtiCaseLower, 23, 1},
       
   444         {EPtiKeyQwertyH, EPtiCaseLower, 24, 2},
       
   445         {EPtiKeyQwertyJ, EPtiCaseLower, 26, 1},
       
   446         {EPtiKeyQwertyK, EPtiCaseLower, 27, 1},
       
   447         {EPtiKeyQwertyL, EPtiCaseLower, 28, 1},
       
   448         {EPtiKeyQwertyZ, EPtiCaseLower, 29, 1},
       
   449         {EPtiKeyQwertyX, EPtiCaseLower, 30, 1},
       
   450         {EPtiKeyQwertyC, EPtiCaseLower, 31, 1},
       
   451         {EPtiKeyQwertyV, EPtiCaseLower, 32, 2},
       
   452         {EPtiKeyQwertyB, EPtiCaseLower, 34, 1},
       
   453         {EPtiKeyQwertyN, EPtiCaseLower, 35, 1},
       
   454         {EPtiKeyQwertyM, EPtiCaseLower, 36, 1},
       
   455         {EPtiKeyQwertyComma, EPtiCaseLower, 37, 1},
       
   456         {EPtiKeyQwertyFullstop, EPtiCaseLower, 38, 1},
       
   457         {EPtiKeyQwerty1, EPtiCaseUpper, 44, 1},
       
   458         {EPtiKeyQwerty2, EPtiCaseUpper, 45, 2},
       
   459         {EPtiKeyQwerty3, EPtiCaseUpper, 47, 1},
       
   460         {EPtiKeyQwerty4, EPtiCaseUpper, 48, 1},
       
   461         {EPtiKeyQwerty5, EPtiCaseUpper, 49, 1},
       
   462         {EPtiKeyQwerty6, EPtiCaseUpper, 50, 1},
       
   463         {EPtiKeyQwerty7, EPtiCaseUpper, 51, 1},
       
   464         {EPtiKeyQwerty8, EPtiCaseUpper, 52, 3},
       
   465         {EPtiKeyQwerty9, EPtiCaseUpper, 55, 1},
       
   466         {EPtiKeyQwerty0, EPtiCaseUpper, 56, 1},
       
   467         {EPtiKeyQwertyA, EPtiCaseUpper, 57, 1},
       
   468         {EPtiKeyQwertyS, EPtiCaseUpper, 58, 1},
       
   469         {EPtiKeyQwertyD, EPtiCaseUpper, 59, 1},
       
   470         {EPtiKeyQwertyF, EPtiCaseUpper, 60, 1},
       
   471         {EPtiKeyQwertyG, EPtiCaseUpper, 61, 1},
       
   472         {EPtiKeyQwertyH, EPtiCaseUpper, 62, 1},
       
   473         {EPtiKeyQwertyJ, EPtiCaseUpper, 63, 1},
       
   474         {EPtiKeyQwertyK, EPtiCaseUpper, 64, 1},
       
   475         {EPtiKeyQwertyL, EPtiCaseUpper, 65, 1},
       
   476         {EPtiKeyQwertyZ, EPtiCaseUpper, 66, 1},
       
   477         {EPtiKeyQwertyX, EPtiCaseUpper, 67, 1},
       
   478         {EPtiKeyQwertyC, EPtiCaseUpper, 68, 1},
       
   479         {EPtiKeyQwertyV, EPtiCaseUpper, 69, 2},
       
   480         {EPtiKeyQwertyB, EPtiCaseUpper, 71, 1},
       
   481         {EPtiKeyQwertyN, EPtiCaseUpper, 72, 1},
       
   482         {EPtiKeyQwertyM, EPtiCaseUpper, 73, 1},
       
   483         {EPtiKeyQwertyComma, EPtiCaseUpper, 74, 1},
       
   484         {EPtiKeyQwertyFullstop, EPtiCaseUpper, 75, 1},
       
   485         {EPtiKeyQwerty1, EPtiCaseFnLower, 79, 1},
       
   486         {EPtiKeyQwerty3, EPtiCaseFnLower, 80, 1},
       
   487         {EPtiKeyQwerty4, EPtiCaseFnLower, 81, 1},
       
   488         {EPtiKeyQwerty5, EPtiCaseFnLower, 82, 1},
       
   489         {EPtiKeyQwerty6, EPtiCaseFnLower, 83, 1},
       
   490         {EPtiKeyQwerty7, EPtiCaseFnLower, 84, 1},
       
   491         {EPtiKeyQwerty8, EPtiCaseFnLower, 85, 1},
       
   492         {EPtiKeyQwerty9, EPtiCaseFnLower, 86, 1},
       
   493         {EPtiKeyQwertyA, EPtiCaseFnLower, 87, 1},
       
   494         {EPtiKeyQwertyS, EPtiCaseFnLower, 88, 1},
       
   495         {EPtiKeyQwertyD, EPtiCaseFnLower, 89, 1},
       
   496         {EPtiKeyQwertyF, EPtiCaseFnLower, 90, 1},
       
   497         {EPtiKeyQwertyG, EPtiCaseFnLower, 91, 1},
       
   498         {EPtiKeyQwertyH, EPtiCaseFnLower, 92, 1},
       
   499         {EPtiKeyQwertyJ, EPtiCaseFnLower, 93, 1},
       
   500         {EPtiKeyQwertyK, EPtiCaseFnLower, 94, 1},
       
   501         {EPtiKeyQwertyL, EPtiCaseFnLower, 95, 1},
       
   502         {EPtiKeyQwertyZ, EPtiCaseFnLower, 96, 1},
       
   503         {EPtiKeyQwertyX, EPtiCaseFnLower, 97, 1},
       
   504         {EPtiKeyQwertyC, EPtiCaseFnLower, 98, 1},
       
   505         {EPtiKeyQwertyV, EPtiCaseFnLower, 99, 1},
       
   506         {EPtiKeyQwertyB, EPtiCaseFnLower, 100, 1},
       
   507         {EPtiKeyQwertyN, EPtiCaseFnLower, 101, 1},
       
   508         {EPtiKeyQwertyM, EPtiCaseFnLower, 102, 1},
       
   509         {EPtiKeyQwertyComma, EPtiCaseFnLower, 103, 1},
       
   510         {EPtiKeyQwertyFullstop, EPtiCaseFnLower, 104, 1},
       
   511     };
       
   512 
       
   513 const TInt KMaxMiniQwertyIndex_Greek = 82;
       
   514 
       
   515 
       
   516 //
       
   517 // Dead key data table for MiniQwerty
       
   518 //
       
   519 const TUint16 MiniQwertyDeadKeyData_table_Greek[] =
       
   520     {
       
   521     2,  0xF000,0xF000,0x03AD,0xF000,0xF000,
       
   522     5,  0x03B0,0x03CB,0x03CD,0xF000,0xF000,
       
   523     7,  0x0390,0x03CA,0x03AF,0xF000,0xF000,
       
   524     8,  0xF000,0xF000,0x03CC,0xF000,0xF000,
       
   525     10,  0xF000,0xF000,0x03AC,0xF000,0xF000,
       
   526     15,  0xF000,0xF000,0x03AE,0xF000,0xF000,
       
   527     22,  0xF000,0xF000,0x03CE,0xF000,0xF000,
       
   528     39,  0xF000,0x03AA,0x038A,0xF000,0xF000,
       
   529     54,  0xF000,0xF000,0x038F,0xF000,0xF000,
       
   530     };
       
   531 
       
   532 const TInt KMiniQwertyDeadKeyTableRows_Greek = 9;
       
   533 
       
   534 
       
   535 //
       
   536 // Numeric key data table for MiniQwerty
       
   537 //
       
   538 const TPtiNumericKeyBinding MiniQwertyNumericKeysData_table_Greek[] =
       
   539 	{
       
   540 	{'p',EPtiKeyQwerty0,EPtiCaseLower},
       
   541 	{'w',EPtiKeyQwerty2,EPtiCaseLower},
       
   542 	{'E',EPtiKeyQwerty3,EPtiCaseUpper},
       
   543 	};
       
   544 
       
   545 const TInt KNumMiniQwertyNumericKeysEntries_Greek = 3;
       
   546 //
       
   547 // Class implementation.
       
   548 //
       
   549 
       
   550 CPtiLangDataImplGreek* CPtiLangDataImplGreek::NewL()
       
   551     {
       
   552     return new (ELeave) CPtiLangDataImplGreek();
       
   553     }
       
   554 
       
   555 
       
   556 TInt CPtiLangDataImplGreek::LanguageCode() const
       
   557     {
       
   558     return ELangGreek;
       
   559     }
       
   560 
       
   561 
       
   562 const TUint16* CPtiLangDataImplGreek::KeyData(TPtiKeyboardType aKeyboardType, TInt& aDataSize) const
       
   563     {
       
   564     if (aKeyboardType == EPtiKeyboard12Key)
       
   565         {
       
   566         aDataSize = KMultitapDataSize_Greek;
       
   567         return MultitapData_table_Greek;
       
   568         }
       
   569     if (aKeyboardType == EPtiKeyboardQwerty4x12)
       
   570         {
       
   571         aDataSize = KStandardQwertyDataSize_Greek;
       
   572         return StandardQwertyData_table_Greek;
       
   573         }
       
   574 
       
   575     if (aKeyboardType == EPtiKeyboardQwerty4x10)
       
   576         {
       
   577         aDataSize = KMiniQwertyDataSize_Greek;
       
   578         return MiniQwertyData_table_Greek;
       
   579         }
       
   580 
       
   581     aDataSize = 0;
       
   582     return NULL;
       
   583     }
       
   584 
       
   585 
       
   586 const TPtiKeyBinding* CPtiLangDataImplGreek::KeyBindingTable(TPtiKeyboardType aKeyboardType, TInt& aNumItems) const
       
   587     {
       
   588     if (aKeyboardType == EPtiKeyboard12Key)
       
   589         {
       
   590         aNumItems = KMaxMultitapIndex_Greek;
       
   591         return MultitapKeyBindings_table_Greek;
       
   592         }
       
   593     if (aKeyboardType == EPtiKeyboardQwerty4x12)
       
   594         {
       
   595         aNumItems = KMaxStandardQwertyIndex_Greek;
       
   596         return StandardQwertyKeyBindings_table_Greek;
       
   597         }
       
   598     if (aKeyboardType == EPtiKeyboardQwerty4x10)
       
   599         {
       
   600         aNumItems = KMaxMiniQwertyIndex_Greek;
       
   601         return MiniQwertyKeyBindings_table_Greek;
       
   602         }
       
   603 
       
   604     aNumItems = 0;
       
   605     return NULL;
       
   606     }
       
   607 
       
   608 
       
   609 const TUint16* CPtiLangDataImplGreek::DeadKeyDataArray(TPtiKeyboardType aKeyboardType, TInt& aNumRowsInArray) const
       
   610     {
       
   611     if (aKeyboardType == EPtiKeyboardQwerty4x12)
       
   612         {
       
   613         aNumRowsInArray = KStandardQwertyDeadKeyTableRows_Greek;
       
   614         return StandardQwertyDeadKeyData_table_Greek;
       
   615         }
       
   616 
       
   617     if (aKeyboardType == EPtiKeyboardQwerty4x10)
       
   618         {
       
   619         aNumRowsInArray = KMiniQwertyDeadKeyTableRows_Greek;
       
   620         return MiniQwertyDeadKeyData_table_Greek;
       
   621         }
       
   622 
       
   623     aNumRowsInArray = 0;
       
   624     return NULL;
       
   625     }
       
   626 
       
   627 
       
   628 const TPtiNumericKeyBinding* CPtiLangDataImplGreek::NumericModeKeysTable(TPtiKeyboardType aKeyboardType, TInt& aNumEntries) const
       
   629     {
       
   630     if (aKeyboardType == EPtiKeyboardQwerty4x12)
       
   631         {
       
   632         aNumEntries = KNumStandardQwertyNumericKeysEntries_Greek;
       
   633         return StandardQwertyNumericKeysData_table_Greek;
       
   634         }
       
   635 
       
   636     if (aKeyboardType == EPtiKeyboardQwerty4x10)
       
   637         {
       
   638         aNumEntries = KNumMiniQwertyNumericKeysEntries_Greek;
       
   639         return MiniQwertyNumericKeysData_table_Greek;
       
   640         }
       
   641 
       
   642     aNumEntries = 0;
       
   643     return NULL;
       
   644     }
       
   645 
       
   646 
       
   647 
       
   648 TBool CPtiLangDataImplGreek::SuitableForLatinOnlyMode() const
       
   649     {
       
   650     return EFalse;
       
   651     }
       
   652 
       
   653