textinput/ptienginev2/languages/PtiKeymappings_ITUT_49.cpp
changeset 0 eb1f2e154e89
child 11 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_49.h"
       
    34 
       
    35 //
       
    36 // Multitap keymap data table
       
    37 //
       
    38 const TUint16 MultitapData_table_Estonian[] =
       
    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,0x101,0x105,0xe5,0xe6,0x10d,
       
    42      0x64,0x65,0x66,0x33,0xe9,0x113,0x117,0x119,
       
    43      0x67,0x68,0x69,0x34,0x123,0x12b,0x12f,
       
    44      0x6a,0x6b,0x6c,0x35,0x137,0x13c,0xa3,
       
    45      0x6d,0x6e,0x6f,0x36,0xf5,0xf6,0xf8,0x146,
       
    46      0x70,0x71,0x72,0x73,0x37,0x161,0x157,0xdf,0x24,
       
    47      0x74,0x75,0x76,0x38,0xfc,0x16b,0x173,
       
    48      0x77,0x78,0x79,0x7a,0x39,0x17e,
       
    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,0x100,0x104,0xc5,0xc6,0x10c,
       
    52      0x44,0x45,0x46,0x33,0xc9,0x112,0x116,0x118,
       
    53      0x47,0x48,0x49,0x34,0x122,0x12a,0x12e,
       
    54      0x4a,0x4b,0x4c,0x35,0x136,0x13b,0xa3,
       
    55      0x4d,0x4e,0x4f,0x36,0xd5,0xd6,0xd8,0x145,
       
    56      0x50,0x51,0x52,0x53,0x37,0x160,0x156,0x24,
       
    57      0x54,0x55,0x56,0x38,0xdc,0x16a,0x172,
       
    58      0x57,0x58,0x59,0x5a,0x39,0x17d,
       
    59      0x20,0x30,0x21b2,
       
    60     };
       
    61 
       
    62 const TInt KMultitapDataSize_Estonian = 189;
       
    63 
       
    64 
       
    65 const TPtiKeyBinding MultitapKeyBindings_table_Estonian[] =
       
    66     {
       
    67         {EPtiKey1, EPtiCaseLower, 0, 30},
       
    68         {EPtiKey2, EPtiCaseLower, 30, 10},
       
    69         {EPtiKey3, EPtiCaseLower, 40, 8},
       
    70         {EPtiKey4, EPtiCaseLower, 48, 7},
       
    71         {EPtiKey5, EPtiCaseLower, 55, 7},
       
    72         {EPtiKey6, EPtiCaseLower, 62, 8},
       
    73         {EPtiKey7, EPtiCaseLower, 70, 9},
       
    74         {EPtiKey8, EPtiCaseLower, 79, 7},
       
    75         {EPtiKey9, EPtiCaseLower, 86, 6},
       
    76         {EPtiKeyStar, EPtiCaseLower, 92, 0},
       
    77         {EPtiKey0, EPtiCaseLower, 92, 3},
       
    78         {EPtiKeyHash, EPtiCaseLower, 95, 0},
       
    79         {EPtiKey1, EPtiCaseUpper, 95, 30},
       
    80         {EPtiKey2, EPtiCaseUpper, 125, 10},
       
    81         {EPtiKey3, EPtiCaseUpper, 135, 8},
       
    82         {EPtiKey4, EPtiCaseUpper, 143, 7},
       
    83         {EPtiKey5, EPtiCaseUpper, 150, 7},
       
    84         {EPtiKey6, EPtiCaseUpper, 157, 8},
       
    85         {EPtiKey7, EPtiCaseUpper, 165, 8},
       
    86         {EPtiKey8, EPtiCaseUpper, 173, 7},
       
    87         {EPtiKey9, EPtiCaseUpper, 180, 6},
       
    88         {EPtiKeyStar, EPtiCaseUpper, 186, 0},
       
    89         {EPtiKey0, EPtiCaseUpper, 186, 3},
       
    90         {EPtiKeyHash, EPtiCaseUpper, 189, 0},
       
    91     };
       
    92 
       
    93 const TInt KMaxMultitapIndex_Estonian = 24;
       
    94 
       
    95 //
       
    96 // StandardQwerty keymap data table
       
    97 //
       
    98 const TUint16 StandardQwertyData_table_Estonian[] =
       
    99     {
       
   100      0x31,
       
   101      0x32,
       
   102      0x33,
       
   103      0x34,
       
   104      0x35,
       
   105      0x36,
       
   106      0x37,
       
   107      0x38,
       
   108      0x39,
       
   109      0x30,
       
   110      0x40,
       
   111      0x71,
       
   112      0x77,
       
   113      0x65,0xe9,0x113,0x117,0x119,
       
   114      0x72,0x157,
       
   115      0x74,
       
   116      0x7a,0x17e,
       
   117      0x75,0x16b,0x173,
       
   118      0x69,0x12b,0x12f,
       
   119      0x6f,0xf5,0xf8,
       
   120      0x70,
       
   121      0xfc,
       
   122      0x2b,
       
   123      0x61,0x101,0x105,0xe5,0xe6,
       
   124      0x73,0x161,0xdf,
       
   125      0x64,
       
   126      0x66,
       
   127      0x67,0x123,
       
   128      0x68,
       
   129      0x6a,
       
   130      0x6b,0x137,
       
   131      0x6c,0x13c,
       
   132      0xf6,
       
   133      0xe4,
       
   134      0x79,
       
   135      0x78,
       
   136      0x63,0x10d,
       
   137      0x76,
       
   138      0x62,
       
   139      0x6e,0x146,
       
   140      0x6d,
       
   141      0x2c,
       
   142      0x2e,
       
   143      0x2d,
       
   144      0x21,
       
   145      0x22,
       
   146      0x20ac,
       
   147      0x2a,
       
   148      0x2f,
       
   149      0x28,
       
   150      0x29,
       
   151      0x3d,
       
   152      0x3f,
       
   153      0xdf,
       
   154      0xf001,0x7e,
       
   155      0x51,
       
   156      0x57,
       
   157      0x45,0xc9,0x112,0x116,0x118,
       
   158      0x52,0x156,
       
   159      0x54,
       
   160      0x5a,0x17d,
       
   161      0x55,0x16a,0x172,
       
   162      0x49,0x12a,0x12e,
       
   163      0x4f,0xd5,0xd8,
       
   164      0x50,
       
   165      0xdc,
       
   166      0x23,
       
   167      0x41,0x100,0x104,0xc5,0xc6,
       
   168      0x53,0x160,
       
   169      0x44,
       
   170      0x46,
       
   171      0x47,0x122,
       
   172      0x48,
       
   173      0x4a,
       
   174      0x4b,0x136,
       
   175      0x4c,0x13b,
       
   176      0xd6,
       
   177      0xc4,
       
   178      0x59,
       
   179      0x58,
       
   180      0x43,0x10c,
       
   181      0x56,
       
   182      0x42,
       
   183      0x4e,0x145,
       
   184      0x4d,
       
   185      0x3b,
       
   186      0x3a,
       
   187      0x27,
       
   188     };
       
   189 
       
   190 const TInt KStandardQwertyDataSize_Estonian = 134;
       
   191 
       
   192 
       
   193 const TPtiKeyBinding StandardQwertyKeyBindings_table_Estonian[] =
       
   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, 2},
       
   210         {EPtiKeyQwertyT, EPtiCaseLower, 20, 1},
       
   211         {EPtiKeyQwertyY, EPtiCaseLower, 21, 2},
       
   212         {EPtiKeyQwertyU, EPtiCaseLower, 23, 3},
       
   213         {EPtiKeyQwertyI, EPtiCaseLower, 26, 3},
       
   214         {EPtiKeyQwertyO, EPtiCaseLower, 29, 3},
       
   215         {EPtiKeyQwertyP, EPtiCaseLower, 32, 1},
       
   216         {EPtiKeyQwertyMinus, EPtiCaseLower, 33, 1},
       
   217         {EPtiKeyQwertyHash, EPtiCaseLower, 34, 1},
       
   218         {EPtiKeyQwertyA, EPtiCaseLower, 35, 5},
       
   219         {EPtiKeyQwertyS, EPtiCaseLower, 40, 3},
       
   220         {EPtiKeyQwertyD, EPtiCaseLower, 43, 1},
       
   221         {EPtiKeyQwertyF, EPtiCaseLower, 44, 1},
       
   222         {EPtiKeyQwertyG, EPtiCaseLower, 45, 2},
       
   223         {EPtiKeyQwertyH, EPtiCaseLower, 47, 1},
       
   224         {EPtiKeyQwertyJ, EPtiCaseLower, 48, 1},
       
   225         {EPtiKeyQwertyK, EPtiCaseLower, 49, 2},
       
   226         {EPtiKeyQwertyL, EPtiCaseLower, 51, 2},
       
   227         {EPtiKeyQwertySemicolon, EPtiCaseLower, 53, 1},
       
   228         {EPtiKeyQwertyApostrophe, EPtiCaseLower, 54, 1},
       
   229         {EPtiKeyQwertyZ, EPtiCaseLower, 55, 1},
       
   230         {EPtiKeyQwertyX, EPtiCaseLower, 56, 1},
       
   231         {EPtiKeyQwertyC, EPtiCaseLower, 57, 2},
       
   232         {EPtiKeyQwertyV, EPtiCaseLower, 59, 1},
       
   233         {EPtiKeyQwertyB, EPtiCaseLower, 60, 1},
       
   234         {EPtiKeyQwertyN, EPtiCaseLower, 61, 2},
       
   235         {EPtiKeyQwertyM, EPtiCaseLower, 63, 1},
       
   236         {EPtiKeyQwertyComma, EPtiCaseLower, 64, 1},
       
   237         {EPtiKeyQwertyFullstop, EPtiCaseLower, 65, 1},
       
   238         {EPtiKeyQwertySlash, EPtiCaseLower, 66, 1},
       
   239         {EPtiKeyQwerty1, EPtiCaseUpper, 67, 1},
       
   240         {EPtiKeyQwerty2, EPtiCaseUpper, 68, 1},
       
   241         {EPtiKeyQwerty3, EPtiCaseUpper, 69, 1},
       
   242         {EPtiKeyQwerty4, EPtiCaseUpper, 70, 1},
       
   243         {EPtiKeyQwerty5, EPtiCaseUpper, 71, 1},
       
   244         {EPtiKeyQwerty6, EPtiCaseUpper, 72, 1},
       
   245         {EPtiKeyQwerty7, EPtiCaseUpper, 73, 1},
       
   246         {EPtiKeyQwerty8, EPtiCaseUpper, 74, 1},
       
   247         {EPtiKeyQwerty9, EPtiCaseUpper, 75, 1},
       
   248         {EPtiKeyQwerty0, EPtiCaseUpper, 76, 1},
       
   249         {EPtiKeyQwertyPlus, EPtiCaseUpper, 77, 2},
       
   250         {EPtiKeyQwertyQ, EPtiCaseUpper, 79, 1},
       
   251         {EPtiKeyQwertyW, EPtiCaseUpper, 80, 1},
       
   252         {EPtiKeyQwertyE, EPtiCaseUpper, 81, 5},
       
   253         {EPtiKeyQwertyR, EPtiCaseUpper, 86, 2},
       
   254         {EPtiKeyQwertyT, EPtiCaseUpper, 88, 1},
       
   255         {EPtiKeyQwertyY, EPtiCaseUpper, 89, 2},
       
   256         {EPtiKeyQwertyU, EPtiCaseUpper, 91, 3},
       
   257         {EPtiKeyQwertyI, EPtiCaseUpper, 94, 3},
       
   258         {EPtiKeyQwertyO, EPtiCaseUpper, 97, 3},
       
   259         {EPtiKeyQwertyP, EPtiCaseUpper, 100, 1},
       
   260         {EPtiKeyQwertyMinus, EPtiCaseUpper, 101, 1},
       
   261         {EPtiKeyQwertyHash, EPtiCaseUpper, 102, 1},
       
   262         {EPtiKeyQwertyA, EPtiCaseUpper, 103, 5},
       
   263         {EPtiKeyQwertyS, EPtiCaseUpper, 108, 2},
       
   264         {EPtiKeyQwertyD, EPtiCaseUpper, 110, 1},
       
   265         {EPtiKeyQwertyF, EPtiCaseUpper, 111, 1},
       
   266         {EPtiKeyQwertyG, EPtiCaseUpper, 112, 2},
       
   267         {EPtiKeyQwertyH, EPtiCaseUpper, 114, 1},
       
   268         {EPtiKeyQwertyJ, EPtiCaseUpper, 115, 1},
       
   269         {EPtiKeyQwertyK, EPtiCaseUpper, 116, 2},
       
   270         {EPtiKeyQwertyL, EPtiCaseUpper, 118, 2},
       
   271         {EPtiKeyQwertySemicolon, EPtiCaseUpper, 120, 1},
       
   272         {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 121, 1},
       
   273         {EPtiKeyQwertyZ, EPtiCaseUpper, 122, 1},
       
   274         {EPtiKeyQwertyX, EPtiCaseUpper, 123, 1},
       
   275         {EPtiKeyQwertyC, EPtiCaseUpper, 124, 2},
       
   276         {EPtiKeyQwertyV, EPtiCaseUpper, 126, 1},
       
   277         {EPtiKeyQwertyB, EPtiCaseUpper, 127, 1},
       
   278         {EPtiKeyQwertyN, EPtiCaseUpper, 128, 2},
       
   279         {EPtiKeyQwertyM, EPtiCaseUpper, 130, 1},
       
   280         {EPtiKeyQwertyComma, EPtiCaseUpper, 131, 1},
       
   281         {EPtiKeyQwertyFullstop, EPtiCaseUpper, 132, 1},
       
   282         {EPtiKeyQwertySlash, EPtiCaseUpper, 133, 1},
       
   283     };
       
   284 
       
   285 const TInt KMaxStandardQwertyIndex_Estonian = 88;
       
   286 
       
   287 
       
   288 //
       
   289 // Dead key data table for StandardQwerty
       
   290 //
       
   291 const TUint16 StandardQwertyDeadKeyData_table_Estonian[] =
       
   292     {
       
   293     19,  0x00f5,0xf000,0xf000,0xf000,0xf000,
       
   294     63,  0x00d5,0xf000,0xf000,0xf000,0xf000,
       
   295     };
       
   296 
       
   297 const TInt KStandardQwertyDeadKeyTableRows_Estonian = 2;
       
   298 
       
   299 //
       
   300 // MiniQwerty keymap data table
       
   301 //
       
   302 const TUint16 MiniQwertyData_table_Estonian[] =
       
   303     {
       
   304      0x0071,
       
   305      0x0077,
       
   306      0x0065,0x00E9,0x0113,0x0117,0x0119,
       
   307      0x0072,0x0157,
       
   308      0x0074,
       
   309      0x007A,0x017E,
       
   310      0x0075,0x00FC,0x016B,0x0173,
       
   311      0x0069,0x012B,0x012F,
       
   312      0x006F,0x00F5,0x00F8,
       
   313      0x0070,
       
   314      0x0061,0x0101,0x0105,0x00E5,0x00E6,
       
   315      0x0073,0x0161,0x00DF,
       
   316      0x0064,
       
   317      0x0066,
       
   318      0x0067,0x0123,
       
   319      0x0068,
       
   320      0x006A,
       
   321      0x006B,0x0137,
       
   322      0x006C,0x013C,
       
   323      0x0079,
       
   324      0x0078,
       
   325      0x0063,0x010D,
       
   326      0x0076,
       
   327      0x0062,
       
   328      0x006E,0x0146,
       
   329      0x006D,
       
   330      0x00F6,
       
   331      0x00E4,
       
   332      0x0040,
       
   333      0x0026,
       
   334      0x002C,
       
   335      0x002E,
       
   336      0x0051,
       
   337      0x0057,
       
   338      0x0045,0x00C9,0x0112,0x0116,0x0118,
       
   339      0x0052,0x0156,
       
   340      0x0054,
       
   341      0x005A,0x017D,
       
   342      0x0055,0x00DC,0x016A,0x0172,
       
   343      0x0049,0x012A,0x012E,
       
   344      0x004F,0x00D5,0x00D8,
       
   345      0x0050,
       
   346      0x0041,0x0100,0x0104,0x00C5,0x00C6,
       
   347      0x0053,0x0160,
       
   348      0x0044,
       
   349      0x0046,
       
   350      0x0047,0x0122,
       
   351      0x0048,
       
   352      0x004A,
       
   353      0x004B,0x0136,
       
   354      0x004C,0x013B,
       
   355      0x0059,
       
   356      0x0058,
       
   357      0x0043,0x010C,
       
   358      0x0056,
       
   359      0x0042,
       
   360      0x004E,0x0145,
       
   361      0x004D,
       
   362      0x00D6,
       
   363      0x00C4,
       
   364      0x003B,
       
   365      0x003A,
       
   366      0x0021,
       
   367      0x0022,
       
   368      0x0031,
       
   369      0x0031,
       
   370      0x0032,
       
   371      0x0032,
       
   372      0x0033,
       
   373      0x0033,
       
   374      0x00DF,
       
   375      0x003F,
       
   376      0x0027,
       
   377      0x0034,
       
   378      0x0034,
       
   379      0x0035,
       
   380      0x0035,
       
   381      0x0036,
       
   382      0x0036,
       
   383      0x00FC,
       
   384      0x002F,
       
   385      0x002D,
       
   386      0x0037,
       
   387      0x0037,
       
   388      0x0038,
       
   389      0x0038,
       
   390      0x0039,
       
   391      0x0039,
       
   392      0x002B,
       
   393      0x002A,
       
   394      0x002A,
       
   395      0x0030,
       
   396      0x0030,
       
   397      0x0023,
       
   398      0x0023,
       
   399      0x00DF,
       
   400      0x00DC,
       
   401     };
       
   402 
       
   403 const TInt KMiniQwertyDataSize_Estonian = 144;
       
   404 
       
   405 
       
   406 const TPtiKeyBinding MiniQwertyKeyBindings_table_Estonian[] =
       
   407     {
       
   408         {EPtiKeyQwerty1, EPtiCaseLower, 0, 1},
       
   409         {EPtiKeyQwerty2, EPtiCaseLower, 1, 1},
       
   410         {EPtiKeyQwerty3, EPtiCaseLower, 2, 5},
       
   411         {EPtiKeyQwerty4, EPtiCaseLower, 7, 2},
       
   412         {EPtiKeyQwerty5, EPtiCaseLower, 9, 1},
       
   413         {EPtiKeyQwerty6, EPtiCaseLower, 10, 2},
       
   414         {EPtiKeyQwerty7, EPtiCaseLower, 12, 4},
       
   415         {EPtiKeyQwerty8, EPtiCaseLower, 16, 3},
       
   416         {EPtiKeyQwerty9, EPtiCaseLower, 19, 3},
       
   417         {EPtiKeyQwerty0, EPtiCaseLower, 22, 1},
       
   418         {EPtiKeyQwertyA, EPtiCaseLower, 23, 5},
       
   419         {EPtiKeyQwertyS, EPtiCaseLower, 28, 3},
       
   420         {EPtiKeyQwertyD, EPtiCaseLower, 31, 1},
       
   421         {EPtiKeyQwertyF, EPtiCaseLower, 32, 1},
       
   422         {EPtiKeyQwertyG, EPtiCaseLower, 33, 2},
       
   423         {EPtiKeyQwertyH, EPtiCaseLower, 35, 1},
       
   424         {EPtiKeyQwertyJ, EPtiCaseLower, 36, 1},
       
   425         {EPtiKeyQwertyK, EPtiCaseLower, 37, 2},
       
   426         {EPtiKeyQwertyL, EPtiCaseLower, 39, 2},
       
   427         {EPtiKeyQwertyZ, EPtiCaseLower, 41, 1},
       
   428         {EPtiKeyQwertyX, EPtiCaseLower, 42, 1},
       
   429         {EPtiKeyQwertyC, EPtiCaseLower, 43, 2},
       
   430         {EPtiKeyQwertyV, EPtiCaseLower, 45, 1},
       
   431         {EPtiKeyQwertyB, EPtiCaseLower, 46, 1},
       
   432         {EPtiKeyQwertyN, EPtiCaseLower, 47, 2},
       
   433         {EPtiKeyQwertyM, EPtiCaseLower, 49, 1},
       
   434         {EPtiKeyQwertyComma, EPtiCaseLower, 50, 1},
       
   435         {EPtiKeyQwertyFullstop, EPtiCaseLower, 51, 1},
       
   436         {EPtiKeyQwerty1, EPtiCaseUpper, 56, 1},
       
   437         {EPtiKeyQwerty2, EPtiCaseUpper, 57, 1},
       
   438         {EPtiKeyQwerty3, EPtiCaseUpper, 58, 5},
       
   439         {EPtiKeyQwerty4, EPtiCaseUpper, 63, 2},
       
   440         {EPtiKeyQwerty5, EPtiCaseUpper, 65, 1},
       
   441         {EPtiKeyQwerty6, EPtiCaseUpper, 66, 2},
       
   442         {EPtiKeyQwerty7, EPtiCaseUpper, 68, 4},
       
   443         {EPtiKeyQwerty8, EPtiCaseUpper, 72, 3},
       
   444         {EPtiKeyQwerty9, EPtiCaseUpper, 75, 3},
       
   445         {EPtiKeyQwerty0, EPtiCaseUpper, 78, 1},
       
   446         {EPtiKeyQwertyA, EPtiCaseUpper, 79, 5},
       
   447         {EPtiKeyQwertyS, EPtiCaseUpper, 84, 2},
       
   448         {EPtiKeyQwertyD, EPtiCaseUpper, 86, 1},
       
   449         {EPtiKeyQwertyF, EPtiCaseUpper, 87, 1},
       
   450         {EPtiKeyQwertyG, EPtiCaseUpper, 88, 2},
       
   451         {EPtiKeyQwertyH, EPtiCaseUpper, 90, 1},
       
   452         {EPtiKeyQwertyJ, EPtiCaseUpper, 91, 1},
       
   453         {EPtiKeyQwertyK, EPtiCaseUpper, 92, 2},
       
   454         {EPtiKeyQwertyL, EPtiCaseUpper, 94, 2},
       
   455         {EPtiKeyQwertyZ, EPtiCaseUpper, 96, 1},
       
   456         {EPtiKeyQwertyX, EPtiCaseUpper, 97, 1},
       
   457         {EPtiKeyQwertyC, EPtiCaseUpper, 98, 2},
       
   458         {EPtiKeyQwertyV, EPtiCaseUpper, 100, 1},
       
   459         {EPtiKeyQwertyB, EPtiCaseUpper, 101, 1},
       
   460         {EPtiKeyQwertyN, EPtiCaseUpper, 102, 2},
       
   461         {EPtiKeyQwertyM, EPtiCaseUpper, 104, 1},
       
   462         {EPtiKeyQwertyComma, EPtiCaseUpper, 105, 1},
       
   463         {EPtiKeyQwertyFullstop, EPtiCaseUpper, 106, 1},
       
   464         {EPtiKeyQwerty1, EPtiCaseFnLower, 109, 1},
       
   465         {EPtiKeyQwerty2, EPtiCaseFnLower, 110, 1},
       
   466         {EPtiKeyQwerty3, EPtiCaseFnLower, 111, 1},
       
   467         {EPtiKeyQwerty4, EPtiCaseFnLower, 112, 1},
       
   468         {EPtiKeyQwerty5, EPtiCaseFnLower, 113, 1},
       
   469         {EPtiKeyQwerty6, EPtiCaseFnLower, 114, 1},
       
   470         {EPtiKeyQwerty7, EPtiCaseFnLower, 115, 1},
       
   471         {EPtiKeyQwerty8, EPtiCaseFnLower, 116, 1},
       
   472         {EPtiKeyQwerty9, EPtiCaseFnLower, 117, 1},
       
   473         {EPtiKeyQwertyA, EPtiCaseFnLower, 118, 1},
       
   474         {EPtiKeyQwertyS, EPtiCaseFnLower, 119, 1},
       
   475         {EPtiKeyQwertyD, EPtiCaseFnLower, 120, 1},
       
   476         {EPtiKeyQwertyF, EPtiCaseFnLower, 121, 1},
       
   477         {EPtiKeyQwertyG, EPtiCaseFnLower, 122, 1},
       
   478         {EPtiKeyQwertyH, EPtiCaseFnLower, 123, 1},
       
   479         {EPtiKeyQwertyJ, EPtiCaseFnLower, 124, 1},
       
   480         {EPtiKeyQwertyK, EPtiCaseFnLower, 125, 1},
       
   481         {EPtiKeyQwertyL, EPtiCaseFnLower, 126, 1},
       
   482         {EPtiKeyQwertyZ, EPtiCaseFnLower, 127, 1},
       
   483         {EPtiKeyQwertyX, EPtiCaseFnLower, 128, 1},
       
   484         {EPtiKeyQwertyC, EPtiCaseFnLower, 129, 1},
       
   485         {EPtiKeyQwertyV, EPtiCaseFnLower, 130, 1},
       
   486         {EPtiKeyQwertyB, EPtiCaseFnLower, 131, 1},
       
   487         {EPtiKeyQwertyN, EPtiCaseFnLower, 132, 1},
       
   488         {EPtiKeyQwertyM, EPtiCaseFnLower, 133, 1},
       
   489         {EPtiKeyQwertyComma, EPtiCaseFnLower, 134, 1},
       
   490         {EPtiKeyQwertyFullstop, EPtiCaseFnLower, 135, 1},
       
   491         {EPtiKeyQwerty9, EPtiCaseFnUpper, 142, 1},
       
   492         {EPtiKeyQwertyL, EPtiCaseFnUpper, 143, 1},
       
   493     };
       
   494 
       
   495 const TInt KMaxMiniQwertyIndex_Estonian = 85;
       
   496 
       
   497 //
       
   498 // MiniQwerty3x11 keymap data table
       
   499 //
       
   500 const TUint16 MiniQwerty3x11Data_table_Estonian[] =
       
   501     {
       
   502      0x0071,
       
   503      0x0077,
       
   504      0x0065,0x00E9,0x0113,0x0117,0x0119,
       
   505      0x0072,0x0157,
       
   506      0x0074,
       
   507      0x007A,0x017E,
       
   508      0x0075,0x00FC,0x016B,0x0173,
       
   509      0x0069,0x012B,0x012F,
       
   510      0x006F,0x00F5,0x00F8,
       
   511      0x0070,
       
   512      0x0061,0x0101,0x0105,0x00E5,0x00E6,
       
   513      0x0073,0x0161,0x00DF,
       
   514      0x0064,
       
   515      0x0066,
       
   516      0x0067,0x0123,
       
   517      0x0068,
       
   518      0x006A,
       
   519      0x006B,0x0137,
       
   520      0x006C,0x013C,
       
   521      0x00FC,
       
   522      0x0079,
       
   523      0x0078,
       
   524      0x0063,0x010D,
       
   525      0x0076,
       
   526      0x0062,
       
   527      0x006E,0x0146,
       
   528      0x006D,
       
   529      0x0051,
       
   530      0x0057,
       
   531      0x0045,0x00C9,0x0112,0x0116,0x0118,
       
   532      0x0052,0x0156,
       
   533      0x0054,
       
   534      0x005A,0x017D,
       
   535      0x0055,0x00DC,0x016A,0x0172,
       
   536      0x0049,0x012A,0x012E,
       
   537      0x004F,0x00D5,0x00D8,
       
   538      0x0050,
       
   539      0x0041,0x0100,0x0104,0x00C5,0x00C6,
       
   540      0x0053,0x0160,
       
   541      0x0044,
       
   542      0x0046,
       
   543      0x0047,0x0122,
       
   544      0x0048,
       
   545      0x004A,
       
   546      0x004B,0x0136,
       
   547      0x0059,
       
   548      0x0058,
       
   549      0x0043,0x010C,
       
   550      0x0056,
       
   551      0x0042,
       
   552      0x004E,0x0145,
       
   553      0x004D,
       
   554      0x0031,
       
   555      0x0032,
       
   556      0x0033,
       
   557      0x0034,
       
   558      0x0035,
       
   559      0x0036,
       
   560      0x0037,
       
   561      0x0038,
       
   562      0x0039,
       
   563      0x0030,
       
   564      0x0040,
       
   565      0x002F,
       
   566      0x002B,
       
   567      0x002D,
       
   568      0x002A,
       
   569      0x0023,
       
   570      0x003D,
       
   571      0x00F6,
       
   572      0x00E4,
       
   573      0x00DF,
       
   574      0x0027,
       
   575      0x0021,
       
   576      0x003F,
       
   577      0x002C,
       
   578      0x002E,
       
   579      0x003B,
       
   580      0x003A,
       
   581      0x00D6,
       
   582      0x00C4,
       
   583      0x00DF,
       
   584     };
       
   585 
       
   586 const TInt KMiniQwerty3x11DataSize_Estonian = 128;
       
   587 
       
   588 
       
   589 const TPtiKeyBinding MiniQwerty3x11KeyBindings_table_Estonian[] =
       
   590     {
       
   591         {EPtiKeyQwertyQ, EPtiCaseLower, 0, 1},
       
   592         {EPtiKeyQwertyW, EPtiCaseLower, 1, 1},
       
   593         {EPtiKeyQwertyE, EPtiCaseLower, 2, 5},
       
   594         {EPtiKeyQwertyR, EPtiCaseLower, 7, 2},
       
   595         {EPtiKeyQwertyT, EPtiCaseLower, 9, 1},
       
   596         {EPtiKeyQwertyY, EPtiCaseLower, 10, 2},
       
   597         {EPtiKeyQwertyU, EPtiCaseLower, 12, 4},
       
   598         {EPtiKeyQwertyI, EPtiCaseLower, 16, 3},
       
   599         {EPtiKeyQwertyO, EPtiCaseLower, 19, 3},
       
   600         {EPtiKeyQwertyP, EPtiCaseLower, 22, 1},
       
   601         {EPtiKeyQwertyA, EPtiCaseLower, 23, 5},
       
   602         {EPtiKeyQwertyS, EPtiCaseLower, 28, 3},
       
   603         {EPtiKeyQwertyD, EPtiCaseLower, 31, 1},
       
   604         {EPtiKeyQwertyF, EPtiCaseLower, 32, 1},
       
   605         {EPtiKeyQwertyG, EPtiCaseLower, 33, 2},
       
   606         {EPtiKeyQwertyH, EPtiCaseLower, 35, 1},
       
   607         {EPtiKeyQwertyJ, EPtiCaseLower, 36, 1},
       
   608         {EPtiKeyQwertyK, EPtiCaseLower, 37, 2},
       
   609         {EPtiKeyQwertyL, EPtiCaseLower, 39, 2},
       
   610         {EPtiKeyQwertyComma, EPtiCaseLower, 41, 1},
       
   611         {EPtiKeyQwertyZ, EPtiCaseLower, 42, 1},
       
   612         {EPtiKeyQwertyX, EPtiCaseLower, 43, 1},
       
   613         {EPtiKeyQwertyC, EPtiCaseLower, 44, 2},
       
   614         {EPtiKeyQwertyV, EPtiCaseLower, 46, 1},
       
   615         {EPtiKeyQwertyB, EPtiCaseLower, 47, 1},
       
   616         {EPtiKeyQwertyN, EPtiCaseLower, 48, 2},
       
   617         {EPtiKeyQwertyM, EPtiCaseLower, 50, 1},
       
   618         {EStdKeySpace, EPtiCaseLower, 51, 0},
       
   619         {EPtiKeyQwertyQ, EPtiCaseUpper, 51, 1},
       
   620         {EPtiKeyQwertyW, EPtiCaseUpper, 52, 1},
       
   621         {EPtiKeyQwertyE, EPtiCaseUpper, 53, 5},
       
   622         {EPtiKeyQwertyR, EPtiCaseUpper, 58, 2},
       
   623         {EPtiKeyQwertyT, EPtiCaseUpper, 60, 1},
       
   624         {EPtiKeyQwertyY, EPtiCaseUpper, 61, 2},
       
   625         {EPtiKeyQwertyU, EPtiCaseUpper, 63, 4},
       
   626         {EPtiKeyQwertyI, EPtiCaseUpper, 67, 3},
       
   627         {EPtiKeyQwertyO, EPtiCaseUpper, 70, 3},
       
   628         {EPtiKeyQwertyP, EPtiCaseUpper, 73, 1},
       
   629         {EPtiKeyQwertyA, EPtiCaseUpper, 74, 5},
       
   630         {EPtiKeyQwertyS, EPtiCaseUpper, 79, 2},
       
   631         {EPtiKeyQwertyD, EPtiCaseUpper, 81, 1},
       
   632         {EPtiKeyQwertyF, EPtiCaseUpper, 82, 1},
       
   633         {EPtiKeyQwertyG, EPtiCaseUpper, 83, 2},
       
   634         {EPtiKeyQwertyH, EPtiCaseUpper, 85, 1},
       
   635         {EPtiKeyQwertyJ, EPtiCaseUpper, 86, 1},
       
   636         {EPtiKeyQwertyK, EPtiCaseUpper, 87, 2},
       
   637         {EPtiKeyQwertyL, EPtiCaseUpper, 89, 0},
       
   638         {EPtiKeyQwertyComma, EPtiCaseUpper, 89, 0},
       
   639         {EPtiKeyQwertyZ, EPtiCaseUpper, 89, 1},
       
   640         {EPtiKeyQwertyX, EPtiCaseUpper, 90, 1},
       
   641         {EPtiKeyQwertyC, EPtiCaseUpper, 91, 2},
       
   642         {EPtiKeyQwertyV, EPtiCaseUpper, 93, 1},
       
   643         {EPtiKeyQwertyB, EPtiCaseUpper, 94, 1},
       
   644         {EPtiKeyQwertyN, EPtiCaseUpper, 95, 2},
       
   645         {EPtiKeyQwertyM, EPtiCaseUpper, 97, 1},
       
   646         {EStdKeySpace, EPtiCaseUpper, 98, 0},
       
   647         {EPtiKeyQwertyQ, EPtiCaseFnLower, 98, 1},
       
   648         {EPtiKeyQwertyW, EPtiCaseFnLower, 99, 1},
       
   649         {EPtiKeyQwertyE, EPtiCaseFnLower, 100, 1},
       
   650         {EPtiKeyQwertyR, EPtiCaseFnLower, 101, 1},
       
   651         {EPtiKeyQwertyT, EPtiCaseFnLower, 102, 1},
       
   652         {EPtiKeyQwertyY, EPtiCaseFnLower, 103, 1},
       
   653         {EPtiKeyQwertyU, EPtiCaseFnLower, 104, 1},
       
   654         {EPtiKeyQwertyI, EPtiCaseFnLower, 105, 1},
       
   655         {EPtiKeyQwertyO, EPtiCaseFnLower, 106, 1},
       
   656         {EPtiKeyQwertyP, EPtiCaseFnLower, 107, 1},
       
   657         {EPtiKeyQwertyA, EPtiCaseFnLower, 108, 1},
       
   658         {EPtiKeyQwertyS, EPtiCaseFnLower, 109, 1},
       
   659         {EPtiKeyQwertyD, EPtiCaseFnLower, 110, 1},
       
   660         {EPtiKeyQwertyF, EPtiCaseFnLower, 111, 1},
       
   661         {EPtiKeyQwertyG, EPtiCaseFnLower, 112, 1},
       
   662         {EPtiKeyQwertyH, EPtiCaseFnLower, 113, 1},
       
   663         {EPtiKeyQwertyJ, EPtiCaseFnLower, 114, 1},
       
   664         {EPtiKeyQwertyK, EPtiCaseFnLower, 115, 1},
       
   665         {EPtiKeyQwertyL, EPtiCaseFnLower, 116, 1},
       
   666         {EPtiKeyQwertyComma, EPtiCaseFnLower, 117, 1},
       
   667         {EPtiKeyQwertyZ, EPtiCaseFnLower, 118, 1},
       
   668         {EPtiKeyQwertyX, EPtiCaseFnLower, 119, 1},
       
   669         {EPtiKeyQwertyC, EPtiCaseFnLower, 120, 1},
       
   670         {EPtiKeyQwertyV, EPtiCaseFnLower, 121, 1},
       
   671         {EPtiKeyQwertyB, EPtiCaseFnLower, 122, 1},
       
   672         {EPtiKeyQwertyN, EPtiCaseFnLower, 123, 1},
       
   673         {EPtiKeyQwertyM, EPtiCaseFnLower, 124, 1},
       
   674         {EPtiKeyQwertyK, EPtiCaseFnUpper, 125, 1},
       
   675         {EPtiKeyQwertyL, EPtiCaseFnUpper, 126, 1},
       
   676         {EPtiKeyQwertyComma, EPtiCaseFnUpper, 127, 1},
       
   677     };
       
   678 
       
   679 const TInt KMaxMiniQwerty3x11Index_Estonian = 86;
       
   680 
       
   681 //
       
   682 // Class implementation.
       
   683 //
       
   684 
       
   685 CPtiLangDataImplEstonian* CPtiLangDataImplEstonian::NewL()
       
   686     {
       
   687     return new (ELeave) CPtiLangDataImplEstonian();
       
   688     }
       
   689 
       
   690 
       
   691 TInt CPtiLangDataImplEstonian::LanguageCode() const
       
   692     {
       
   693     return ELangEstonian;
       
   694     }
       
   695 
       
   696 
       
   697 const TUint16* CPtiLangDataImplEstonian::KeyData(TPtiKeyboardType aKeyboardType, TInt& aDataSize) const
       
   698     {
       
   699     if (aKeyboardType == EPtiKeyboard12Key)
       
   700         {
       
   701         aDataSize = KMultitapDataSize_Estonian;
       
   702         return MultitapData_table_Estonian;
       
   703         }
       
   704     if (aKeyboardType == EPtiKeyboardQwerty4x12)
       
   705         {
       
   706         aDataSize = KStandardQwertyDataSize_Estonian;
       
   707         return StandardQwertyData_table_Estonian;
       
   708         }
       
   709 
       
   710     if (aKeyboardType == EPtiKeyboardQwerty4x10)
       
   711         {
       
   712         aDataSize = KMiniQwertyDataSize_Estonian;
       
   713         return MiniQwertyData_table_Estonian;
       
   714         }
       
   715 
       
   716     if (aKeyboardType == EPtiKeyboardQwerty3x11)
       
   717         {
       
   718         aDataSize = KMiniQwerty3x11DataSize_Estonian;
       
   719         return MiniQwerty3x11Data_table_Estonian;
       
   720         }
       
   721 
       
   722     aDataSize = 0;
       
   723     return NULL;
       
   724     }
       
   725 
       
   726 
       
   727 const TPtiKeyBinding* CPtiLangDataImplEstonian::KeyBindingTable(TPtiKeyboardType aKeyboardType, TInt& aNumItems) const
       
   728     {
       
   729     if (aKeyboardType == EPtiKeyboard12Key)
       
   730         {
       
   731         aNumItems = KMaxMultitapIndex_Estonian;
       
   732         return MultitapKeyBindings_table_Estonian;
       
   733         }
       
   734     if (aKeyboardType == EPtiKeyboardQwerty4x12)
       
   735         {
       
   736         aNumItems = KMaxStandardQwertyIndex_Estonian;
       
   737         return StandardQwertyKeyBindings_table_Estonian;
       
   738         }
       
   739     if (aKeyboardType == EPtiKeyboardQwerty4x10)
       
   740         {
       
   741         aNumItems = KMaxMiniQwertyIndex_Estonian;
       
   742         return MiniQwertyKeyBindings_table_Estonian;
       
   743         }
       
   744     if (aKeyboardType == EPtiKeyboardQwerty3x11)
       
   745         {
       
   746         aNumItems = KMaxMiniQwerty3x11Index_Estonian;
       
   747         return MiniQwerty3x11KeyBindings_table_Estonian;
       
   748         }
       
   749 
       
   750     aNumItems = 0;
       
   751     return NULL;
       
   752     }
       
   753 
       
   754 
       
   755 const TUint16* CPtiLangDataImplEstonian::DeadKeyDataArray(TPtiKeyboardType aKeyboardType, TInt& aNumRowsInArray) const
       
   756     {
       
   757     if (aKeyboardType == EPtiKeyboardQwerty4x12)
       
   758         {
       
   759         aNumRowsInArray = KStandardQwertyDeadKeyTableRows_Estonian;
       
   760         return StandardQwertyDeadKeyData_table_Estonian;
       
   761         }
       
   762 
       
   763     aNumRowsInArray = 0;
       
   764     return NULL;
       
   765     }
       
   766 
       
   767