textinput/ptienginev2/languages/PtiKeymappings_ITUT_03.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_03.h"
       
    34 
       
    35 //
       
    36 // Multitap keymap data table
       
    37 //
       
    38 const TUint16 MultitapData_table_German[] =
       
    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,0xe0,0xe1,0xe2,0xe3,0xe5,0xe6,0xe7,
       
    42      0x64,0x65,0x66,0x33,0xeb,0xe8,0xe9,0xea,0xf0,
       
    43      0x67,0x68,0x69,0x34,0xef,0xec,0xed,0xee,
       
    44      0x6a,0x6b,0x6c,0x35,0xa3,
       
    45      0x6d,0x6e,0x6f,0x36,0xf6,0xf2,0xf3,0xf4,0xf5,0xf8,0xf1,
       
    46      0x70,0x71,0x72,0x73,0x37,0xdf,0x24,
       
    47      0x74,0x75,0x76,0x38,0xfc,0xf9,0xfa,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,0xc4,0xc0,0xc1,0xc2,0xc3,0xc5,0xc6,0xc7,
       
    52      0x44,0x45,0x46,0x33,0xcb,0xc8,0xc9,0xca,0xd0,
       
    53      0x47,0x48,0x49,0x34,0xcf,0xcc,0xcd,0xce,
       
    54      0x4a,0x4b,0x4c,0x35,0xa3,
       
    55      0x4d,0x4e,0x4f,0x36,0xd6,0xd2,0xd3,0xd4,0xd5,0xd8,0xd1,
       
    56      0x50,0x51,0x52,0x53,0x37,0x24,
       
    57      0x54,0x55,0x56,0x38,0xdc,0xd9,0xda,0xdb,
       
    58      0x57,0x58,0x59,0x5a,0x39,0xdd,0xde,
       
    59      0x20,0x30,0x21b2,
       
    60     };
       
    61 
       
    62 const TInt KMultitapDataSize_German = 199;
       
    63 
       
    64 
       
    65 const TPtiKeyBinding MultitapKeyBindings_table_German[] =
       
    66     {
       
    67         {EPtiKey1, EPtiCaseLower, 0, 30},
       
    68         {EPtiKey2, EPtiCaseLower, 30, 12},
       
    69         {EPtiKey3, EPtiCaseLower, 42, 9},
       
    70         {EPtiKey4, EPtiCaseLower, 51, 8},
       
    71         {EPtiKey5, EPtiCaseLower, 59, 5},
       
    72         {EPtiKey6, EPtiCaseLower, 64, 11},
       
    73         {EPtiKey7, EPtiCaseLower, 75, 7},
       
    74         {EPtiKey8, EPtiCaseLower, 82, 8},
       
    75         {EPtiKey9, EPtiCaseLower, 90, 7},
       
    76         {EPtiKeyStar, EPtiCaseLower, 97, 0},
       
    77         {EPtiKey0, EPtiCaseLower, 97, 3},
       
    78         {EPtiKeyHash, EPtiCaseLower, 100, 0},
       
    79         {EPtiKey1, EPtiCaseUpper, 100, 30},
       
    80         {EPtiKey2, EPtiCaseUpper, 130, 12},
       
    81         {EPtiKey3, EPtiCaseUpper, 142, 9},
       
    82         {EPtiKey4, EPtiCaseUpper, 151, 8},
       
    83         {EPtiKey5, EPtiCaseUpper, 159, 5},
       
    84         {EPtiKey6, EPtiCaseUpper, 164, 11},
       
    85         {EPtiKey7, EPtiCaseUpper, 175, 6},
       
    86         {EPtiKey8, EPtiCaseUpper, 181, 8},
       
    87         {EPtiKey9, EPtiCaseUpper, 189, 7},
       
    88         {EPtiKeyStar, EPtiCaseUpper, 196, 0},
       
    89         {EPtiKey0, EPtiCaseUpper, 196, 3},
       
    90         {EPtiKeyHash, EPtiCaseUpper, 199, 0},
       
    91     };
       
    92 
       
    93 const TInt KMaxMultitapIndex_German = 24;
       
    94 
       
    95 //
       
    96 // StandardQwerty keymap data table
       
    97 //
       
    98 const TUint16 StandardQwertyData_table_German[] =
       
    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,0xe8,0xe9,0xeb,0xea,
       
   114      0x72,
       
   115      0x74,0xfe,
       
   116      0x7a,
       
   117      0x75,0xf9,0xfa,0xfb,
       
   118      0x69,0xec,0xed,0xee,0xef,
       
   119      0x6f,0xf2,0xf3,0xf4,0xf5,0xf8,
       
   120      0x70,
       
   121      0xfc,
       
   122      0x2b,
       
   123      0x61,0xe0,0xe1,0xe3,0xe2,0xe5,0xe6,
       
   124      0x73,
       
   125      0x64,0xf0,
       
   126      0x66,
       
   127      0x67,
       
   128      0x68,
       
   129      0x6a,
       
   130      0x6b,
       
   131      0x6c,
       
   132      0xf6,
       
   133      0xe4,
       
   134      0x79,0xfd,
       
   135      0x78,
       
   136      0x63,0xe7,
       
   137      0x76,
       
   138      0x62,
       
   139      0x6e,
       
   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      0x7e,
       
   155      0x51,
       
   156      0x57,
       
   157      0x45,0xc8,0xc9,0xcb,0xca,
       
   158      0x52,
       
   159      0x54,0xde,
       
   160      0x5a,
       
   161      0x55,0xd9,0xda,0xdb,
       
   162      0x49,0xcc,0xcd,0xce,0xcf,
       
   163      0x4f,0xd2,0xd3,0xd4,0xd5,0xd8,
       
   164      0x50,
       
   165      0xdc,
       
   166      0x23,
       
   167      0x41,0xc0,0xc1,0xc3,0xc2,0xc5,0xc6,
       
   168      0x53,
       
   169      0x44,0xd0,
       
   170      0x46,
       
   171      0x47,
       
   172      0x48,
       
   173      0x4a,
       
   174      0x4b,
       
   175      0x4c,
       
   176      0xd6,
       
   177      0xc4,
       
   178      0x59,0xdd,
       
   179      0x58,
       
   180      0x43,0xc7,
       
   181      0x56,
       
   182      0x42,
       
   183      0x4e,
       
   184      0x4d,
       
   185      0x3b,
       
   186      0x3a,
       
   187      0x27,
       
   188     };
       
   189 
       
   190 const TInt KStandardQwertyDataSize_German = 140;
       
   191 
       
   192 
       
   193 const TPtiKeyBinding StandardQwertyKeyBindings_table_German[] =
       
   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, 4},
       
   213         {EPtiKeyQwertyI, EPtiCaseLower, 26, 5},
       
   214         {EPtiKeyQwertyO, EPtiCaseLower, 31, 6},
       
   215         {EPtiKeyQwertyP, EPtiCaseLower, 37, 1},
       
   216         {EPtiKeyQwertyMinus, EPtiCaseLower, 38, 1},
       
   217         {EPtiKeyQwertyHash, EPtiCaseLower, 39, 1},
       
   218         {EPtiKeyQwertyA, EPtiCaseLower, 40, 7},
       
   219         {EPtiKeyQwertyS, EPtiCaseLower, 47, 1},
       
   220         {EPtiKeyQwertyD, EPtiCaseLower, 48, 2},
       
   221         {EPtiKeyQwertyF, EPtiCaseLower, 50, 1},
       
   222         {EPtiKeyQwertyG, EPtiCaseLower, 51, 1},
       
   223         {EPtiKeyQwertyH, EPtiCaseLower, 52, 1},
       
   224         {EPtiKeyQwertyJ, EPtiCaseLower, 53, 1},
       
   225         {EPtiKeyQwertyK, EPtiCaseLower, 54, 1},
       
   226         {EPtiKeyQwertyL, EPtiCaseLower, 55, 1},
       
   227         {EPtiKeyQwertySemicolon, EPtiCaseLower, 56, 1},
       
   228         {EPtiKeyQwertyApostrophe, EPtiCaseLower, 57, 1},
       
   229         {EPtiKeyQwertyZ, EPtiCaseLower, 58, 2},
       
   230         {EPtiKeyQwertyX, EPtiCaseLower, 60, 1},
       
   231         {EPtiKeyQwertyC, EPtiCaseLower, 61, 2},
       
   232         {EPtiKeyQwertyV, EPtiCaseLower, 63, 1},
       
   233         {EPtiKeyQwertyB, EPtiCaseLower, 64, 1},
       
   234         {EPtiKeyQwertyN, EPtiCaseLower, 65, 1},
       
   235         {EPtiKeyQwertyM, EPtiCaseLower, 66, 1},
       
   236         {EPtiKeyQwertyComma, EPtiCaseLower, 67, 1},
       
   237         {EPtiKeyQwertyFullstop, EPtiCaseLower, 68, 1},
       
   238         {EPtiKeyQwertySlash, EPtiCaseLower, 69, 1},
       
   239         {EPtiKeyQwerty1, EPtiCaseUpper, 70, 1},
       
   240         {EPtiKeyQwerty2, EPtiCaseUpper, 71, 1},
       
   241         {EPtiKeyQwerty3, EPtiCaseUpper, 72, 1},
       
   242         {EPtiKeyQwerty4, EPtiCaseUpper, 73, 1},
       
   243         {EPtiKeyQwerty5, EPtiCaseUpper, 74, 1},
       
   244         {EPtiKeyQwerty6, EPtiCaseUpper, 75, 1},
       
   245         {EPtiKeyQwerty7, EPtiCaseUpper, 76, 1},
       
   246         {EPtiKeyQwerty8, EPtiCaseUpper, 77, 1},
       
   247         {EPtiKeyQwerty9, EPtiCaseUpper, 78, 1},
       
   248         {EPtiKeyQwerty0, EPtiCaseUpper, 79, 1},
       
   249         {EPtiKeyQwertyPlus, EPtiCaseUpper, 80, 1},
       
   250         {EPtiKeyQwertyQ, EPtiCaseUpper, 81, 1},
       
   251         {EPtiKeyQwertyW, EPtiCaseUpper, 82, 1},
       
   252         {EPtiKeyQwertyE, EPtiCaseUpper, 83, 5},
       
   253         {EPtiKeyQwertyR, EPtiCaseUpper, 88, 1},
       
   254         {EPtiKeyQwertyT, EPtiCaseUpper, 89, 2},
       
   255         {EPtiKeyQwertyY, EPtiCaseUpper, 91, 1},
       
   256         {EPtiKeyQwertyU, EPtiCaseUpper, 92, 4},
       
   257         {EPtiKeyQwertyI, EPtiCaseUpper, 96, 5},
       
   258         {EPtiKeyQwertyO, EPtiCaseUpper, 101, 6},
       
   259         {EPtiKeyQwertyP, EPtiCaseUpper, 107, 1},
       
   260         {EPtiKeyQwertyMinus, EPtiCaseUpper, 108, 1},
       
   261         {EPtiKeyQwertyHash, EPtiCaseUpper, 109, 1},
       
   262         {EPtiKeyQwertyA, EPtiCaseUpper, 110, 7},
       
   263         {EPtiKeyQwertyS, EPtiCaseUpper, 117, 1},
       
   264         {EPtiKeyQwertyD, EPtiCaseUpper, 118, 2},
       
   265         {EPtiKeyQwertyF, EPtiCaseUpper, 120, 1},
       
   266         {EPtiKeyQwertyG, EPtiCaseUpper, 121, 1},
       
   267         {EPtiKeyQwertyH, EPtiCaseUpper, 122, 1},
       
   268         {EPtiKeyQwertyJ, EPtiCaseUpper, 123, 1},
       
   269         {EPtiKeyQwertyK, EPtiCaseUpper, 124, 1},
       
   270         {EPtiKeyQwertyL, EPtiCaseUpper, 125, 1},
       
   271         {EPtiKeyQwertySemicolon, EPtiCaseUpper, 126, 1},
       
   272         {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 127, 1},
       
   273         {EPtiKeyQwertyZ, EPtiCaseUpper, 128, 2},
       
   274         {EPtiKeyQwertyX, EPtiCaseUpper, 130, 1},
       
   275         {EPtiKeyQwertyC, EPtiCaseUpper, 131, 2},
       
   276         {EPtiKeyQwertyV, EPtiCaseUpper, 133, 1},
       
   277         {EPtiKeyQwertyB, EPtiCaseUpper, 134, 1},
       
   278         {EPtiKeyQwertyN, EPtiCaseUpper, 135, 1},
       
   279         {EPtiKeyQwertyM, EPtiCaseUpper, 136, 1},
       
   280         {EPtiKeyQwertyComma, EPtiCaseUpper, 137, 1},
       
   281         {EPtiKeyQwertyFullstop, EPtiCaseUpper, 138, 1},
       
   282         {EPtiKeyQwertySlash, EPtiCaseUpper, 139, 1},
       
   283     };
       
   284 
       
   285 const TInt KMaxStandardQwertyIndex_German = 88;
       
   286 
       
   287 //
       
   288 // MiniQwerty keymap data table
       
   289 //
       
   290 const TUint16 MiniQwertyData_table_German[] =
       
   291     {
       
   292      0x0071,
       
   293      0x0077,
       
   294      0x0065,0x00E8,0x00E9,0x00EB,0x00EA,
       
   295      0x0072,
       
   296      0x0074,0x00FE,
       
   297      0x007A,
       
   298      0x0075,0x00FC,0x00F9,0x00FA,0x00FB,
       
   299      0x0069,0x00EC,0x00ED,0x00EE,0x00EF,
       
   300      0x006F,0x00F6,0x00F2,0x00F3,0x00F4,0x00F5,0x00F8,
       
   301      0x0070,
       
   302      0x0061,0x00E4,0x00E0,0x00E1,0x00E3,0x00E2,0x00E5,0x00E6,
       
   303      0x0073,0x00DF,
       
   304      0x0064,0x00F0,
       
   305      0x0066,
       
   306      0x0067,0x011F,
       
   307      0x0068,
       
   308      0x006A,
       
   309      0x006B,
       
   310      0x006C,
       
   311      0x0079,0x00FD,
       
   312      0x0078,
       
   313      0x0063,0x00E7,
       
   314      0x0076,
       
   315      0x0062,
       
   316      0x006E,0x00F1,
       
   317      0x006D,
       
   318      0x00F6,
       
   319      0x00E4,
       
   320      0x0040,
       
   321      0x0026,
       
   322      0x002C,
       
   323      0x002E,
       
   324      0x0051,
       
   325      0x0057,
       
   326      0x0045,0x00C8,0x00C9,0x00CB,0x00CA,
       
   327      0x0052,
       
   328      0x0054,0x00DE,
       
   329      0x005A,
       
   330      0x0055,0x00DC,0x00D9,0x00DA,0x00DB,
       
   331      0x0049,0x00CC,0x00CD,0x00CE,0x00CF,
       
   332      0x004F,0x00D6,0x00D2,0x00D3,0x00D4,0x00D5,0x00D8,
       
   333      0x0050,
       
   334      0x0041,0x00C4,0x00C0,0x00C1,0x00C3,0x00C2,0x00C5,0x00C6,
       
   335      0x0053,
       
   336      0x0044,0x00D0,
       
   337      0x0046,
       
   338      0x0047,0x011E,
       
   339      0x0048,
       
   340      0x004A,
       
   341      0x004B,
       
   342      0x004C,
       
   343      0x0059,0x00DD,
       
   344      0x0058,
       
   345      0x0043,0x00C7,
       
   346      0x0056,
       
   347      0x0042,
       
   348      0x004E,0x00D1,
       
   349      0x004D,
       
   350      0x00D6,
       
   351      0x00C4,
       
   352      0x003B,
       
   353      0x003A,
       
   354      0x0021,
       
   355      0x0022,
       
   356      0x0031,
       
   357      0x0031,
       
   358      0x0032,
       
   359      0x0032,
       
   360      0x0033,
       
   361      0x0033,
       
   362      0x00DF,
       
   363      0x003F,
       
   364      0x0027,
       
   365      0x0034,
       
   366      0x0034,
       
   367      0x0035,
       
   368      0x0035,
       
   369      0x0036,
       
   370      0x0036,
       
   371      0x00FC,
       
   372      0x002F,
       
   373      0x002D,
       
   374      0x0037,
       
   375      0x0037,
       
   376      0x0038,
       
   377      0x0038,
       
   378      0x0039,
       
   379      0x0039,
       
   380      0x002B,
       
   381      0x002A,
       
   382      0x002A,
       
   383      0x0030,
       
   384      0x0030,
       
   385      0x0023,
       
   386      0x0023,
       
   387      0x00DF,
       
   388      0x00DC,
       
   389     };
       
   390 
       
   391 const TInt KMiniQwertyDataSize_German = 160;
       
   392 
       
   393 
       
   394 const TPtiKeyBinding MiniQwertyKeyBindings_table_German[] =
       
   395     {
       
   396         {EPtiKeyQwerty1, EPtiCaseLower, 0, 1},
       
   397         {EPtiKeyQwerty2, EPtiCaseLower, 1, 1},
       
   398         {EPtiKeyQwerty3, EPtiCaseLower, 2, 5},
       
   399         {EPtiKeyQwerty4, EPtiCaseLower, 7, 1},
       
   400         {EPtiKeyQwerty5, EPtiCaseLower, 8, 2},
       
   401         {EPtiKeyQwerty6, EPtiCaseLower, 10, 1},
       
   402         {EPtiKeyQwerty7, EPtiCaseLower, 11, 5},
       
   403         {EPtiKeyQwerty8, EPtiCaseLower, 16, 5},
       
   404         {EPtiKeyQwerty9, EPtiCaseLower, 21, 7},
       
   405         {EPtiKeyQwerty0, EPtiCaseLower, 28, 1},
       
   406         {EPtiKeyQwertyA, EPtiCaseLower, 29, 8},
       
   407         {EPtiKeyQwertyS, EPtiCaseLower, 37, 2},
       
   408         {EPtiKeyQwertyD, EPtiCaseLower, 39, 2},
       
   409         {EPtiKeyQwertyF, EPtiCaseLower, 41, 1},
       
   410         {EPtiKeyQwertyG, EPtiCaseLower, 42, 2},
       
   411         {EPtiKeyQwertyH, EPtiCaseLower, 44, 1},
       
   412         {EPtiKeyQwertyJ, EPtiCaseLower, 45, 1},
       
   413         {EPtiKeyQwertyK, EPtiCaseLower, 46, 1},
       
   414         {EPtiKeyQwertyL, EPtiCaseLower, 47, 1},
       
   415         {EPtiKeyQwertyZ, EPtiCaseLower, 48, 2},
       
   416         {EPtiKeyQwertyX, EPtiCaseLower, 50, 1},
       
   417         {EPtiKeyQwertyC, EPtiCaseLower, 51, 2},
       
   418         {EPtiKeyQwertyV, EPtiCaseLower, 53, 1},
       
   419         {EPtiKeyQwertyB, EPtiCaseLower, 54, 1},
       
   420         {EPtiKeyQwertyN, EPtiCaseLower, 55, 2},
       
   421         {EPtiKeyQwertyM, EPtiCaseLower, 57, 1},
       
   422         {EPtiKeyQwertyComma, EPtiCaseLower, 58, 1},
       
   423         {EPtiKeyQwertyFullstop, EPtiCaseLower, 59, 1},
       
   424         {EPtiKeyQwerty1, EPtiCaseUpper, 64, 1},
       
   425         {EPtiKeyQwerty2, EPtiCaseUpper, 65, 1},
       
   426         {EPtiKeyQwerty3, EPtiCaseUpper, 66, 5},
       
   427         {EPtiKeyQwerty4, EPtiCaseUpper, 71, 1},
       
   428         {EPtiKeyQwerty5, EPtiCaseUpper, 72, 2},
       
   429         {EPtiKeyQwerty6, EPtiCaseUpper, 74, 1},
       
   430         {EPtiKeyQwerty7, EPtiCaseUpper, 75, 5},
       
   431         {EPtiKeyQwerty8, EPtiCaseUpper, 80, 5},
       
   432         {EPtiKeyQwerty9, EPtiCaseUpper, 85, 7},
       
   433         {EPtiKeyQwerty0, EPtiCaseUpper, 92, 1},
       
   434         {EPtiKeyQwertyA, EPtiCaseUpper, 93, 8},
       
   435         {EPtiKeyQwertyS, EPtiCaseUpper, 101, 1},
       
   436         {EPtiKeyQwertyD, EPtiCaseUpper, 102, 2},
       
   437         {EPtiKeyQwertyF, EPtiCaseUpper, 104, 1},
       
   438         {EPtiKeyQwertyG, EPtiCaseUpper, 105, 2},
       
   439         {EPtiKeyQwertyH, EPtiCaseUpper, 107, 1},
       
   440         {EPtiKeyQwertyJ, EPtiCaseUpper, 108, 1},
       
   441         {EPtiKeyQwertyK, EPtiCaseUpper, 109, 1},
       
   442         {EPtiKeyQwertyL, EPtiCaseUpper, 110, 1},
       
   443         {EPtiKeyQwertyZ, EPtiCaseUpper, 111, 2},
       
   444         {EPtiKeyQwertyX, EPtiCaseUpper, 113, 1},
       
   445         {EPtiKeyQwertyC, EPtiCaseUpper, 114, 2},
       
   446         {EPtiKeyQwertyV, EPtiCaseUpper, 116, 1},
       
   447         {EPtiKeyQwertyB, EPtiCaseUpper, 117, 1},
       
   448         {EPtiKeyQwertyN, EPtiCaseUpper, 118, 2},
       
   449         {EPtiKeyQwertyM, EPtiCaseUpper, 120, 1},
       
   450         {EPtiKeyQwertyComma, EPtiCaseUpper, 121, 1},
       
   451         {EPtiKeyQwertyFullstop, EPtiCaseUpper, 122, 1},
       
   452         {EPtiKeyQwerty1, EPtiCaseFnLower, 125, 1},
       
   453         {EPtiKeyQwerty2, EPtiCaseFnLower, 126, 1},
       
   454         {EPtiKeyQwerty3, EPtiCaseFnLower, 127, 1},
       
   455         {EPtiKeyQwerty4, EPtiCaseFnLower, 128, 1},
       
   456         {EPtiKeyQwerty5, EPtiCaseFnLower, 129, 1},
       
   457         {EPtiKeyQwerty6, EPtiCaseFnLower, 130, 1},
       
   458         {EPtiKeyQwerty7, EPtiCaseFnLower, 131, 1},
       
   459         {EPtiKeyQwerty8, EPtiCaseFnLower, 132, 1},
       
   460         {EPtiKeyQwerty9, EPtiCaseFnLower, 133, 1},
       
   461         {EPtiKeyQwertyA, EPtiCaseFnLower, 134, 1},
       
   462         {EPtiKeyQwertyS, EPtiCaseFnLower, 135, 1},
       
   463         {EPtiKeyQwertyD, EPtiCaseFnLower, 136, 1},
       
   464         {EPtiKeyQwertyF, EPtiCaseFnLower, 137, 1},
       
   465         {EPtiKeyQwertyG, EPtiCaseFnLower, 138, 1},
       
   466         {EPtiKeyQwertyH, EPtiCaseFnLower, 139, 1},
       
   467         {EPtiKeyQwertyJ, EPtiCaseFnLower, 140, 1},
       
   468         {EPtiKeyQwertyK, EPtiCaseFnLower, 141, 1},
       
   469         {EPtiKeyQwertyL, EPtiCaseFnLower, 142, 1},
       
   470         {EPtiKeyQwertyZ, EPtiCaseFnLower, 143, 1},
       
   471         {EPtiKeyQwertyX, EPtiCaseFnLower, 144, 1},
       
   472         {EPtiKeyQwertyC, EPtiCaseFnLower, 145, 1},
       
   473         {EPtiKeyQwertyV, EPtiCaseFnLower, 146, 1},
       
   474         {EPtiKeyQwertyB, EPtiCaseFnLower, 147, 1},
       
   475         {EPtiKeyQwertyN, EPtiCaseFnLower, 148, 1},
       
   476         {EPtiKeyQwertyM, EPtiCaseFnLower, 149, 1},
       
   477         {EPtiKeyQwertyComma, EPtiCaseFnLower, 150, 1},
       
   478         {EPtiKeyQwertyFullstop, EPtiCaseFnLower, 151, 1},
       
   479         {EPtiKeyQwerty9, EPtiCaseFnUpper, 158, 1},
       
   480         {EPtiKeyQwertyL, EPtiCaseFnUpper, 159, 1},
       
   481     };
       
   482 
       
   483 const TInt KMaxMiniQwertyIndex_German = 85;
       
   484 
       
   485 //
       
   486 // MiniQwerty3x11 keymap data table
       
   487 //
       
   488 const TUint16 MiniQwerty3x11Data_table_German[] =
       
   489     {
       
   490      0x0071,
       
   491      0x0077,
       
   492      0x0065,0x00E8,0x00E9,0x00EB,0x00EA,
       
   493      0x0072,
       
   494      0x0074,0x00FE,
       
   495      0x007A,
       
   496      0x0075,0x00FC,0x00F9,0x00FA,0x00FB,
       
   497      0x0069,0x00EC,0x00ED,0x00EE,0x00EF,
       
   498      0x006F,0x00F6,0x00F2,0x00F3,0x00F4,0x00F5,0x00F8,
       
   499      0x0070,
       
   500      0x0061,0x00E4,0x00E0,0x00E1,0x00E3,0x00E2,0x00E5,0x00E6,
       
   501      0x0073,0x00DF,
       
   502      0x0064,0x00F0,
       
   503      0x0066,
       
   504      0x0067,0x011F,
       
   505      0x0068,
       
   506      0x006A,
       
   507      0x006B,
       
   508      0x006C,
       
   509      0x00FC,
       
   510      0x0079,0x00FD,
       
   511      0x0078,
       
   512      0x0063,0x00E7,
       
   513      0x0076,
       
   514      0x0062,
       
   515      0x006E,0x00F1,
       
   516      0x006D,
       
   517      0x0051,
       
   518      0x0057,
       
   519      0x0045,0x00C8,0x00C9,0x00CB,0x00CA,
       
   520      0x0052,
       
   521      0x0054,0x00DE,
       
   522      0x005A,
       
   523      0x0055,0x00DC,0x00D9,0x00DA,0x00DB,
       
   524      0x0049,0x00CC,0x00CD,0x00CE,0x00CF,
       
   525      0x004F,0x00D6,0x00D2,0x00D3,0x00D4,0x00D5,0x00D8,
       
   526      0x0050,
       
   527      0x0041,0x00C4,0x00C0,0x00C1,0x00C3,0x00C2,0x00C5,0x00C6,
       
   528      0x0053,
       
   529      0x0044,0x00D0,
       
   530      0x0046,
       
   531      0x0047,0x011E,
       
   532      0x0048,
       
   533      0x004A,
       
   534      0x004B,
       
   535      0x0059,0x00DD,
       
   536      0x0058,
       
   537      0x0043,0x00C7,
       
   538      0x0056,
       
   539      0x0042,
       
   540      0x004E,0x00D1,
       
   541      0x004D,
       
   542      0x0031,
       
   543      0x0032,
       
   544      0x0033,
       
   545      0x0034,
       
   546      0x0035,
       
   547      0x0036,
       
   548      0x0037,
       
   549      0x0038,
       
   550      0x0039,
       
   551      0x0030,
       
   552      0x0040,
       
   553      0x002F,
       
   554      0x002B,
       
   555      0x002D,
       
   556      0x002A,
       
   557      0x0023,
       
   558      0x003D,
       
   559      0x00F6,
       
   560      0x00E4,
       
   561      0x00DF,
       
   562      0x0027,
       
   563      0x0021,
       
   564      0x003F,
       
   565      0x002C,
       
   566      0x002E,
       
   567      0x003B,
       
   568      0x003A,
       
   569      0x00D6,
       
   570      0x00C4,
       
   571      0x00DF,
       
   572     };
       
   573 
       
   574 const TInt KMiniQwerty3x11DataSize_German = 145;
       
   575 
       
   576 
       
   577 const TPtiKeyBinding MiniQwerty3x11KeyBindings_table_German[] =
       
   578     {
       
   579         {EPtiKeyQwertyQ, EPtiCaseLower, 0, 1},
       
   580         {EPtiKeyQwertyW, EPtiCaseLower, 1, 1},
       
   581         {EPtiKeyQwertyE, EPtiCaseLower, 2, 5},
       
   582         {EPtiKeyQwertyR, EPtiCaseLower, 7, 1},
       
   583         {EPtiKeyQwertyT, EPtiCaseLower, 8, 2},
       
   584         {EPtiKeyQwertyY, EPtiCaseLower, 10, 1},
       
   585         {EPtiKeyQwertyU, EPtiCaseLower, 11, 5},
       
   586         {EPtiKeyQwertyI, EPtiCaseLower, 16, 5},
       
   587         {EPtiKeyQwertyO, EPtiCaseLower, 21, 7},
       
   588         {EPtiKeyQwertyP, EPtiCaseLower, 28, 1},
       
   589         {EPtiKeyQwertyA, EPtiCaseLower, 29, 8},
       
   590         {EPtiKeyQwertyS, EPtiCaseLower, 37, 2},
       
   591         {EPtiKeyQwertyD, EPtiCaseLower, 39, 2},
       
   592         {EPtiKeyQwertyF, EPtiCaseLower, 41, 1},
       
   593         {EPtiKeyQwertyG, EPtiCaseLower, 42, 2},
       
   594         {EPtiKeyQwertyH, EPtiCaseLower, 44, 1},
       
   595         {EPtiKeyQwertyJ, EPtiCaseLower, 45, 1},
       
   596         {EPtiKeyQwertyK, EPtiCaseLower, 46, 1},
       
   597         {EPtiKeyQwertyL, EPtiCaseLower, 47, 1},
       
   598         {EPtiKeyQwertyComma, EPtiCaseLower, 48, 1},
       
   599         {EPtiKeyQwertyZ, EPtiCaseLower, 49, 2},
       
   600         {EPtiKeyQwertyX, EPtiCaseLower, 51, 1},
       
   601         {EPtiKeyQwertyC, EPtiCaseLower, 52, 2},
       
   602         {EPtiKeyQwertyV, EPtiCaseLower, 54, 1},
       
   603         {EPtiKeyQwertyB, EPtiCaseLower, 55, 1},
       
   604         {EPtiKeyQwertyN, EPtiCaseLower, 56, 2},
       
   605         {EPtiKeyQwertyM, EPtiCaseLower, 58, 1},
       
   606         {EStdKeySpace, EPtiCaseLower, 59, 0},
       
   607         {EPtiKeyQwertyQ, EPtiCaseUpper, 59, 1},
       
   608         {EPtiKeyQwertyW, EPtiCaseUpper, 60, 1},
       
   609         {EPtiKeyQwertyE, EPtiCaseUpper, 61, 5},
       
   610         {EPtiKeyQwertyR, EPtiCaseUpper, 66, 1},
       
   611         {EPtiKeyQwertyT, EPtiCaseUpper, 67, 2},
       
   612         {EPtiKeyQwertyY, EPtiCaseUpper, 69, 1},
       
   613         {EPtiKeyQwertyU, EPtiCaseUpper, 70, 5},
       
   614         {EPtiKeyQwertyI, EPtiCaseUpper, 75, 5},
       
   615         {EPtiKeyQwertyO, EPtiCaseUpper, 80, 7},
       
   616         {EPtiKeyQwertyP, EPtiCaseUpper, 87, 1},
       
   617         {EPtiKeyQwertyA, EPtiCaseUpper, 88, 8},
       
   618         {EPtiKeyQwertyS, EPtiCaseUpper, 96, 1},
       
   619         {EPtiKeyQwertyD, EPtiCaseUpper, 97, 2},
       
   620         {EPtiKeyQwertyF, EPtiCaseUpper, 99, 1},
       
   621         {EPtiKeyQwertyG, EPtiCaseUpper, 100, 2},
       
   622         {EPtiKeyQwertyH, EPtiCaseUpper, 102, 1},
       
   623         {EPtiKeyQwertyJ, EPtiCaseUpper, 103, 1},
       
   624         {EPtiKeyQwertyK, EPtiCaseUpper, 104, 1},
       
   625         {EPtiKeyQwertyL, EPtiCaseUpper, 105, 0},
       
   626         {EPtiKeyQwertyComma, EPtiCaseUpper, 105, 0},
       
   627         {EPtiKeyQwertyZ, EPtiCaseUpper, 105, 2},
       
   628         {EPtiKeyQwertyX, EPtiCaseUpper, 107, 1},
       
   629         {EPtiKeyQwertyC, EPtiCaseUpper, 108, 2},
       
   630         {EPtiKeyQwertyV, EPtiCaseUpper, 110, 1},
       
   631         {EPtiKeyQwertyB, EPtiCaseUpper, 111, 1},
       
   632         {EPtiKeyQwertyN, EPtiCaseUpper, 112, 2},
       
   633         {EPtiKeyQwertyM, EPtiCaseUpper, 114, 1},
       
   634         {EStdKeySpace, EPtiCaseUpper, 115, 0},
       
   635         {EPtiKeyQwertyQ, EPtiCaseFnLower, 115, 1},
       
   636         {EPtiKeyQwertyW, EPtiCaseFnLower, 116, 1},
       
   637         {EPtiKeyQwertyE, EPtiCaseFnLower, 117, 1},
       
   638         {EPtiKeyQwertyR, EPtiCaseFnLower, 118, 1},
       
   639         {EPtiKeyQwertyT, EPtiCaseFnLower, 119, 1},
       
   640         {EPtiKeyQwertyY, EPtiCaseFnLower, 120, 1},
       
   641         {EPtiKeyQwertyU, EPtiCaseFnLower, 121, 1},
       
   642         {EPtiKeyQwertyI, EPtiCaseFnLower, 122, 1},
       
   643         {EPtiKeyQwertyO, EPtiCaseFnLower, 123, 1},
       
   644         {EPtiKeyQwertyP, EPtiCaseFnLower, 124, 1},
       
   645         {EPtiKeyQwertyA, EPtiCaseFnLower, 125, 1},
       
   646         {EPtiKeyQwertyS, EPtiCaseFnLower, 126, 1},
       
   647         {EPtiKeyQwertyD, EPtiCaseFnLower, 127, 1},
       
   648         {EPtiKeyQwertyF, EPtiCaseFnLower, 128, 1},
       
   649         {EPtiKeyQwertyG, EPtiCaseFnLower, 129, 1},
       
   650         {EPtiKeyQwertyH, EPtiCaseFnLower, 130, 1},
       
   651         {EPtiKeyQwertyJ, EPtiCaseFnLower, 131, 1},
       
   652         {EPtiKeyQwertyK, EPtiCaseFnLower, 132, 1},
       
   653         {EPtiKeyQwertyL, EPtiCaseFnLower, 133, 1},
       
   654         {EPtiKeyQwertyComma, EPtiCaseFnLower, 134, 1},
       
   655         {EPtiKeyQwertyZ, EPtiCaseFnLower, 135, 1},
       
   656         {EPtiKeyQwertyX, EPtiCaseFnLower, 136, 1},
       
   657         {EPtiKeyQwertyC, EPtiCaseFnLower, 137, 1},
       
   658         {EPtiKeyQwertyV, EPtiCaseFnLower, 138, 1},
       
   659         {EPtiKeyQwertyB, EPtiCaseFnLower, 139, 1},
       
   660         {EPtiKeyQwertyN, EPtiCaseFnLower, 140, 1},
       
   661         {EPtiKeyQwertyM, EPtiCaseFnLower, 141, 1},
       
   662         {EPtiKeyQwertyK, EPtiCaseFnUpper, 142, 1},
       
   663         {EPtiKeyQwertyL, EPtiCaseFnUpper, 143, 1},
       
   664         {EPtiKeyQwertyComma, EPtiCaseFnUpper, 144, 1},
       
   665     };
       
   666 
       
   667 const TInt KMaxMiniQwerty3x11Index_German = 86;
       
   668 
       
   669 //
       
   670 // Class implementation.
       
   671 //
       
   672 
       
   673 CPtiLangDataImplGerman* CPtiLangDataImplGerman::NewL()
       
   674     {
       
   675     return new (ELeave) CPtiLangDataImplGerman();
       
   676     }
       
   677 
       
   678 
       
   679 TInt CPtiLangDataImplGerman::LanguageCode() const
       
   680     {
       
   681     return ELangGerman;
       
   682     }
       
   683 
       
   684 
       
   685 const TUint16* CPtiLangDataImplGerman::KeyData(TPtiKeyboardType aKeyboardType, TInt& aDataSize) const
       
   686     {
       
   687     if (aKeyboardType == EPtiKeyboard12Key)
       
   688         {
       
   689         aDataSize = KMultitapDataSize_German;
       
   690         return MultitapData_table_German;
       
   691         }
       
   692     if (aKeyboardType == EPtiKeyboardQwerty4x12)
       
   693         {
       
   694         aDataSize = KStandardQwertyDataSize_German;
       
   695         return StandardQwertyData_table_German;
       
   696         }
       
   697 
       
   698     if (aKeyboardType == EPtiKeyboardQwerty4x10)
       
   699         {
       
   700         aDataSize = KMiniQwertyDataSize_German;
       
   701         return MiniQwertyData_table_German;
       
   702         }
       
   703 
       
   704     if (aKeyboardType == EPtiKeyboardQwerty3x11)
       
   705         {
       
   706         aDataSize = KMiniQwerty3x11DataSize_German;
       
   707         return MiniQwerty3x11Data_table_German;
       
   708         }
       
   709 
       
   710     aDataSize = 0;
       
   711     return NULL;
       
   712     }
       
   713 
       
   714 
       
   715 const TPtiKeyBinding* CPtiLangDataImplGerman::KeyBindingTable(TPtiKeyboardType aKeyboardType, TInt& aNumItems) const
       
   716     {
       
   717     if (aKeyboardType == EPtiKeyboard12Key)
       
   718         {
       
   719         aNumItems = KMaxMultitapIndex_German;
       
   720         return MultitapKeyBindings_table_German;
       
   721         }
       
   722     if (aKeyboardType == EPtiKeyboardQwerty4x12)
       
   723         {
       
   724         aNumItems = KMaxStandardQwertyIndex_German;
       
   725         return StandardQwertyKeyBindings_table_German;
       
   726         }
       
   727     if (aKeyboardType == EPtiKeyboardQwerty4x10)
       
   728         {
       
   729         aNumItems = KMaxMiniQwertyIndex_German;
       
   730         return MiniQwertyKeyBindings_table_German;
       
   731         }
       
   732     if (aKeyboardType == EPtiKeyboardQwerty3x11)
       
   733         {
       
   734         aNumItems = KMaxMiniQwerty3x11Index_German;
       
   735         return MiniQwerty3x11KeyBindings_table_German;
       
   736         }
       
   737 
       
   738     aNumItems = 0;
       
   739     return NULL;
       
   740     }
       
   741 
       
   742