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