textinput/ptienginev2/languages/PtiKeymappings_ITUT_04.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_04.h"
       
    34 
       
    35 //
       
    36 // Multitap keymap data table
       
    37 //
       
    38 const TUint16 MultitapData_table_Spanish[] =
       
    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_Spanish = 203;
       
    63 
       
    64 
       
    65 const TPtiKeyBinding MultitapKeyBindings_table_Spanish[] =
       
    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_Spanish = 24;
       
    94 
       
    95 //
       
    96 // StandardQwerty keymap data table
       
    97 //
       
    98 const TUint16 StandardQwertyData_table_Spanish[] =
       
    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_Spanish = 159;
       
   191 
       
   192 
       
   193 const TPtiKeyBinding StandardQwertyKeyBindings_table_Spanish[] =
       
   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_Spanish = 88;
       
   286 
       
   287 
       
   288 //
       
   289 // Dead key data table for StandardQwerty
       
   290 //
       
   291 const TUint16 StandardQwertyDeadKeyData_table_Spanish[] =
       
   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_Spanish = 14;
       
   310 
       
   311 //
       
   312 // MiniQwerty keymap data table
       
   313 //
       
   314 const TUint16 MiniQwertyData_table_Spanish[] =
       
   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_Spanish = 160;
       
   414 
       
   415 
       
   416 const TPtiKeyBinding MiniQwertyKeyBindings_table_Spanish[] =
       
   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_Spanish = 83;
       
   504 
       
   505 //
       
   506 // MiniQwerty3x11 keymap data table
       
   507 //
       
   508 const TUint16 MiniQwerty3x11Data_table_Spanish[] =
       
   509     {
       
   510      0x0071,
       
   511      0x0077,
       
   512      0x0065,0x00E9,0x00E8,0x00EA,0x00EB,
       
   513      0x0072,
       
   514      0x0074,
       
   515      0x0079,
       
   516      0x0075,0x00FA,0x00FC,0x00F9,0x00FB,
       
   517      0x0069,0x00ED,0x00EF,0x00EC,0x00EE,
       
   518      0x006F,0x00F3,0x00BA,0x00F2,0x00F4,0x00F5,
       
   519      0x0070,
       
   520      0x0061,0x00E1,0x00AA,0x00E4,0x00E0,0x00E2,0x00E3,0x00E6,
       
   521      0x0073,0x00DF,
       
   522      0x0064,
       
   523      0x0066,
       
   524      0x0067,
       
   525      0x0068,
       
   526      0x006A,
       
   527      0x006B,
       
   528      0x006C,
       
   529      0x002E,
       
   530      0x007A,
       
   531      0x0078,
       
   532      0x0063,0x00E7,
       
   533      0x0076,
       
   534      0x0062,
       
   535      0x006E,0x00F1,
       
   536      0x006D,
       
   537      0x0051,
       
   538      0x0057,
       
   539      0x0045,0x00C9,0x00C8,0x00CA,0x00CB,
       
   540      0x0052,
       
   541      0x0054,
       
   542      0x0059,
       
   543      0x0055,0x00DA,0x00DC,0x00D9,0x00DB,
       
   544      0x0049,0x00CD,0x00CF,0x00CC,0x00CE,
       
   545      0x004F,0x00D3,0x00BA,0x00D2,0x00D4,0x00D5,
       
   546      0x0050,
       
   547      0x0041,0x00C1,0x00AA,0x00C4,0x00C0,0x00C2,0x00C3,0x00C6,
       
   548      0x0053,
       
   549      0x0044,
       
   550      0x0046,
       
   551      0x0047,
       
   552      0x0048,
       
   553      0x004A,
       
   554      0x004B,
       
   555      0x004C,
       
   556      0x002C,
       
   557      0x005A,
       
   558      0x0058,
       
   559      0x0043,0x00C7,
       
   560      0x0056,
       
   561      0x0042,
       
   562      0x004E,0x00D1,
       
   563      0x004D,
       
   564      0x0031,
       
   565      0x0032,
       
   566      0x0033,
       
   567      0x0034,
       
   568      0x0035,
       
   569      0x0036,
       
   570      0x0037,
       
   571      0x0038,
       
   572      0x0039,
       
   573      0x0030,
       
   574      0x0040,
       
   575      0x002F,
       
   576      0x002D,
       
   577      0x002B,
       
   578      0x003D,
       
   579      0x0023,
       
   580      0x002A,
       
   581      0x003B,
       
   582      0x003A,
       
   583      0x0027,
       
   584      0x0028,
       
   585      0x0029,
       
   586      0x0025,
       
   587      0x0026,
       
   588      0x0022,
       
   589      0x003F,
       
   590      0x0021,
       
   591     };
       
   592 
       
   593 const TInt KMiniQwerty3x11DataSize_Spanish = 134;
       
   594 
       
   595 
       
   596 const TPtiKeyBinding MiniQwerty3x11KeyBindings_table_Spanish[] =
       
   597     {
       
   598         {EPtiKeyQwertyQ, EPtiCaseLower, 0, 1},
       
   599         {EPtiKeyQwertyW, EPtiCaseLower, 1, 1},
       
   600         {EPtiKeyQwertyE, EPtiCaseLower, 2, 5},
       
   601         {EPtiKeyQwertyR, EPtiCaseLower, 7, 1},
       
   602         {EPtiKeyQwertyT, EPtiCaseLower, 8, 1},
       
   603         {EPtiKeyQwertyY, EPtiCaseLower, 9, 1},
       
   604         {EPtiKeyQwertyU, EPtiCaseLower, 10, 5},
       
   605         {EPtiKeyQwertyI, EPtiCaseLower, 15, 5},
       
   606         {EPtiKeyQwertyO, EPtiCaseLower, 20, 6},
       
   607         {EPtiKeyQwertyP, EPtiCaseLower, 26, 1},
       
   608         {EPtiKeyQwertyA, EPtiCaseLower, 27, 8},
       
   609         {EPtiKeyQwertyS, EPtiCaseLower, 35, 2},
       
   610         {EPtiKeyQwertyD, EPtiCaseLower, 37, 1},
       
   611         {EPtiKeyQwertyF, EPtiCaseLower, 38, 1},
       
   612         {EPtiKeyQwertyG, EPtiCaseLower, 39, 1},
       
   613         {EPtiKeyQwertyH, EPtiCaseLower, 40, 1},
       
   614         {EPtiKeyQwertyJ, EPtiCaseLower, 41, 1},
       
   615         {EPtiKeyQwertyK, EPtiCaseLower, 42, 1},
       
   616         {EPtiKeyQwertyL, EPtiCaseLower, 43, 1},
       
   617         {EPtiKeyQwertyComma, EPtiCaseLower, 44, 1},
       
   618         {EPtiKeyQwertyZ, EPtiCaseLower, 45, 1},
       
   619         {EPtiKeyQwertyX, EPtiCaseLower, 46, 1},
       
   620         {EPtiKeyQwertyC, EPtiCaseLower, 47, 2},
       
   621         {EPtiKeyQwertyV, EPtiCaseLower, 49, 1},
       
   622         {EPtiKeyQwertyB, EPtiCaseLower, 50, 1},
       
   623         {EPtiKeyQwertyN, EPtiCaseLower, 51, 2},
       
   624         {EPtiKeyQwertyM, EPtiCaseLower, 53, 1},
       
   625         {EStdKeySpace, EPtiCaseLower, 54, 0},
       
   626         {EPtiKeyQwertyQ, EPtiCaseUpper, 54, 1},
       
   627         {EPtiKeyQwertyW, EPtiCaseUpper, 55, 1},
       
   628         {EPtiKeyQwertyE, EPtiCaseUpper, 56, 5},
       
   629         {EPtiKeyQwertyR, EPtiCaseUpper, 61, 1},
       
   630         {EPtiKeyQwertyT, EPtiCaseUpper, 62, 1},
       
   631         {EPtiKeyQwertyY, EPtiCaseUpper, 63, 1},
       
   632         {EPtiKeyQwertyU, EPtiCaseUpper, 64, 5},
       
   633         {EPtiKeyQwertyI, EPtiCaseUpper, 69, 5},
       
   634         {EPtiKeyQwertyO, EPtiCaseUpper, 74, 6},
       
   635         {EPtiKeyQwertyP, EPtiCaseUpper, 80, 1},
       
   636         {EPtiKeyQwertyA, EPtiCaseUpper, 81, 8},
       
   637         {EPtiKeyQwertyS, EPtiCaseUpper, 89, 1},
       
   638         {EPtiKeyQwertyD, EPtiCaseUpper, 90, 1},
       
   639         {EPtiKeyQwertyF, EPtiCaseUpper, 91, 1},
       
   640         {EPtiKeyQwertyG, EPtiCaseUpper, 92, 1},
       
   641         {EPtiKeyQwertyH, EPtiCaseUpper, 93, 1},
       
   642         {EPtiKeyQwertyJ, EPtiCaseUpper, 94, 1},
       
   643         {EPtiKeyQwertyK, EPtiCaseUpper, 95, 1},
       
   644         {EPtiKeyQwertyL, EPtiCaseUpper, 96, 1},
       
   645         {EPtiKeyQwertyComma, EPtiCaseUpper, 97, 1},
       
   646         {EPtiKeyQwertyZ, EPtiCaseUpper, 98, 1},
       
   647         {EPtiKeyQwertyX, EPtiCaseUpper, 99, 1},
       
   648         {EPtiKeyQwertyC, EPtiCaseUpper, 100, 2},
       
   649         {EPtiKeyQwertyV, EPtiCaseUpper, 102, 1},
       
   650         {EPtiKeyQwertyB, EPtiCaseUpper, 103, 1},
       
   651         {EPtiKeyQwertyN, EPtiCaseUpper, 104, 2},
       
   652         {EPtiKeyQwertyM, EPtiCaseUpper, 106, 1},
       
   653         {EStdKeySpace, EPtiCaseUpper, 107, 0},
       
   654         {EPtiKeyQwertyQ, EPtiCaseFnLower, 107, 1},
       
   655         {EPtiKeyQwertyW, EPtiCaseFnLower, 108, 1},
       
   656         {EPtiKeyQwertyE, EPtiCaseFnLower, 109, 1},
       
   657         {EPtiKeyQwertyR, EPtiCaseFnLower, 110, 1},
       
   658         {EPtiKeyQwertyT, EPtiCaseFnLower, 111, 1},
       
   659         {EPtiKeyQwertyY, EPtiCaseFnLower, 112, 1},
       
   660         {EPtiKeyQwertyU, EPtiCaseFnLower, 113, 1},
       
   661         {EPtiKeyQwertyI, EPtiCaseFnLower, 114, 1},
       
   662         {EPtiKeyQwertyO, EPtiCaseFnLower, 115, 1},
       
   663         {EPtiKeyQwertyP, EPtiCaseFnLower, 116, 1},
       
   664         {EPtiKeyQwertyA, EPtiCaseFnLower, 117, 1},
       
   665         {EPtiKeyQwertyS, EPtiCaseFnLower, 118, 1},
       
   666         {EPtiKeyQwertyD, EPtiCaseFnLower, 119, 1},
       
   667         {EPtiKeyQwertyF, EPtiCaseFnLower, 120, 1},
       
   668         {EPtiKeyQwertyG, EPtiCaseFnLower, 121, 1},
       
   669         {EPtiKeyQwertyH, EPtiCaseFnLower, 122, 1},
       
   670         {EPtiKeyQwertyJ, EPtiCaseFnLower, 123, 1},
       
   671         {EPtiKeyQwertyK, EPtiCaseFnLower, 124, 1},
       
   672         {EPtiKeyQwertyL, EPtiCaseFnLower, 125, 1},
       
   673         {EPtiKeyQwertyComma, EPtiCaseFnLower, 126, 1},
       
   674         {EPtiKeyQwertyZ, EPtiCaseFnLower, 127, 1},
       
   675         {EPtiKeyQwertyX, EPtiCaseFnLower, 128, 1},
       
   676         {EPtiKeyQwertyC, EPtiCaseFnLower, 129, 1},
       
   677         {EPtiKeyQwertyV, EPtiCaseFnLower, 130, 1},
       
   678         {EPtiKeyQwertyB, EPtiCaseFnLower, 131, 1},
       
   679         {EPtiKeyQwertyN, EPtiCaseFnLower, 132, 1},
       
   680         {EPtiKeyQwertyM, EPtiCaseFnLower, 133, 1},
       
   681     };
       
   682 
       
   683 const TInt KMaxMiniQwerty3x11Index_Spanish = 83;
       
   684 
       
   685 //
       
   686 // Class implementation.
       
   687 //
       
   688 
       
   689 CPtiLangDataImplSpanish* CPtiLangDataImplSpanish::NewL()
       
   690     {
       
   691     return new (ELeave) CPtiLangDataImplSpanish();
       
   692     }
       
   693 
       
   694 
       
   695 TInt CPtiLangDataImplSpanish::LanguageCode() const
       
   696     {
       
   697     return ELangSpanish;
       
   698     }
       
   699 
       
   700 
       
   701 const TUint16* CPtiLangDataImplSpanish::KeyData(TPtiKeyboardType aKeyboardType, TInt& aDataSize) const
       
   702     {
       
   703     if (aKeyboardType == EPtiKeyboard12Key)
       
   704         {
       
   705         aDataSize = KMultitapDataSize_Spanish;
       
   706         return MultitapData_table_Spanish;
       
   707         }
       
   708     if (aKeyboardType == EPtiKeyboardQwerty4x12)
       
   709         {
       
   710         aDataSize = KStandardQwertyDataSize_Spanish;
       
   711         return StandardQwertyData_table_Spanish;
       
   712         }
       
   713 
       
   714     if (aKeyboardType == EPtiKeyboardQwerty4x10)
       
   715         {
       
   716         aDataSize = KMiniQwertyDataSize_Spanish;
       
   717         return MiniQwertyData_table_Spanish;
       
   718         }
       
   719 
       
   720     if (aKeyboardType == EPtiKeyboardQwerty3x11)
       
   721         {
       
   722         aDataSize = KMiniQwerty3x11DataSize_Spanish;
       
   723         return MiniQwerty3x11Data_table_Spanish;
       
   724         }
       
   725 
       
   726     aDataSize = 0;
       
   727     return NULL;
       
   728     }
       
   729 
       
   730 
       
   731 const TPtiKeyBinding* CPtiLangDataImplSpanish::KeyBindingTable(TPtiKeyboardType aKeyboardType, TInt& aNumItems) const
       
   732     {
       
   733     if (aKeyboardType == EPtiKeyboard12Key)
       
   734         {
       
   735         aNumItems = KMaxMultitapIndex_Spanish;
       
   736         return MultitapKeyBindings_table_Spanish;
       
   737         }
       
   738     if (aKeyboardType == EPtiKeyboardQwerty4x12)
       
   739         {
       
   740         aNumItems = KMaxStandardQwertyIndex_Spanish;
       
   741         return StandardQwertyKeyBindings_table_Spanish;
       
   742         }
       
   743     if (aKeyboardType == EPtiKeyboardQwerty4x10)
       
   744         {
       
   745         aNumItems = KMaxMiniQwertyIndex_Spanish;
       
   746         return MiniQwertyKeyBindings_table_Spanish;
       
   747         }
       
   748     if (aKeyboardType == EPtiKeyboardQwerty3x11)
       
   749         {
       
   750         aNumItems = KMaxMiniQwerty3x11Index_Spanish;
       
   751         return MiniQwerty3x11KeyBindings_table_Spanish;
       
   752         }
       
   753 
       
   754     aNumItems = 0;
       
   755     return NULL;
       
   756     }
       
   757 
       
   758 
       
   759 const TUint16* CPtiLangDataImplSpanish::DeadKeyDataArray(TPtiKeyboardType aKeyboardType, TInt& aNumRowsInArray) const
       
   760     {
       
   761     if (aKeyboardType == EPtiKeyboardQwerty4x12)
       
   762         {
       
   763         aNumRowsInArray = KStandardQwertyDeadKeyTableRows_Spanish;
       
   764         return StandardQwertyDeadKeyData_table_Spanish;
       
   765         }
       
   766 
       
   767     aNumRowsInArray = 0;
       
   768     return NULL;
       
   769     }
       
   770 
       
   771