textinput/ptienginev2/languages/PtiKeymappings_ITUT_44.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_44.h"
       
    34 
       
    35 //
       
    36 // Multitap keymap data table
       
    37 //
       
    38 const TUint16 MultitapData_table_Catalan[] =
       
    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,0xe1,0xe0,0xaa,0xe2,0xe3,0xe4,0xe5,0xe6,0xe7,
       
    42      0x64,0x65,0x66,0x33,0xe9,0xe8,0xeb,0xea,0xf0,
       
    43      0x67,0x68,0x69,0x34,0xed,0xee,0xef,0xec,
       
    44      0x6a,0x6b,0x6c,0x35,0xa3,
       
    45      0x6d,0x6e,0x6f,0x36,0xf1,0xf3,0xba,0xf6,0xf4,0xf2,0xf5,0xf8,
       
    46      0x70,0x71,0x72,0x73,0x37,0xdf,0x24,
       
    47      0x74,0x75,0x76,0x38,0xfa,0xfc,0xf9,0xfb,
       
    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,0xc1,0xc0,0xaa,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,
       
    52      0x44,0x45,0x46,0x33,0xc9,0xc8,0xcb,0xca,0xd0,
       
    53      0x47,0x48,0x49,0x34,0xcd,0xce,0xcf,0xcc,
       
    54      0x4a,0x4b,0x4c,0x35,0xa3,
       
    55      0x4d,0x4e,0x4f,0x36,0xd1,0xd3,0xba,0xd6,0xd4,0xd2,0xd5,0xd8,
       
    56      0x50,0x51,0x52,0x53,0x37,0x24,
       
    57      0x54,0x55,0x56,0x38,0xda,0xdc,0xd9,0xdb,
       
    58      0x57,0x58,0x59,0x5a,0x39,0xdd,0xde,
       
    59      0x20,0x30,0x21b2,
       
    60     };
       
    61 
       
    62 const TInt KMultitapDataSize_Catalan = 203;
       
    63 
       
    64 
       
    65 const TPtiKeyBinding MultitapKeyBindings_table_Catalan[] =
       
    66     {
       
    67         {EPtiKey1, EPtiCaseLower, 0, 30},
       
    68         {EPtiKey2, EPtiCaseLower, 30, 13},
       
    69         {EPtiKey3, EPtiCaseLower, 43, 9},
       
    70         {EPtiKey4, EPtiCaseLower, 52, 8},
       
    71         {EPtiKey5, EPtiCaseLower, 60, 5},
       
    72         {EPtiKey6, EPtiCaseLower, 65, 12},
       
    73         {EPtiKey7, EPtiCaseLower, 77, 7},
       
    74         {EPtiKey8, EPtiCaseLower, 84, 8},
       
    75         {EPtiKey9, EPtiCaseLower, 92, 7},
       
    76         {EPtiKeyStar, EPtiCaseLower, 99, 0},
       
    77         {EPtiKey0, EPtiCaseLower, 99, 3},
       
    78         {EPtiKeyHash, EPtiCaseLower, 102, 0},
       
    79         {EPtiKey1, EPtiCaseUpper, 102, 30},
       
    80         {EPtiKey2, EPtiCaseUpper, 132, 13},
       
    81         {EPtiKey3, EPtiCaseUpper, 145, 9},
       
    82         {EPtiKey4, EPtiCaseUpper, 154, 8},
       
    83         {EPtiKey5, EPtiCaseUpper, 162, 5},
       
    84         {EPtiKey6, EPtiCaseUpper, 167, 12},
       
    85         {EPtiKey7, EPtiCaseUpper, 179, 6},
       
    86         {EPtiKey8, EPtiCaseUpper, 185, 8},
       
    87         {EPtiKey9, EPtiCaseUpper, 193, 7},
       
    88         {EPtiKeyStar, EPtiCaseUpper, 200, 0},
       
    89         {EPtiKey0, EPtiCaseUpper, 200, 3},
       
    90         {EPtiKeyHash, EPtiCaseUpper, 203, 0},
       
    91     };
       
    92 
       
    93 const TInt KMaxMultitapIndex_Catalan = 24;
       
    94 
       
    95 //
       
    96 // StandardQwerty keymap data table
       
    97 //
       
    98 const TUint16 StandardQwertyData_table_Catalan[] =
       
    99     {
       
   100      0x31,
       
   101      0x32,
       
   102      0x33,
       
   103      0x34,
       
   104      0x35,
       
   105      0x36,
       
   106      0x37,
       
   107      0x38,
       
   108      0x39,
       
   109      0x30,
       
   110      0x3f,
       
   111      0x71,
       
   112      0x77,
       
   113      0x65,0xe9,0xeb,0xe8,0xea,
       
   114      0x72,
       
   115      0x74,0xfe,
       
   116      0x79,
       
   117      0x75,0xfc,0xfa,0xf9,0xfb,
       
   118      0x69,0xed,0xef,0xec,0xee,
       
   119      0x6f,0xf3,0xf6,0xf2,0xf4,0xf5,0xba,0xf8,
       
   120      0x70,
       
   121      0xf001,0xb4,
       
   122      0xbf,
       
   123      0x61,0xe1,0xaa,0xe4,0xe0,0xe2,0xe3,0xe5,0xe6,
       
   124      0x73,0xdf,
       
   125      0x64,0xf0,
       
   126      0x66,
       
   127      0x67,
       
   128      0x68,
       
   129      0x6a,
       
   130      0x6b,
       
   131      0x6c,
       
   132      0xf1,0xe7,
       
   133      0xf005,0x7e,
       
   134      0x7a,
       
   135      0x78,
       
   136      0x63,0xe7,
       
   137      0x76,
       
   138      0x62,
       
   139      0x6e,0xf1,
       
   140      0x6d,
       
   141      0x2c,
       
   142      0x2e,
       
   143      0x2d,
       
   144      0x40,
       
   145      0x22,
       
   146      0x23,
       
   147      0x2b,
       
   148      0x3d,
       
   149      0x2a,
       
   150      0x2f,
       
   151      0x28,
       
   152      0x29,
       
   153      0x27,
       
   154      0x21,
       
   155      0x51,
       
   156      0x57,
       
   157      0x45,0xc9,0xcb,0xc8,0xca,
       
   158      0x52,
       
   159      0x54,0xde,
       
   160      0x59,0xdd,
       
   161      0x55,0xdc,0xda,0xd9,0xdb,
       
   162      0x49,0xcd,0xcf,0xcc,0xce,
       
   163      0x4f,0xd3,0xd6,0xd2,0xd4,0xd5,0xba,0xd8,
       
   164      0x50,
       
   165      0xf002,0xa8,
       
   166      0xa1,
       
   167      0x41,0xc1,0xaa,0xc4,0xc0,0xc2,0xc3,0xc5,0xc6,
       
   168      0x53,
       
   169      0x44,0xd0,
       
   170      0x46,
       
   171      0x47,
       
   172      0x48,
       
   173      0x4a,
       
   174      0x4b,
       
   175      0x4c,
       
   176      0xd1,0xc7,
       
   177      0xf004,0x5e,
       
   178      0x5a,
       
   179      0x58,
       
   180      0x43,0xc7,
       
   181      0x56,
       
   182      0x42,
       
   183      0x4e,0xd1,
       
   184      0x4d,
       
   185      0x3b,
       
   186      0x3a,
       
   187      0xf003,0x60,
       
   188     };
       
   189 
       
   190 const TInt KStandardQwertyDataSize_Catalan = 159;
       
   191 
       
   192 
       
   193 const TPtiKeyBinding StandardQwertyKeyBindings_table_Catalan[] =
       
   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, 1},
       
   212         {EPtiKeyQwertyU, EPtiCaseLower, 22, 5},
       
   213         {EPtiKeyQwertyI, EPtiCaseLower, 27, 5},
       
   214         {EPtiKeyQwertyO, EPtiCaseLower, 32, 8},
       
   215         {EPtiKeyQwertyP, EPtiCaseLower, 40, 1},
       
   216         {EPtiKeyQwertyMinus, EPtiCaseLower, 41, 2},
       
   217         {EPtiKeyQwertyHash, EPtiCaseLower, 43, 1},
       
   218         {EPtiKeyQwertyA, EPtiCaseLower, 44, 9},
       
   219         {EPtiKeyQwertyS, EPtiCaseLower, 53, 2},
       
   220         {EPtiKeyQwertyD, EPtiCaseLower, 55, 2},
       
   221         {EPtiKeyQwertyF, EPtiCaseLower, 57, 1},
       
   222         {EPtiKeyQwertyG, EPtiCaseLower, 58, 1},
       
   223         {EPtiKeyQwertyH, EPtiCaseLower, 59, 1},
       
   224         {EPtiKeyQwertyJ, EPtiCaseLower, 60, 1},
       
   225         {EPtiKeyQwertyK, EPtiCaseLower, 61, 1},
       
   226         {EPtiKeyQwertyL, EPtiCaseLower, 62, 1},
       
   227         {EPtiKeyQwertySemicolon, EPtiCaseLower, 63, 2},
       
   228         {EPtiKeyQwertyApostrophe, EPtiCaseLower, 65, 2},
       
   229         {EPtiKeyQwertyZ, EPtiCaseLower, 67, 1},
       
   230         {EPtiKeyQwertyX, EPtiCaseLower, 68, 1},
       
   231         {EPtiKeyQwertyC, EPtiCaseLower, 69, 2},
       
   232         {EPtiKeyQwertyV, EPtiCaseLower, 71, 1},
       
   233         {EPtiKeyQwertyB, EPtiCaseLower, 72, 1},
       
   234         {EPtiKeyQwertyN, EPtiCaseLower, 73, 2},
       
   235         {EPtiKeyQwertyM, EPtiCaseLower, 75, 1},
       
   236         {EPtiKeyQwertyComma, EPtiCaseLower, 76, 1},
       
   237         {EPtiKeyQwertyFullstop, EPtiCaseLower, 77, 1},
       
   238         {EPtiKeyQwertySlash, EPtiCaseLower, 78, 1},
       
   239         {EPtiKeyQwerty1, EPtiCaseUpper, 79, 1},
       
   240         {EPtiKeyQwerty2, EPtiCaseUpper, 80, 1},
       
   241         {EPtiKeyQwerty3, EPtiCaseUpper, 81, 1},
       
   242         {EPtiKeyQwerty4, EPtiCaseUpper, 82, 1},
       
   243         {EPtiKeyQwerty5, EPtiCaseUpper, 83, 1},
       
   244         {EPtiKeyQwerty6, EPtiCaseUpper, 84, 1},
       
   245         {EPtiKeyQwerty7, EPtiCaseUpper, 85, 1},
       
   246         {EPtiKeyQwerty8, EPtiCaseUpper, 86, 1},
       
   247         {EPtiKeyQwerty9, EPtiCaseUpper, 87, 1},
       
   248         {EPtiKeyQwerty0, EPtiCaseUpper, 88, 1},
       
   249         {EPtiKeyQwertyPlus, EPtiCaseUpper, 89, 1},
       
   250         {EPtiKeyQwertyQ, EPtiCaseUpper, 90, 1},
       
   251         {EPtiKeyQwertyW, EPtiCaseUpper, 91, 1},
       
   252         {EPtiKeyQwertyE, EPtiCaseUpper, 92, 5},
       
   253         {EPtiKeyQwertyR, EPtiCaseUpper, 97, 1},
       
   254         {EPtiKeyQwertyT, EPtiCaseUpper, 98, 2},
       
   255         {EPtiKeyQwertyY, EPtiCaseUpper, 100, 2},
       
   256         {EPtiKeyQwertyU, EPtiCaseUpper, 102, 5},
       
   257         {EPtiKeyQwertyI, EPtiCaseUpper, 107, 5},
       
   258         {EPtiKeyQwertyO, EPtiCaseUpper, 112, 8},
       
   259         {EPtiKeyQwertyP, EPtiCaseUpper, 120, 1},
       
   260         {EPtiKeyQwertyMinus, EPtiCaseUpper, 121, 2},
       
   261         {EPtiKeyQwertyHash, EPtiCaseUpper, 123, 1},
       
   262         {EPtiKeyQwertyA, EPtiCaseUpper, 124, 9},
       
   263         {EPtiKeyQwertyS, EPtiCaseUpper, 133, 1},
       
   264         {EPtiKeyQwertyD, EPtiCaseUpper, 134, 2},
       
   265         {EPtiKeyQwertyF, EPtiCaseUpper, 136, 1},
       
   266         {EPtiKeyQwertyG, EPtiCaseUpper, 137, 1},
       
   267         {EPtiKeyQwertyH, EPtiCaseUpper, 138, 1},
       
   268         {EPtiKeyQwertyJ, EPtiCaseUpper, 139, 1},
       
   269         {EPtiKeyQwertyK, EPtiCaseUpper, 140, 1},
       
   270         {EPtiKeyQwertyL, EPtiCaseUpper, 141, 1},
       
   271         {EPtiKeyQwertySemicolon, EPtiCaseUpper, 142, 2},
       
   272         {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 144, 2},
       
   273         {EPtiKeyQwertyZ, EPtiCaseUpper, 146, 1},
       
   274         {EPtiKeyQwertyX, EPtiCaseUpper, 147, 1},
       
   275         {EPtiKeyQwertyC, EPtiCaseUpper, 148, 2},
       
   276         {EPtiKeyQwertyV, EPtiCaseUpper, 150, 1},
       
   277         {EPtiKeyQwertyB, EPtiCaseUpper, 151, 1},
       
   278         {EPtiKeyQwertyN, EPtiCaseUpper, 152, 2},
       
   279         {EPtiKeyQwertyM, EPtiCaseUpper, 154, 1},
       
   280         {EPtiKeyQwertyComma, EPtiCaseUpper, 155, 1},
       
   281         {EPtiKeyQwertyFullstop, EPtiCaseUpper, 156, 1},
       
   282         {EPtiKeyQwertySlash, EPtiCaseUpper, 157, 2},
       
   283     };
       
   284 
       
   285 const TInt KMaxStandardQwertyIndex_Catalan = 88;
       
   286 
       
   287 
       
   288 //
       
   289 // Dead key data table for StandardQwerty
       
   290 //
       
   291 const TUint16 StandardQwertyDeadKeyData_table_Catalan[] =
       
   292     {
       
   293     13,  0x00E9,0x00EB,0x00E8,0x00EA,0xF000,
       
   294     16,  0x00FD,0xF000,0xF000,0xF000,0xF000,
       
   295     17,  0x00FA,0x00FC,0x00F9,0x00FB,0xF000,
       
   296     18,  0x0069,0x00ED,0x00EF,0x00EC,0x00EE,
       
   297     19,  0x00F3,0x00F6,0x00F2,0x00F4,0x00F5,
       
   298     23,  0x00E1,0x00E4,0x00E0,0x00E2,0x00E3,
       
   299     39,  0xF000,0xF000,0xF000,0xF000,0x00F1,
       
   300     57,  0x00C9,0x00CB,0x00C8,0x00CA,0xF000,
       
   301     60,  0x00DD,0xF000,0xF000,0xF000,0xF000,
       
   302     61,  0x00DA,0x00DC,0x00D9,0x00DB,0xF000,
       
   303     62,  0x00CD,0x00CF,0x00CC,0x00CE,0xF000,
       
   304     63,  0x00D3,0x00D6,0x00D2,0x00D4,0x00D5,
       
   305     67,  0x00C1,0x00C4,0x00C0,0x00C2,0x00C3,
       
   306     83,  0xF000,0xF000,0xF000,0xF000,0x00D1,
       
   307     };
       
   308 
       
   309 const TInt KStandardQwertyDeadKeyTableRows_Catalan = 14;
       
   310 
       
   311 //
       
   312 // MiniQwerty keymap data table
       
   313 //
       
   314 const TUint16 MiniQwertyData_table_Catalan[] =
       
   315     {
       
   316      0x0071,
       
   317      0x0077,
       
   318      0x0065,0x00E9,0x00EB,0x00E8,0x00EA,
       
   319      0x0072,
       
   320      0x0074,0x00FE,
       
   321      0x0079,0x00FD,
       
   322      0x0075,0x00FC,0x00FA,0x00F9,0x00FB,
       
   323      0x0069,0x00ED,0x00EF,0x00EC,0x00EE,
       
   324      0x006F,0x00F3,0x00F6,0x00F2,0x00F4,0x00F5,0x00BA,0x00F8,
       
   325      0x0070,
       
   326      0x0061,0x00E1,0x00AA,0x00E4,0x00E0,0x00E2,0x00E3,0x00E5,0x00E6,
       
   327      0x0073,0x00DF,
       
   328      0x0064,0x00F0,
       
   329      0x0066,
       
   330      0x0067,
       
   331      0x0068,
       
   332      0x006A,
       
   333      0x006B,
       
   334      0x006C,
       
   335      0x007A,
       
   336      0x0078,
       
   337      0x0063,0x00E7,
       
   338      0x0076,
       
   339      0x0062,
       
   340      0x006E,0x00F1,
       
   341      0x006D,
       
   342      0x00F1,
       
   343      0x00E7,
       
   344      0x0040,
       
   345      0x0027,
       
   346      0x002C,
       
   347      0x002E,
       
   348      0x0051,
       
   349      0x0057,
       
   350      0x0045,0x00C9,0x00CB,0x00C8,0x00CA,
       
   351      0x0052,
       
   352      0x0054,0x00DE,
       
   353      0x0059,0x00DD,
       
   354      0x0055,0x00DC,0x00DA,0x00D9,0x00DB,
       
   355      0x0049,0x00CD,0x00CF,0x00CC,0x00CE,
       
   356      0x004F,0x00D3,0x00D6,0x00D2,0x00D4,0x00D5,0x00BA,0x00D8,
       
   357      0x0050,
       
   358      0x0041,0x00C1,0x00AA,0x00C4,0x00C0,0x00C2,0x00C3,0x00C5,0x00C6,
       
   359      0x0053,
       
   360      0x0044,0x00D0,
       
   361      0x0046,
       
   362      0x0047,
       
   363      0x0048,
       
   364      0x004A,
       
   365      0x004B,
       
   366      0x004C,
       
   367      0x005A,
       
   368      0x0058,
       
   369      0x0043,0x00C7,
       
   370      0x0056,
       
   371      0x0042,
       
   372      0x004E,0x00D1,
       
   373      0x004D,
       
   374      0x00D1,
       
   375      0x00C7,
       
   376      0x003B,
       
   377      0x003A,
       
   378      0x0021,
       
   379      0x003F,
       
   380      0x0031,
       
   381      0x0031,
       
   382      0x0032,
       
   383      0x0032,
       
   384      0x0033,
       
   385      0x0033,
       
   386      0x002B,
       
   387      0x00A1,
       
   388      0x00BF,
       
   389      0x0034,
       
   390      0x0034,
       
   391      0x0035,
       
   392      0x0035,
       
   393      0x0036,
       
   394      0x0036,
       
   395      0x002D,
       
   396      0x002F,
       
   397      0x0022,
       
   398      0x0037,
       
   399      0x0037,
       
   400      0x0038,
       
   401      0x0038,
       
   402      0x0039,
       
   403      0x0039,
       
   404      0x003D,
       
   405      0x002A,
       
   406      0x002A,
       
   407      0x0030,
       
   408      0x0030,
       
   409      0x0023,
       
   410      0x0023,
       
   411     };
       
   412 
       
   413 const TInt KMiniQwertyDataSize_Catalan = 160;
       
   414 
       
   415 
       
   416 const TPtiKeyBinding MiniQwertyKeyBindings_table_Catalan[] =
       
   417     {
       
   418         {EPtiKeyQwerty1, EPtiCaseLower, 0, 1},
       
   419         {EPtiKeyQwerty2, EPtiCaseLower, 1, 1},
       
   420         {EPtiKeyQwerty3, EPtiCaseLower, 2, 5},
       
   421         {EPtiKeyQwerty4, EPtiCaseLower, 7, 1},
       
   422         {EPtiKeyQwerty5, EPtiCaseLower, 8, 2},
       
   423         {EPtiKeyQwerty6, EPtiCaseLower, 10, 2},
       
   424         {EPtiKeyQwerty7, EPtiCaseLower, 12, 5},
       
   425         {EPtiKeyQwerty8, EPtiCaseLower, 17, 5},
       
   426         {EPtiKeyQwerty9, EPtiCaseLower, 22, 8},
       
   427         {EPtiKeyQwerty0, EPtiCaseLower, 30, 1},
       
   428         {EPtiKeyQwertyA, EPtiCaseLower, 31, 9},
       
   429         {EPtiKeyQwertyS, EPtiCaseLower, 40, 2},
       
   430         {EPtiKeyQwertyD, EPtiCaseLower, 42, 2},
       
   431         {EPtiKeyQwertyF, EPtiCaseLower, 44, 1},
       
   432         {EPtiKeyQwertyG, EPtiCaseLower, 45, 1},
       
   433         {EPtiKeyQwertyH, EPtiCaseLower, 46, 1},
       
   434         {EPtiKeyQwertyJ, EPtiCaseLower, 47, 1},
       
   435         {EPtiKeyQwertyK, EPtiCaseLower, 48, 1},
       
   436         {EPtiKeyQwertyL, EPtiCaseLower, 49, 1},
       
   437         {EPtiKeyQwertyZ, EPtiCaseLower, 50, 1},
       
   438         {EPtiKeyQwertyX, EPtiCaseLower, 51, 1},
       
   439         {EPtiKeyQwertyC, EPtiCaseLower, 52, 2},
       
   440         {EPtiKeyQwertyV, EPtiCaseLower, 54, 1},
       
   441         {EPtiKeyQwertyB, EPtiCaseLower, 55, 1},
       
   442         {EPtiKeyQwertyN, EPtiCaseLower, 56, 2},
       
   443         {EPtiKeyQwertyM, EPtiCaseLower, 58, 1},
       
   444         {EPtiKeyQwertyComma, EPtiCaseLower, 59, 1},
       
   445         {EPtiKeyQwertyFullstop, EPtiCaseLower, 60, 1},
       
   446         {EPtiKeyQwerty1, EPtiCaseUpper, 65, 1},
       
   447         {EPtiKeyQwerty2, EPtiCaseUpper, 66, 1},
       
   448         {EPtiKeyQwerty3, EPtiCaseUpper, 67, 5},
       
   449         {EPtiKeyQwerty4, EPtiCaseUpper, 72, 1},
       
   450         {EPtiKeyQwerty5, EPtiCaseUpper, 73, 2},
       
   451         {EPtiKeyQwerty6, EPtiCaseUpper, 75, 2},
       
   452         {EPtiKeyQwerty7, EPtiCaseUpper, 77, 5},
       
   453         {EPtiKeyQwerty8, EPtiCaseUpper, 82, 5},
       
   454         {EPtiKeyQwerty9, EPtiCaseUpper, 87, 8},
       
   455         {EPtiKeyQwerty0, EPtiCaseUpper, 95, 1},
       
   456         {EPtiKeyQwertyA, EPtiCaseUpper, 96, 9},
       
   457         {EPtiKeyQwertyS, EPtiCaseUpper, 105, 1},
       
   458         {EPtiKeyQwertyD, EPtiCaseUpper, 106, 2},
       
   459         {EPtiKeyQwertyF, EPtiCaseUpper, 108, 1},
       
   460         {EPtiKeyQwertyG, EPtiCaseUpper, 109, 1},
       
   461         {EPtiKeyQwertyH, EPtiCaseUpper, 110, 1},
       
   462         {EPtiKeyQwertyJ, EPtiCaseUpper, 111, 1},
       
   463         {EPtiKeyQwertyK, EPtiCaseUpper, 112, 1},
       
   464         {EPtiKeyQwertyL, EPtiCaseUpper, 113, 1},
       
   465         {EPtiKeyQwertyZ, EPtiCaseUpper, 114, 1},
       
   466         {EPtiKeyQwertyX, EPtiCaseUpper, 115, 1},
       
   467         {EPtiKeyQwertyC, EPtiCaseUpper, 116, 2},
       
   468         {EPtiKeyQwertyV, EPtiCaseUpper, 118, 1},
       
   469         {EPtiKeyQwertyB, EPtiCaseUpper, 119, 1},
       
   470         {EPtiKeyQwertyN, EPtiCaseUpper, 120, 2},
       
   471         {EPtiKeyQwertyM, EPtiCaseUpper, 122, 1},
       
   472         {EPtiKeyQwertyComma, EPtiCaseUpper, 123, 1},
       
   473         {EPtiKeyQwertyFullstop, EPtiCaseUpper, 124, 1},
       
   474         {EPtiKeyQwerty1, EPtiCaseFnLower, 127, 1},
       
   475         {EPtiKeyQwerty2, EPtiCaseFnLower, 128, 1},
       
   476         {EPtiKeyQwerty3, EPtiCaseFnLower, 129, 1},
       
   477         {EPtiKeyQwerty4, EPtiCaseFnLower, 130, 1},
       
   478         {EPtiKeyQwerty5, EPtiCaseFnLower, 131, 1},
       
   479         {EPtiKeyQwerty6, EPtiCaseFnLower, 132, 1},
       
   480         {EPtiKeyQwerty7, EPtiCaseFnLower, 133, 1},
       
   481         {EPtiKeyQwerty8, EPtiCaseFnLower, 134, 1},
       
   482         {EPtiKeyQwerty9, EPtiCaseFnLower, 135, 1},
       
   483         {EPtiKeyQwertyA, EPtiCaseFnLower, 136, 1},
       
   484         {EPtiKeyQwertyS, EPtiCaseFnLower, 137, 1},
       
   485         {EPtiKeyQwertyD, EPtiCaseFnLower, 138, 1},
       
   486         {EPtiKeyQwertyF, EPtiCaseFnLower, 139, 1},
       
   487         {EPtiKeyQwertyG, EPtiCaseFnLower, 140, 1},
       
   488         {EPtiKeyQwertyH, EPtiCaseFnLower, 141, 1},
       
   489         {EPtiKeyQwertyJ, EPtiCaseFnLower, 142, 1},
       
   490         {EPtiKeyQwertyK, EPtiCaseFnLower, 143, 1},
       
   491         {EPtiKeyQwertyL, EPtiCaseFnLower, 144, 1},
       
   492         {EPtiKeyQwertyZ, EPtiCaseFnLower, 145, 1},
       
   493         {EPtiKeyQwertyX, EPtiCaseFnLower, 146, 1},
       
   494         {EPtiKeyQwertyC, EPtiCaseFnLower, 147, 1},
       
   495         {EPtiKeyQwertyV, EPtiCaseFnLower, 148, 1},
       
   496         {EPtiKeyQwertyB, EPtiCaseFnLower, 149, 1},
       
   497         {EPtiKeyQwertyN, EPtiCaseFnLower, 150, 1},
       
   498         {EPtiKeyQwertyM, EPtiCaseFnLower, 151, 1},
       
   499         {EPtiKeyQwertyComma, EPtiCaseFnLower, 152, 1},
       
   500         {EPtiKeyQwertyFullstop, EPtiCaseFnLower, 153, 1},
       
   501     };
       
   502 
       
   503 const TInt KMaxMiniQwertyIndex_Catalan = 83;
       
   504 
       
   505 //
       
   506 // Class implementation.
       
   507 //
       
   508 
       
   509 CPtiLangDataImplCatalan* CPtiLangDataImplCatalan::NewL()
       
   510     {
       
   511     return new (ELeave) CPtiLangDataImplCatalan();
       
   512     }
       
   513 
       
   514 
       
   515 TInt CPtiLangDataImplCatalan::LanguageCode() const
       
   516     {
       
   517     return ELangCatalan;
       
   518     }
       
   519 
       
   520 
       
   521 const TUint16* CPtiLangDataImplCatalan::KeyData(TPtiKeyboardType aKeyboardType, TInt& aDataSize) const
       
   522     {
       
   523     if (aKeyboardType == EPtiKeyboard12Key)
       
   524         {
       
   525         aDataSize = KMultitapDataSize_Catalan;
       
   526         return MultitapData_table_Catalan;
       
   527         }
       
   528     if (aKeyboardType == EPtiKeyboardQwerty4x12)
       
   529         {
       
   530         aDataSize = KStandardQwertyDataSize_Catalan;
       
   531         return StandardQwertyData_table_Catalan;
       
   532         }
       
   533 
       
   534     if (aKeyboardType == EPtiKeyboardQwerty4x10)
       
   535         {
       
   536         aDataSize = KMiniQwertyDataSize_Catalan;
       
   537         return MiniQwertyData_table_Catalan;
       
   538         }
       
   539 
       
   540     aDataSize = 0;
       
   541     return NULL;
       
   542     }
       
   543 
       
   544 
       
   545 const TPtiKeyBinding* CPtiLangDataImplCatalan::KeyBindingTable(TPtiKeyboardType aKeyboardType, TInt& aNumItems) const
       
   546     {
       
   547     if (aKeyboardType == EPtiKeyboard12Key)
       
   548         {
       
   549         aNumItems = KMaxMultitapIndex_Catalan;
       
   550         return MultitapKeyBindings_table_Catalan;
       
   551         }
       
   552     if (aKeyboardType == EPtiKeyboardQwerty4x12)
       
   553         {
       
   554         aNumItems = KMaxStandardQwertyIndex_Catalan;
       
   555         return StandardQwertyKeyBindings_table_Catalan;
       
   556         }
       
   557     if (aKeyboardType == EPtiKeyboardQwerty4x10)
       
   558         {
       
   559         aNumItems = KMaxMiniQwertyIndex_Catalan;
       
   560         return MiniQwertyKeyBindings_table_Catalan;
       
   561         }
       
   562 
       
   563     aNumItems = 0;
       
   564     return NULL;
       
   565     }
       
   566 
       
   567 
       
   568 const TUint16* CPtiLangDataImplCatalan::DeadKeyDataArray(TPtiKeyboardType aKeyboardType, TInt& aNumRowsInArray) const
       
   569     {
       
   570     if (aKeyboardType == EPtiKeyboardQwerty4x12)
       
   571         {
       
   572         aNumRowsInArray = KStandardQwertyDeadKeyTableRows_Catalan;
       
   573         return StandardQwertyDeadKeyData_table_Catalan;
       
   574         }
       
   575 
       
   576     aNumRowsInArray = 0;
       
   577     return NULL;
       
   578     }
       
   579 
       
   580