textinput/ptienginev2/languages/PtiKeymappings_ITUT_30.cpp
changeset 0 eb1f2e154e89
child 18 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_30.h"
       
    34 
       
    35 //
       
    36 // Multitap keymap data table
       
    37 //
       
    38 const TUint16 MultitapData_table_HongKongChinese[] =
       
    39     {
       
    40      0x3002,0xFF0C,0xFF1F,0xFF01,0x3001,0xFF1A,0x0031,0x0040,0x002D,0x005F,0x0028,0x0029,0x300A,0x300B,0x002F,0x0025,0x00A5,
       
    41      0x0020,0x0030,0x21B2,
       
    42      0xFF0C,
       
    43      0x3002,
       
    44      0xFF1F,
       
    45      0x0020,0x0030,0x21B2,
       
    46     };
       
    47 
       
    48 const TInt KMultitapDataSize_HongKongChinese = 26;
       
    49 
       
    50 
       
    51 const TPtiKeyBinding MultitapKeyBindings_table_HongKongChinese[] =
       
    52     {
       
    53         {EPtiKey1, EPtiCaseLower, 0, 17},
       
    54         {EPtiKey2, EPtiCaseLower, 17, 0},
       
    55         {EPtiKey3, EPtiCaseLower, 17, 0},
       
    56         {EPtiKey4, EPtiCaseLower, 17, 0},
       
    57         {EPtiKey5, EPtiCaseLower, 17, 0},
       
    58         {EPtiKey6, EPtiCaseLower, 17, 0},
       
    59         {EPtiKey7, EPtiCaseLower, 17, 0},
       
    60         {EPtiKey8, EPtiCaseLower, 17, 0},
       
    61         {EPtiKey9, EPtiCaseLower, 17, 0},
       
    62         {EPtiKeyStar, EPtiCaseLower, 17, 0},
       
    63         {EPtiKey0, EPtiCaseLower, 17, 3},
       
    64         {EPtiKeyHash, EPtiCaseLower, 20, 0},
       
    65         {EPtiKey1, EPtiCaseUpper, 20, 0},
       
    66         {EPtiKey2, EPtiCaseUpper, 20, 0},
       
    67         {EPtiKey3, EPtiCaseUpper, 20, 0},
       
    68         {EPtiKey4, EPtiCaseUpper, 20, 0},
       
    69         {EPtiKey5, EPtiCaseUpper, 20, 0},
       
    70         {EPtiKey6, EPtiCaseUpper, 20, 0},
       
    71         {EPtiKey7, EPtiCaseUpper, 20, 1},
       
    72         {EPtiKey8, EPtiCaseUpper, 21, 1},
       
    73         {EPtiKey9, EPtiCaseUpper, 22, 1},
       
    74         {EPtiKeyStar, EPtiCaseUpper, 23, 0},
       
    75         {EPtiKey0, EPtiCaseUpper, 23, 3},
       
    76         {EPtiKeyHash, EPtiCaseUpper, 26, 0},
       
    77     };
       
    78 
       
    79 const TInt KMaxMultitapIndex_HongKongChinese = 24;
       
    80 
       
    81 //
       
    82 // StandardQwerty keymap data table
       
    83 //
       
    84 const TUint16 StandardQwertyData_table_HongKongChinese[] =
       
    85     {
       
    86      0x0031,
       
    87      0x0032,
       
    88      0x0033,
       
    89      0x0034,
       
    90      0x0035,
       
    91      0x0036,
       
    92      0x0037,
       
    93      0x0038,
       
    94      0x0039,
       
    95      0x0030,
       
    96      0x2463,0x002b,0x2463,0x002b,0x2461,0x002b,0x2461,0x002b,
       
    97      0x2463,0x624b,0x2461,0x4e00,
       
    98      0x2463,0x7530,0x2461,0x4e28 ,
       
    99      0x2463,0x6c34,0x2461,0x4e3f,
       
   100      0x2463,0x53e3 ,
       
   101      0x2463,0x5eff ,
       
   102      0x2463,0x535c,
       
   103      0x2463,0x5c71  ,
       
   104      0x2463,0x6208,0x2461,0x4e00,
       
   105      0x2463,0x4eba,0x2461,0x4e28,
       
   106      0x2463,0x5fc3,0x2461,0x4e3f,
       
   107      0x2463,0xff0d,0x2463,0x002d,0x2461,0xff0d,0x2461,0x002d,
       
   108      0x2463,0x0023,0x2463,0x0023,0x2461,0x0023,0x2461,0x0023,
       
   109      0x2463,0x65e5,0x2461,0x4e36,
       
   110      0x2463,0x5c38,0x2461,0x4e5b ,
       
   111      0x2463,0x6728,0x2461,0x003f,
       
   112      0x2463,0x706b,
       
   113      0x2463,0x571f,
       
   114      0x2463,0x7af9,
       
   115      0x2463,0x5341,0x2461,0x003f ,
       
   116      0x2463,0x5927,0x2461,0x4e36  ,
       
   117      0x2463,0x4e2d,0x2461,0x4e5b,
       
   118      0x2463,0xff1a,0x2463,0x003a,0x2461,0xff1a,0x2461,0x003a,
       
   119      0x2463,0xff07,0x2463,0x0027,0x2461,0xff07,0x2461,0x0027 ,
       
   120      0x2463,0x003f,
       
   121      0x2463,0x96e3,
       
   122      0x2463,0x91d1,
       
   123      0x2463,0x5973,
       
   124      0x2463,0x6708,
       
   125      0x2463,0x5f13,
       
   126      0x2463,0x4e00,
       
   127      0x2463,0xff0c,0x2463,0x002c,0x2461,0xff0c,0x2461,0x002c,
       
   128      0x2463,0x3002,0x2463,0x002e,0x2461,0x3002,0x2461,0x002e,
       
   129      0x2463,0x002f,0x2463,0x002f,0x2461,0x002f,0x2461,0x002f,
       
   130      0xff01,
       
   131      0xff02,
       
   132      0x0024 ,
       
   133      0x20ac,
       
   134      0x0025,
       
   135      0x0026,
       
   136      0x002a,
       
   137      0xff08,
       
   138      0xff09,
       
   139      0x003d,
       
   140      0x0051,
       
   141      0x0057,
       
   142      0x0045,
       
   143      0x0052,
       
   144      0x0054,
       
   145      0x0059,
       
   146      0x0055,
       
   147      0x0049,
       
   148      0x004f,
       
   149      0x0050,
       
   150      0x3001,
       
   151      0x007e,
       
   152      0x0041,
       
   153      0x0053,
       
   154      0x0044,
       
   155      0x0046,
       
   156      0x0047,
       
   157      0x0048,
       
   158      0x004a,
       
   159      0x004b,
       
   160      0x004c,
       
   161      0xff1b,
       
   162      0x0040,
       
   163      0x005a,
       
   164      0x0058,
       
   165      0x0043,
       
   166      0x0056,
       
   167      0x0042,
       
   168      0x004e,
       
   169      0x004d,
       
   170      0x003c,
       
   171      0x003e,
       
   172      0xff1f,
       
   173     };
       
   174 
       
   175 const TInt KStandardQwertyDataSize_HongKongChinese = 193;
       
   176 
       
   177 
       
   178 const TPtiKeyBinding StandardQwertyKeyBindings_table_HongKongChinese[] =
       
   179     {
       
   180         {EPtiKeyQwerty1, EPtiCaseLower, 0, 1},
       
   181         {EPtiKeyQwerty2, EPtiCaseLower, 1, 1},
       
   182         {EPtiKeyQwerty3, EPtiCaseLower, 2, 1},
       
   183         {EPtiKeyQwerty4, EPtiCaseLower, 3, 1},
       
   184         {EPtiKeyQwerty5, EPtiCaseLower, 4, 1},
       
   185         {EPtiKeyQwerty6, EPtiCaseLower, 5, 1},
       
   186         {EPtiKeyQwerty7, EPtiCaseLower, 6, 1},
       
   187         {EPtiKeyQwerty8, EPtiCaseLower, 7, 1},
       
   188         {EPtiKeyQwerty9, EPtiCaseLower, 8, 1},
       
   189         {EPtiKeyQwerty0, EPtiCaseLower, 9, 1},
       
   190         {EPtiKeyQwertyPlus, EPtiCaseLower, 10, 8},
       
   191         {EPtiKeyQwertyQ, EPtiCaseLower, 18, 4},
       
   192         {EPtiKeyQwertyW, EPtiCaseLower, 22, 4},
       
   193         {EPtiKeyQwertyE, EPtiCaseLower, 26, 4},
       
   194         {EPtiKeyQwertyR, EPtiCaseLower, 30, 2},
       
   195         {EPtiKeyQwertyT, EPtiCaseLower, 32, 2},
       
   196         {EPtiKeyQwertyY, EPtiCaseLower, 34, 2},
       
   197         {EPtiKeyQwertyU, EPtiCaseLower, 36, 2},
       
   198         {EPtiKeyQwertyI, EPtiCaseLower, 38, 4},
       
   199         {EPtiKeyQwertyO, EPtiCaseLower, 42, 4},
       
   200         {EPtiKeyQwertyP, EPtiCaseLower, 46, 4},
       
   201         {EPtiKeyQwertyMinus, EPtiCaseLower, 50, 8},
       
   202         {EPtiKeyQwertyHash, EPtiCaseLower, 58, 8},
       
   203         {EPtiKeyQwertyA, EPtiCaseLower, 66, 4},
       
   204         {EPtiKeyQwertyS, EPtiCaseLower, 70, 4},
       
   205         {EPtiKeyQwertyD, EPtiCaseLower, 74, 4},
       
   206         {EPtiKeyQwertyF, EPtiCaseLower, 78, 2},
       
   207         {EPtiKeyQwertyG, EPtiCaseLower, 80, 2},
       
   208         {EPtiKeyQwertyH, EPtiCaseLower, 82, 2},
       
   209         {EPtiKeyQwertyJ, EPtiCaseLower, 84, 4},
       
   210         {EPtiKeyQwertyK, EPtiCaseLower, 88, 4},
       
   211         {EPtiKeyQwertyL, EPtiCaseLower, 92, 4},
       
   212         {EPtiKeyQwertySemicolon, EPtiCaseLower, 96, 8},
       
   213         {EPtiKeyQwertyApostrophe, EPtiCaseLower, 104, 8},
       
   214         {EPtiKeyQwertyZ, EPtiCaseLower, 112, 2},
       
   215         {EPtiKeyQwertyX, EPtiCaseLower, 114, 2},
       
   216         {EPtiKeyQwertyC, EPtiCaseLower, 116, 2},
       
   217         {EPtiKeyQwertyV, EPtiCaseLower, 118, 2},
       
   218         {EPtiKeyQwertyB, EPtiCaseLower, 120, 2},
       
   219         {EPtiKeyQwertyN, EPtiCaseLower, 122, 2},
       
   220         {EPtiKeyQwertyM, EPtiCaseLower, 124, 2},
       
   221         {EPtiKeyQwertyComma, EPtiCaseLower, 126, 8},
       
   222         {EPtiKeyQwertyFullstop, EPtiCaseLower, 134, 8},
       
   223         {EPtiKeyQwertySlash, EPtiCaseLower, 142, 8},
       
   224         {EPtiKeyQwerty1, EPtiCaseUpper, 150, 1},
       
   225         {EPtiKeyQwerty2, EPtiCaseUpper, 151, 1},
       
   226         {EPtiKeyQwerty3, EPtiCaseUpper, 152, 1},
       
   227         {EPtiKeyQwerty4, EPtiCaseUpper, 153, 1},
       
   228         {EPtiKeyQwerty5, EPtiCaseUpper, 154, 1},
       
   229         {EPtiKeyQwerty6, EPtiCaseUpper, 155, 1},
       
   230         {EPtiKeyQwerty7, EPtiCaseUpper, 156, 1},
       
   231         {EPtiKeyQwerty8, EPtiCaseUpper, 157, 1},
       
   232         {EPtiKeyQwerty9, EPtiCaseUpper, 158, 1},
       
   233         {EPtiKeyQwerty0, EPtiCaseUpper, 159, 0},
       
   234         {EPtiKeyQwertyPlus, EPtiCaseUpper, 159, 1},
       
   235         {EPtiKeyQwertyQ, EPtiCaseUpper, 160, 1},
       
   236         {EPtiKeyQwertyW, EPtiCaseUpper, 161, 1},
       
   237         {EPtiKeyQwertyE, EPtiCaseUpper, 162, 1},
       
   238         {EPtiKeyQwertyR, EPtiCaseUpper, 163, 1},
       
   239         {EPtiKeyQwertyT, EPtiCaseUpper, 164, 1},
       
   240         {EPtiKeyQwertyY, EPtiCaseUpper, 165, 1},
       
   241         {EPtiKeyQwertyU, EPtiCaseUpper, 166, 1},
       
   242         {EPtiKeyQwertyI, EPtiCaseUpper, 167, 1},
       
   243         {EPtiKeyQwertyO, EPtiCaseUpper, 168, 1},
       
   244         {EPtiKeyQwertyP, EPtiCaseUpper, 169, 1},
       
   245         {EPtiKeyQwertyMinus, EPtiCaseUpper, 170, 1},
       
   246         {EPtiKeyQwertyHash, EPtiCaseUpper, 171, 1},
       
   247         {EPtiKeyQwertyA, EPtiCaseUpper, 172, 1},
       
   248         {EPtiKeyQwertyS, EPtiCaseUpper, 173, 1},
       
   249         {EPtiKeyQwertyD, EPtiCaseUpper, 174, 1},
       
   250         {EPtiKeyQwertyF, EPtiCaseUpper, 175, 1},
       
   251         {EPtiKeyQwertyG, EPtiCaseUpper, 176, 1},
       
   252         {EPtiKeyQwertyH, EPtiCaseUpper, 177, 1},
       
   253         {EPtiKeyQwertyJ, EPtiCaseUpper, 178, 1},
       
   254         {EPtiKeyQwertyK, EPtiCaseUpper, 179, 1},
       
   255         {EPtiKeyQwertyL, EPtiCaseUpper, 180, 1},
       
   256         {EPtiKeyQwertySemicolon, EPtiCaseUpper, 181, 1},
       
   257         {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 182, 1},
       
   258         {EPtiKeyQwertyZ, EPtiCaseUpper, 183, 1},
       
   259         {EPtiKeyQwertyX, EPtiCaseUpper, 184, 1},
       
   260         {EPtiKeyQwertyC, EPtiCaseUpper, 185, 1},
       
   261         {EPtiKeyQwertyV, EPtiCaseUpper, 186, 1},
       
   262         {EPtiKeyQwertyB, EPtiCaseUpper, 187, 1},
       
   263         {EPtiKeyQwertyN, EPtiCaseUpper, 188, 1},
       
   264         {EPtiKeyQwertyM, EPtiCaseUpper, 189, 1},
       
   265         {EPtiKeyQwertyComma, EPtiCaseUpper, 190, 1},
       
   266         {EPtiKeyQwertyFullstop, EPtiCaseUpper, 191, 1},
       
   267         {EPtiKeyQwertySlash, EPtiCaseUpper, 192, 1},
       
   268     };
       
   269 
       
   270 const TInt KMaxStandardQwertyIndex_HongKongChinese = 88;
       
   271 
       
   272 
       
   273 //
       
   274 // Numeric key data table for StandardQwerty
       
   275 //
       
   276 const TPtiNumericKeyBinding StandardQwertyNumericKeysData_table_HongKongChinese[] =
       
   277 	{
       
   278 	{'*',EPtiKeyQwerty6,EPtiCaseUpper},
       
   279 	{'p',EPtiKeyQwertyP,EPtiCaseLower},
       
   280 	{'w',EPtiKeyQwertyW,EPtiCaseLower},
       
   281 	{'E',EPtiKeyQwertyE,EPtiCaseUpper},
       
   282 	{'?',EPtiKeyQwertySlash,EPtiCaseUpper},
       
   283 	};
       
   284 
       
   285 const TInt KNumStandardQwertyNumericKeysEntries_HongKongChinese = 5;
       
   286 //
       
   287 // MiniQwerty keymap data table
       
   288 //
       
   289 const TUint16 MiniQwertyData_table_HongKongChinese[] =
       
   290     {
       
   291      0x2463,0x624b,
       
   292      0x2463,0x7530,
       
   293      0x2463,0x6c34,0x2461,0x4e00,
       
   294      0x2463,0x53e3,0x2461,0x4e00,
       
   295      0x2463,0x5eff,0x2461,0x4e28,
       
   296      0x2463,0x535c,0x2461,0x4e28,
       
   297      0x2463,0x5c71,0x2461,0x4e3f,
       
   298      0x2463,0x6208,0x2461,0x4e3f,
       
   299      0x2463,0x4eba,
       
   300      0x2463,0x5fc3,
       
   301      0x2463,0x65e5,
       
   302      0x2463,0x5c38,
       
   303      0x2463,0x6728,0x2461,0x4e36,
       
   304      0x2463,0x706b,0x2461,0x4e36,
       
   305      0x2463,0x571f,0x2461,0x4e5b,
       
   306      0x2463,0x7af9,0x2461,0x4e5b,
       
   307      0x2463,0x5341,0x2461,0x003f,
       
   308      0x2463,0x5927,0x2461,0x003f,
       
   309      0x2463,0x4e2d,
       
   310      0x2463,0x003f,
       
   311      0x2463,0x96e3,
       
   312      0x2463,0x91d1,
       
   313      0x2463,0x5973,
       
   314      0x2463,0x6708,
       
   315      0x2463,0x5f13,
       
   316      0x2463,0x4e00,
       
   317      0x2463,0xFF0C,0x2463,0x002c,0x2461,0xFF0C,0x2461,0x002c,
       
   318      0x2463,0x3002,0x2463,0x002e,0x2461,0x3002,0x2461,0x002e,
       
   319      0x2463,0x002F,0x2463,0x002F,0x2461,0x002F,0x2461,0x002F,
       
   320      0x2463,0x0040,0x2463,0x0040,0x2461,0x0040,0x2461,0x0040,
       
   321      0x2461,0x2022,
       
   322      0x2463,0x003F,0x2463,0x003F,0x2461,0x003f,0x2461,0x003f,
       
   323      0x0051,
       
   324      0x0057,
       
   325      0x0045,
       
   326      0x0052,
       
   327      0x0054,
       
   328      0x0059,
       
   329      0x0055,
       
   330      0x0049,
       
   331      0x004F,
       
   332      0x0050,
       
   333      0x0041,
       
   334      0x0053,
       
   335      0x0044,
       
   336      0x0046,
       
   337      0x0047,
       
   338      0x0048,
       
   339      0x004A,
       
   340      0x004B,
       
   341      0x004C,
       
   342      0x005A,
       
   343      0x0058,
       
   344      0x0043,
       
   345      0x0056,
       
   346      0x0042,
       
   347      0x004E,
       
   348      0x004D,
       
   349      0x2463,0xFF1B,0x2463,0x003b,0x2461,0xff1b,0x2461,0x003b,
       
   350      0x2463,0xFF1A,0x2463,0x003a,0x2461,0xff1a,0x2461,0x003a,
       
   351      0x2463,0xFF07,0x2463,0x0027,0x2461,0xFF07,0x2461,0x0027,
       
   352      0x2463,0xff02,0x2463,0x0022,0x2461,0xff02,0x2461,0x0022,
       
   353      0x2463,0x005e,0x2463,0x005E,0x2461,0x005e,0x2461,0x005e,
       
   354      0x0031,
       
   355      0x0031,
       
   356      0x0032,
       
   357      0x0032,
       
   358      0x0033,
       
   359      0x0033,
       
   360      0x0034,
       
   361      0x0034,
       
   362      0x0035,
       
   363      0x0035,
       
   364      0x0036,
       
   365      0x0036,
       
   366      0x0037,
       
   367      0x0037,
       
   368      0x0038,
       
   369      0x0038,
       
   370      0x0039,
       
   371      0x0039,
       
   372      0x002A,
       
   373      0x002A,
       
   374      0x0030,
       
   375      0x0023,
       
   376      0x0031,
       
   377      0x0031,
       
   378      0x0032,
       
   379      0x0032,
       
   380      0x0033,
       
   381      0x0033,
       
   382      0x0034,
       
   383      0x0034,
       
   384      0x0035,
       
   385      0x0035,
       
   386      0x0036,
       
   387      0x0036,
       
   388      0x0037,
       
   389      0x0037,
       
   390      0x0038,
       
   391      0x0038,
       
   392      0x0039,
       
   393      0x0039,
       
   394      0x002A,
       
   395      0x002A,
       
   396      0x0030,
       
   397      0x0023,
       
   398     };
       
   399 
       
   400 const TInt KMiniQwertyDataSize_HongKongChinese = 228;
       
   401 
       
   402 
       
   403 const TPtiKeyBinding MiniQwertyKeyBindings_table_HongKongChinese[] =
       
   404     {
       
   405         {EPtiKeyQwerty1, EPtiCaseLower, 0, 2},
       
   406         {EPtiKeyQwerty2, EPtiCaseLower, 2, 2},
       
   407         {EPtiKeyQwerty3, EPtiCaseLower, 4, 4},
       
   408         {EPtiKeyQwerty4, EPtiCaseLower, 8, 4},
       
   409         {EPtiKeyQwerty5, EPtiCaseLower, 12, 4},
       
   410         {EPtiKeyQwerty6, EPtiCaseLower, 16, 4},
       
   411         {EPtiKeyQwerty7, EPtiCaseLower, 20, 4},
       
   412         {EPtiKeyQwerty8, EPtiCaseLower, 24, 4},
       
   413         {EPtiKeyQwerty9, EPtiCaseLower, 28, 2},
       
   414         {EPtiKeyQwerty0, EPtiCaseLower, 30, 2},
       
   415         {EPtiKeyQwertyA, EPtiCaseLower, 32, 2},
       
   416         {EPtiKeyQwertyS, EPtiCaseLower, 34, 2},
       
   417         {EPtiKeyQwertyD, EPtiCaseLower, 36, 4},
       
   418         {EPtiKeyQwertyF, EPtiCaseLower, 40, 4},
       
   419         {EPtiKeyQwertyG, EPtiCaseLower, 44, 4},
       
   420         {EPtiKeyQwertyH, EPtiCaseLower, 48, 4},
       
   421         {EPtiKeyQwertyJ, EPtiCaseLower, 52, 4},
       
   422         {EPtiKeyQwertyK, EPtiCaseLower, 56, 4},
       
   423         {EPtiKeyQwertyL, EPtiCaseLower, 60, 2},
       
   424         {EPtiKeyQwertyZ, EPtiCaseLower, 62, 2},
       
   425         {EPtiKeyQwertyX, EPtiCaseLower, 64, 2},
       
   426         {EPtiKeyQwertyC, EPtiCaseLower, 66, 2},
       
   427         {EPtiKeyQwertyV, EPtiCaseLower, 68, 2},
       
   428         {EPtiKeyQwertyB, EPtiCaseLower, 70, 2},
       
   429         {EPtiKeyQwertyN, EPtiCaseLower, 72, 2},
       
   430         {EPtiKeyQwertyM, EPtiCaseLower, 74, 2},
       
   431         {EPtiKeyQwertyComma, EPtiCaseLower, 76, 8},
       
   432         {EPtiKeyQwertyFullstop, EPtiCaseLower, 84, 8},
       
   433         {EPtiKeyQwerty1, EPtiCaseUpper, 118, 1},
       
   434         {EPtiKeyQwerty2, EPtiCaseUpper, 119, 1},
       
   435         {EPtiKeyQwerty3, EPtiCaseUpper, 120, 1},
       
   436         {EPtiKeyQwerty4, EPtiCaseUpper, 121, 1},
       
   437         {EPtiKeyQwerty5, EPtiCaseUpper, 122, 1},
       
   438         {EPtiKeyQwerty6, EPtiCaseUpper, 123, 1},
       
   439         {EPtiKeyQwerty7, EPtiCaseUpper, 124, 1},
       
   440         {EPtiKeyQwerty8, EPtiCaseUpper, 125, 1},
       
   441         {EPtiKeyQwerty9, EPtiCaseUpper, 126, 1},
       
   442         {EPtiKeyQwerty0, EPtiCaseUpper, 127, 1},
       
   443         {EPtiKeyQwertyA, EPtiCaseUpper, 128, 1},
       
   444         {EPtiKeyQwertyS, EPtiCaseUpper, 129, 1},
       
   445         {EPtiKeyQwertyD, EPtiCaseUpper, 130, 1},
       
   446         {EPtiKeyQwertyF, EPtiCaseUpper, 131, 1},
       
   447         {EPtiKeyQwertyG, EPtiCaseUpper, 132, 1},
       
   448         {EPtiKeyQwertyH, EPtiCaseUpper, 133, 1},
       
   449         {EPtiKeyQwertyJ, EPtiCaseUpper, 134, 1},
       
   450         {EPtiKeyQwertyK, EPtiCaseUpper, 135, 1},
       
   451         {EPtiKeyQwertyL, EPtiCaseUpper, 136, 1},
       
   452         {EPtiKeyQwertyZ, EPtiCaseUpper, 137, 1},
       
   453         {EPtiKeyQwertyX, EPtiCaseUpper, 138, 1},
       
   454         {EPtiKeyQwertyC, EPtiCaseUpper, 139, 1},
       
   455         {EPtiKeyQwertyV, EPtiCaseUpper, 140, 1},
       
   456         {EPtiKeyQwertyB, EPtiCaseUpper, 141, 1},
       
   457         {EPtiKeyQwertyN, EPtiCaseUpper, 142, 1},
       
   458         {EPtiKeyQwertyM, EPtiCaseUpper, 143, 1},
       
   459         {EPtiKeyQwertyComma, EPtiCaseUpper, 144, 8},
       
   460         {EPtiKeyQwertyFullstop, EPtiCaseUpper, 152, 8},
       
   461         {EPtiKeyQwerty3, EPtiCaseFnLower, 184, 1},
       
   462         {EPtiKeyQwerty4, EPtiCaseFnLower, 185, 1},
       
   463         {EPtiKeyQwerty5, EPtiCaseFnLower, 186, 1},
       
   464         {EPtiKeyQwerty6, EPtiCaseFnLower, 187, 1},
       
   465         {EPtiKeyQwerty7, EPtiCaseFnLower, 188, 1},
       
   466         {EPtiKeyQwerty8, EPtiCaseFnLower, 189, 1},
       
   467         {EPtiKeyQwertyD, EPtiCaseFnLower, 190, 1},
       
   468         {EPtiKeyQwertyF, EPtiCaseFnLower, 191, 1},
       
   469         {EPtiKeyQwertyG, EPtiCaseFnLower, 192, 1},
       
   470         {EPtiKeyQwertyH, EPtiCaseFnLower, 193, 1},
       
   471         {EPtiKeyQwertyJ, EPtiCaseFnLower, 194, 1},
       
   472         {EPtiKeyQwertyK, EPtiCaseFnLower, 195, 1},
       
   473         {EPtiKeyQwertyC, EPtiCaseFnLower, 196, 1},
       
   474         {EPtiKeyQwertyV, EPtiCaseFnLower, 197, 1},
       
   475         {EPtiKeyQwertyB, EPtiCaseFnLower, 198, 1},
       
   476         {EPtiKeyQwertyN, EPtiCaseFnLower, 199, 1},
       
   477         {EPtiKeyQwertyM, EPtiCaseFnLower, 200, 1},
       
   478         {EPtiKeyQwertyComma, EPtiCaseFnLower, 201, 1},
       
   479         {EPtiKeyQwerty3, EPtiCaseFnUpper, 206, 1},
       
   480         {EPtiKeyQwerty4, EPtiCaseFnUpper, 207, 1},
       
   481         {EPtiKeyQwerty5, EPtiCaseFnUpper, 208, 1},
       
   482         {EPtiKeyQwerty6, EPtiCaseFnUpper, 209, 1},
       
   483         {EPtiKeyQwerty7, EPtiCaseFnUpper, 210, 1},
       
   484         {EPtiKeyQwerty8, EPtiCaseFnUpper, 211, 1},
       
   485         {EPtiKeyQwertyD, EPtiCaseFnUpper, 212, 1},
       
   486         {EPtiKeyQwertyF, EPtiCaseFnUpper, 213, 1},
       
   487         {EPtiKeyQwertyG, EPtiCaseFnUpper, 214, 1},
       
   488         {EPtiKeyQwertyH, EPtiCaseFnUpper, 215, 1},
       
   489         {EPtiKeyQwertyJ, EPtiCaseFnUpper, 216, 1},
       
   490         {EPtiKeyQwertyK, EPtiCaseFnUpper, 217, 1},
       
   491         {EPtiKeyQwertyC, EPtiCaseFnUpper, 218, 1},
       
   492         {EPtiKeyQwertyV, EPtiCaseFnUpper, 219, 1},
       
   493         {EPtiKeyQwertyB, EPtiCaseFnUpper, 220, 1},
       
   494         {EPtiKeyQwertyN, EPtiCaseFnUpper, 221, 1},
       
   495         {EPtiKeyQwertyM, EPtiCaseFnUpper, 222, 1},
       
   496         {EPtiKeyQwertyComma, EPtiCaseFnUpper, 223, 1},
       
   497     };
       
   498 
       
   499 const TInt KMaxMiniQwertyIndex_HongKongChinese = 92;
       
   500 
       
   501 //
       
   502 // MiniQwerty3x11 keymap data table
       
   503 //
       
   504 const TUint16 MiniQwerty3x11Data_table_HongKongChinese[] =
       
   505     {
       
   506      0x2463,0x624b,0x2461,0x4e00,
       
   507      0x2463,0x7530,0x2461,0x4e28,
       
   508      0x2463,0x6c34,0x2461,0x4e3f,
       
   509      0x2463,0x53e3,0x2461,0x4e36,
       
   510      0x2463,0x5eff,0x2461,0x4e5b,
       
   511      0x2463,0x535c,0x2461,0x003f,
       
   512      0x2463,0x5c71,
       
   513      0x2463,0x6208,
       
   514      0x2463,0x4eba,
       
   515      0x2463,0x5fc3,
       
   516      0x2463,0x65e5,
       
   517      0x2463,0x5c38,
       
   518      0x2463,0x6728,
       
   519      0x2463,0x706b,
       
   520      0x2463,0x571f,
       
   521      0x2463,0x7af9,
       
   522      0x2463,0x5341,
       
   523      0x2463,0x5927,
       
   524      0x2463,0x4e2d,
       
   525      0x2463,0xFF0C,0x2463,0x002c,0x2461,0xFF0C,0x2461,0x002c,
       
   526      0x2463,0x96e3,
       
   527      0x2463,0x91d1,
       
   528      0x2463,0x5973,
       
   529      0x2463,0x6708,
       
   530      0x2463,0x5f13,
       
   531      0x2463,0x4e00,
       
   532      0x2461,0x2022,
       
   533      0x0051 ,
       
   534      0x0057,
       
   535      0x0045,
       
   536      0x0052,
       
   537      0x0054 ,
       
   538      0x0059,
       
   539      0x0055,
       
   540      0x0049,
       
   541      0x004f,
       
   542      0x0050,
       
   543      0x0041,
       
   544      0x0053,
       
   545      0x0044,
       
   546      0x0046,
       
   547      0x0047,
       
   548      0x0048,
       
   549      0x004a,
       
   550      0x004b,
       
   551      0x004c,
       
   552      0x2463,0x3002,0x2463,0x002e,0x2461,0x3002,0x2461,0x002e,
       
   553      0x005a,
       
   554      0x0058,
       
   555      0x0043,
       
   556      0x0056,
       
   557      0x0042,
       
   558      0x004e,
       
   559      0x004d,
       
   560      0x0031,
       
   561      0x0032,
       
   562      0x0033,
       
   563      0x0034,
       
   564      0x0035,
       
   565      0x0036,
       
   566      0x0037,
       
   567      0x0038,
       
   568      0x0039,
       
   569      0x0030 ,
       
   570      0x0040,
       
   571      0x002f,
       
   572      0x002b,
       
   573      0x002d,
       
   574      0x003d,
       
   575      0x0023,
       
   576      0x002a,
       
   577      0x003b,
       
   578      0x003a,
       
   579      0x0027 ,
       
   580      0x0028,
       
   581      0x0029,
       
   582      0x0025,
       
   583      0x0026,
       
   584      0x0022,
       
   585      0x003f,
       
   586      0x0021,
       
   587      0x0031,
       
   588      0x0032,
       
   589      0x0033,
       
   590      0x0034,
       
   591      0x0035,
       
   592      0x0036,
       
   593      0x0037,
       
   594      0x0038,
       
   595      0x0039,
       
   596      0x0030  ,
       
   597      0x0040,
       
   598      0x002f,
       
   599      0x002b,
       
   600      0x002d,
       
   601      0x003d,
       
   602      0x0023,
       
   603      0x002a,
       
   604      0x003b,
       
   605      0x003a,
       
   606      0x0027  ,
       
   607      0x0028,
       
   608      0x0029,
       
   609      0x0025,
       
   610      0x0026,
       
   611      0x0022,
       
   612      0x003f,
       
   613      0x0021,
       
   614     };
       
   615 
       
   616 const TInt KMiniQwerty3x11DataSize_HongKongChinese = 160;
       
   617 
       
   618 
       
   619 const TPtiKeyBinding MiniQwerty3x11KeyBindings_table_HongKongChinese[] =
       
   620     {
       
   621         {EPtiKeyQwertyQ, EPtiCaseLower, 0, 4},
       
   622         {EPtiKeyQwertyW, EPtiCaseLower, 4, 4},
       
   623         {EPtiKeyQwertyE, EPtiCaseLower, 8, 4},
       
   624         {EPtiKeyQwertyR, EPtiCaseLower, 12, 4},
       
   625         {EPtiKeyQwertyT, EPtiCaseLower, 16, 4},
       
   626         {EPtiKeyQwertyY, EPtiCaseLower, 20, 4},
       
   627         {EPtiKeyQwertyU, EPtiCaseLower, 24, 2},
       
   628         {EPtiKeyQwertyI, EPtiCaseLower, 26, 2},
       
   629         {EPtiKeyQwertyO, EPtiCaseLower, 28, 2},
       
   630         {EPtiKeyQwertyP, EPtiCaseLower, 30, 2},
       
   631         {EPtiKeyQwertyA, EPtiCaseLower, 32, 2},
       
   632         {EPtiKeyQwertyS, EPtiCaseLower, 34, 2},
       
   633         {EPtiKeyQwertyD, EPtiCaseLower, 36, 2},
       
   634         {EPtiKeyQwertyF, EPtiCaseLower, 38, 2},
       
   635         {EPtiKeyQwertyG, EPtiCaseLower, 40, 2},
       
   636         {EPtiKeyQwertyH, EPtiCaseLower, 42, 2},
       
   637         {EPtiKeyQwertyJ, EPtiCaseLower, 44, 2},
       
   638         {EPtiKeyQwertyK, EPtiCaseLower, 46, 2},
       
   639         {EPtiKeyQwertyL, EPtiCaseLower, 48, 2},
       
   640         {EPtiKeyQwertyComma, EPtiCaseLower, 50, 8},
       
   641         {EPtiKeyQwertyZ, EPtiCaseLower, 58, 0},
       
   642         {EPtiKeyQwertyX, EPtiCaseLower, 58, 2},
       
   643         {EPtiKeyQwertyC, EPtiCaseLower, 60, 2},
       
   644         {EPtiKeyQwertyV, EPtiCaseLower, 62, 2},
       
   645         {EPtiKeyQwertyB, EPtiCaseLower, 64, 2},
       
   646         {EPtiKeyQwertyN, EPtiCaseLower, 66, 2},
       
   647         {EPtiKeyQwertyM, EPtiCaseLower, 68, 2},
       
   648         {EStdKeySpace, EPtiCaseLower, 70, 2},
       
   649         {EPtiKeyQwertyQ, EPtiCaseUpper, 72, 1},
       
   650         {EPtiKeyQwertyW, EPtiCaseUpper, 73, 1},
       
   651         {EPtiKeyQwertyE, EPtiCaseUpper, 74, 1},
       
   652         {EPtiKeyQwertyR, EPtiCaseUpper, 75, 1},
       
   653         {EPtiKeyQwertyT, EPtiCaseUpper, 76, 1},
       
   654         {EPtiKeyQwertyY, EPtiCaseUpper, 77, 1},
       
   655         {EPtiKeyQwertyU, EPtiCaseUpper, 78, 1},
       
   656         {EPtiKeyQwertyI, EPtiCaseUpper, 79, 1},
       
   657         {EPtiKeyQwertyO, EPtiCaseUpper, 80, 1},
       
   658         {EPtiKeyQwertyP, EPtiCaseUpper, 81, 1},
       
   659         {EPtiKeyQwertyA, EPtiCaseUpper, 82, 1},
       
   660         {EPtiKeyQwertyS, EPtiCaseUpper, 83, 1},
       
   661         {EPtiKeyQwertyD, EPtiCaseUpper, 84, 1},
       
   662         {EPtiKeyQwertyF, EPtiCaseUpper, 85, 1},
       
   663         {EPtiKeyQwertyG, EPtiCaseUpper, 86, 1},
       
   664         {EPtiKeyQwertyH, EPtiCaseUpper, 87, 1},
       
   665         {EPtiKeyQwertyJ, EPtiCaseUpper, 88, 1},
       
   666         {EPtiKeyQwertyK, EPtiCaseUpper, 89, 1},
       
   667         {EPtiKeyQwertyL, EPtiCaseUpper, 90, 1},
       
   668         {EPtiKeyQwertyComma, EPtiCaseUpper, 91, 8},
       
   669         {EPtiKeyQwertyZ, EPtiCaseUpper, 99, 1},
       
   670         {EPtiKeyQwertyX, EPtiCaseUpper, 100, 1},
       
   671         {EPtiKeyQwertyC, EPtiCaseUpper, 101, 1},
       
   672         {EPtiKeyQwertyV, EPtiCaseUpper, 102, 1},
       
   673         {EPtiKeyQwertyB, EPtiCaseUpper, 103, 1},
       
   674         {EPtiKeyQwertyN, EPtiCaseUpper, 104, 1},
       
   675         {EPtiKeyQwertyM, EPtiCaseUpper, 105, 1},
       
   676         {EStdKeySpace, EPtiCaseUpper, 106, 0},
       
   677         {EPtiKeyQwertyQ, EPtiCaseFnLower, 106, 1},
       
   678         {EPtiKeyQwertyW, EPtiCaseFnLower, 107, 1},
       
   679         {EPtiKeyQwertyE, EPtiCaseFnLower, 108, 1},
       
   680         {EPtiKeyQwertyR, EPtiCaseFnLower, 109, 1},
       
   681         {EPtiKeyQwertyT, EPtiCaseFnLower, 110, 1},
       
   682         {EPtiKeyQwertyY, EPtiCaseFnLower, 111, 1},
       
   683         {EPtiKeyQwertyU, EPtiCaseFnLower, 112, 1},
       
   684         {EPtiKeyQwertyI, EPtiCaseFnLower, 113, 1},
       
   685         {EPtiKeyQwertyO, EPtiCaseFnLower, 114, 1},
       
   686         {EPtiKeyQwertyP, EPtiCaseFnLower, 115, 1},
       
   687         {EPtiKeyQwertyA, EPtiCaseFnLower, 116, 1},
       
   688         {EPtiKeyQwertyS, EPtiCaseFnLower, 117, 1},
       
   689         {EPtiKeyQwertyD, EPtiCaseFnLower, 118, 1},
       
   690         {EPtiKeyQwertyF, EPtiCaseFnLower, 119, 1},
       
   691         {EPtiKeyQwertyG, EPtiCaseFnLower, 120, 1},
       
   692         {EPtiKeyQwertyH, EPtiCaseFnLower, 121, 1},
       
   693         {EPtiKeyQwertyJ, EPtiCaseFnLower, 122, 1},
       
   694         {EPtiKeyQwertyK, EPtiCaseFnLower, 123, 1},
       
   695         {EPtiKeyQwertyL, EPtiCaseFnLower, 124, 1},
       
   696         {EPtiKeyQwertyComma, EPtiCaseFnLower, 125, 1},
       
   697         {EPtiKeyQwertyZ, EPtiCaseFnLower, 126, 1},
       
   698         {EPtiKeyQwertyX, EPtiCaseFnLower, 127, 1},
       
   699         {EPtiKeyQwertyC, EPtiCaseFnLower, 128, 1},
       
   700         {EPtiKeyQwertyV, EPtiCaseFnLower, 129, 1},
       
   701         {EPtiKeyQwertyB, EPtiCaseFnLower, 130, 1},
       
   702         {EPtiKeyQwertyN, EPtiCaseFnLower, 131, 1},
       
   703         {EPtiKeyQwertyM, EPtiCaseFnLower, 132, 1},
       
   704         {EPtiKeyQwertyQ, EPtiCaseFnUpper, 133, 1},
       
   705         {EPtiKeyQwertyW, EPtiCaseFnUpper, 134, 1},
       
   706         {EPtiKeyQwertyE, EPtiCaseFnUpper, 135, 1},
       
   707         {EPtiKeyQwertyR, EPtiCaseFnUpper, 136, 1},
       
   708         {EPtiKeyQwertyT, EPtiCaseFnUpper, 137, 1},
       
   709         {EPtiKeyQwertyY, EPtiCaseFnUpper, 138, 1},
       
   710         {EPtiKeyQwertyU, EPtiCaseFnUpper, 139, 1},
       
   711         {EPtiKeyQwertyI, EPtiCaseFnUpper, 140, 1},
       
   712         {EPtiKeyQwertyO, EPtiCaseFnUpper, 141, 1},
       
   713         {EPtiKeyQwertyP, EPtiCaseFnUpper, 142, 1},
       
   714         {EPtiKeyQwertyA, EPtiCaseFnUpper, 143, 1},
       
   715         {EPtiKeyQwertyS, EPtiCaseFnUpper, 144, 1},
       
   716         {EPtiKeyQwertyD, EPtiCaseFnUpper, 145, 1},
       
   717         {EPtiKeyQwertyF, EPtiCaseFnUpper, 146, 1},
       
   718         {EPtiKeyQwertyG, EPtiCaseFnUpper, 147, 1},
       
   719         {EPtiKeyQwertyH, EPtiCaseFnUpper, 148, 1},
       
   720         {EPtiKeyQwertyJ, EPtiCaseFnUpper, 149, 1},
       
   721         {EPtiKeyQwertyK, EPtiCaseFnUpper, 150, 1},
       
   722         {EPtiKeyQwertyL, EPtiCaseFnUpper, 151, 1},
       
   723         {EPtiKeyQwertyComma, EPtiCaseFnUpper, 152, 1},
       
   724         {EPtiKeyQwertyZ, EPtiCaseFnUpper, 153, 1},
       
   725         {EPtiKeyQwertyX, EPtiCaseFnUpper, 154, 1},
       
   726         {EPtiKeyQwertyC, EPtiCaseFnUpper, 155, 1},
       
   727         {EPtiKeyQwertyV, EPtiCaseFnUpper, 156, 1},
       
   728         {EPtiKeyQwertyB, EPtiCaseFnUpper, 157, 1},
       
   729         {EPtiKeyQwertyN, EPtiCaseFnUpper, 158, 1},
       
   730         {EPtiKeyQwertyM, EPtiCaseFnUpper, 159, 1},
       
   731     };
       
   732 
       
   733 const TInt KMaxMiniQwerty3x11Index_HongKongChinese = 110;
       
   734 
       
   735 //
       
   736 // HalfQwerty keymap data table
       
   737 //
       
   738 const TUint16 HalfQwertyData_table_HongKongChinese[] =
       
   739     {
       
   740      0x0071,0x0077,
       
   741      0x0065,0x0072,0x2461,0x4e00,
       
   742      0x0074,0x0079,0x2461,0x4e28,
       
   743      0x0075,0x0069,0x2461,0x4e3f,
       
   744      0x006f,0x0070,
       
   745      0x0061,0x0073,
       
   746      0x0064,0x0066,0x2461,0x4e36,
       
   747      0x0067,0x0068,0x2461,0x4e5b,
       
   748      0x006a,0x006b,0x2461,0x003f,
       
   749      0x006c,
       
   750      0x007a,0x0078,
       
   751      0x0063,0x0076,
       
   752      0x0062,0x006e,
       
   753      0x006d,
       
   754      0x3002,0xFF0C,0xFF1A,0xFF1B,
       
   755      0x0020,
       
   756      0x005e,
       
   757      0x0051,0x0057,
       
   758      0x0045,0x0052,
       
   759      0x0054,0x0059,
       
   760      0x0055,0x0049,
       
   761      0x004f,0x0050,
       
   762      0x0041,0x0053,
       
   763      0x0044,0x0046,
       
   764      0x0047,0x0048,
       
   765      0x004a,0x004b,
       
   766      0x004c,
       
   767      0x005a,0x0058,
       
   768      0x0043,0x0056,
       
   769      0x0042,0x004e,
       
   770      0x004d,
       
   771      0x3002,0xFF0C,0xFF1A,0xFF1B,
       
   772      0x0020,
       
   773      0x005e,
       
   774      0xFF01,
       
   775      0x0031,
       
   776      0x0032,
       
   777      0x0033,
       
   778      0x002d,
       
   779      0xFF1F,
       
   780      0x0034,
       
   781      0x0035,
       
   782      0x0036,
       
   783      0x0027,
       
   784      0x0040,
       
   785      0x0037,
       
   786      0x0038,
       
   787      0x0039,
       
   788      0xFF1A, 0xFF1B, 0x3002, 0xFF0C,
       
   789      0x002a, 0x002b,
       
   790      0x0030,
       
   791      0x0023, 0x002f,
       
   792      0xFF01,
       
   793      0x0031,
       
   794      0x0032,
       
   795      0x0033,
       
   796      0x002d,
       
   797      0xFF1F,
       
   798      0x0034,
       
   799      0x0035,
       
   800      0x0036,
       
   801      0x0027,
       
   802      0x0040,
       
   803      0x0037,
       
   804      0x0038,
       
   805      0x0039,
       
   806      0xFF1A, 0xFF1B, 0x3002, 0xFF0C,
       
   807      0x002a, 0x002b,
       
   808      0x0030,
       
   809      0x0023, 0x002f,
       
   810     };
       
   811 
       
   812 const TInt KHalfQwertyDataSize_HongKongChinese = 122;
       
   813 
       
   814 
       
   815 const TPtiKeyBinding HalfQwertyKeyBindings_table_HongKongChinese[] =
       
   816     {
       
   817         {EPtiKeyQwertyQ, EPtiCaseLower, 0, 2},
       
   818         {EPtiKeyQwerty1, EPtiCaseLower, 2, 4},
       
   819         {EPtiKeyQwerty2, EPtiCaseLower, 6, 4},
       
   820         {EPtiKeyQwerty3, EPtiCaseLower, 10, 4},
       
   821         {EPtiKeyQwertyO, EPtiCaseLower, 14, 2},
       
   822         {EPtiKeyQwertyA, EPtiCaseLower, 16, 2},
       
   823         {EPtiKeyQwerty4, EPtiCaseLower, 18, 4},
       
   824         {EPtiKeyQwerty5, EPtiCaseLower, 22, 4},
       
   825         {EPtiKeyQwerty6, EPtiCaseLower, 26, 4},
       
   826         {EPtiKeyQwertyL, EPtiCaseLower, 30, 1},
       
   827         {EPtiKeyQwertyZ, EPtiCaseLower, 31, 2},
       
   828         {EPtiKeyQwerty7, EPtiCaseLower, 33, 2},
       
   829         {EPtiKeyQwerty8, EPtiCaseLower, 35, 2},
       
   830         {EPtiKeyQwerty9, EPtiCaseLower, 37, 1},
       
   831         {EPtiKeyQwertyFullstop, EPtiCaseLower, 38, 4},
       
   832         {EPtiKeyQwertyChr, EPtiCaseLower, 42, 0},
       
   833         {EPtiKeyQwertySpace, EPtiCaseLower, 42, 1},
       
   834         {EPtiKeyQwertyLeftShift, EPtiCaseLower, 43, 1},
       
   835         {EPtiKeyQwertyQ, EPtiCaseUpper, 44, 2},
       
   836         {EPtiKeyQwerty1, EPtiCaseUpper, 46, 2},
       
   837         {EPtiKeyQwerty2, EPtiCaseUpper, 48, 2},
       
   838         {EPtiKeyQwerty3, EPtiCaseUpper, 50, 2},
       
   839         {EPtiKeyQwertyO, EPtiCaseUpper, 52, 2},
       
   840         {EPtiKeyQwertyA, EPtiCaseUpper, 54, 2},
       
   841         {EPtiKeyQwerty4, EPtiCaseUpper, 56, 2},
       
   842         {EPtiKeyQwerty5, EPtiCaseUpper, 58, 2},
       
   843         {EPtiKeyQwerty6, EPtiCaseUpper, 60, 2},
       
   844         {EPtiKeyQwertyL, EPtiCaseUpper, 62, 1},
       
   845         {EPtiKeyQwertyZ, EPtiCaseUpper, 63, 2},
       
   846         {EPtiKeyQwerty7, EPtiCaseUpper, 65, 2},
       
   847         {EPtiKeyQwerty8, EPtiCaseUpper, 67, 2},
       
   848         {EPtiKeyQwerty9, EPtiCaseUpper, 69, 1},
       
   849         {EPtiKeyQwertyFullstop, EPtiCaseUpper, 70, 4},
       
   850         {EPtiKeyQwertyChr, EPtiCaseUpper, 74, 0},
       
   851         {EPtiKeyQwertySpace, EPtiCaseUpper, 74, 1},
       
   852         {EPtiKeyQwertyLeftShift, EPtiCaseUpper, 75, 1},
       
   853         {EPtiKeyQwertyQ, EPtiCaseFnLower, 76, 1},
       
   854         {EPtiKeyQwerty1, EPtiCaseFnLower, 77, 1},
       
   855         {EPtiKeyQwerty2, EPtiCaseFnLower, 78, 1},
       
   856         {EPtiKeyQwerty3, EPtiCaseFnLower, 79, 1},
       
   857         {EPtiKeyQwertyO, EPtiCaseFnLower, 80, 1},
       
   858         {EPtiKeyQwertyA, EPtiCaseFnLower, 81, 1},
       
   859         {EPtiKeyQwerty4, EPtiCaseFnLower, 82, 1},
       
   860         {EPtiKeyQwerty5, EPtiCaseFnLower, 83, 1},
       
   861         {EPtiKeyQwerty6, EPtiCaseFnLower, 84, 1},
       
   862         {EPtiKeyQwertyL, EPtiCaseFnLower, 85, 1},
       
   863         {EPtiKeyQwertyZ, EPtiCaseFnLower, 86, 1},
       
   864         {EPtiKeyQwerty7, EPtiCaseFnLower, 87, 1},
       
   865         {EPtiKeyQwerty8, EPtiCaseFnLower, 88, 1},
       
   866         {EPtiKeyQwerty9, EPtiCaseFnLower, 89, 1},
       
   867         {EPtiKeyQwertyFullstop, EPtiCaseFnLower, 90, 4},
       
   868         {EPtiKeyQwertyChr, EPtiCaseFnLower, 94, 2},
       
   869         {EPtiKeyQwertySpace, EPtiCaseFnLower, 96, 1},
       
   870         {EPtiKeyQwertyLeftShift, EPtiCaseFnLower, 97, 2},
       
   871         {EPtiKeyQwertyQ, EPtiCaseFnUpper, 99, 1},
       
   872         {EPtiKeyQwerty1, EPtiCaseFnUpper, 100, 1},
       
   873         {EPtiKeyQwerty2, EPtiCaseFnUpper, 101, 1},
       
   874         {EPtiKeyQwerty3, EPtiCaseFnUpper, 102, 1},
       
   875         {EPtiKeyQwertyO, EPtiCaseFnUpper, 103, 1},
       
   876         {EPtiKeyQwertyA, EPtiCaseFnUpper, 104, 1},
       
   877         {EPtiKeyQwerty4, EPtiCaseFnUpper, 105, 1},
       
   878         {EPtiKeyQwerty5, EPtiCaseFnUpper, 106, 1},
       
   879         {EPtiKeyQwerty6, EPtiCaseFnUpper, 107, 1},
       
   880         {EPtiKeyQwertyL, EPtiCaseFnUpper, 108, 1},
       
   881         {EPtiKeyQwertyZ, EPtiCaseFnUpper, 109, 1},
       
   882         {EPtiKeyQwerty7, EPtiCaseFnUpper, 110, 1},
       
   883         {EPtiKeyQwerty8, EPtiCaseFnUpper, 111, 1},
       
   884         {EPtiKeyQwerty9, EPtiCaseFnUpper, 112, 1},
       
   885         {EPtiKeyQwertyFullstop, EPtiCaseFnUpper, 113, 4},
       
   886         {EPtiKeyQwertyChr, EPtiCaseFnUpper, 117, 2},
       
   887         {EPtiKeyQwertySpace, EPtiCaseFnUpper, 119, 1},
       
   888         {EPtiKeyQwertyLeftShift, EPtiCaseFnUpper, 120, 2},
       
   889     };
       
   890 
       
   891 const TInt KMaxHalfQwertyIndex_HongKongChinese = 72;
       
   892 
       
   893 //
       
   894 // CustomQwerty keymap data table
       
   895 //
       
   896 const TUint16 CustomQwertyData_table_HongKongChinese[] =
       
   897     {
       
   898      0x0061,
       
   899      0x0062 ,
       
   900      0x0063,
       
   901      0x0064,
       
   902      0x0065,
       
   903      0x0066,
       
   904      0x0067,
       
   905      0x0068,
       
   906      0x0069,
       
   907      0x006A,
       
   908      0x006B,
       
   909      0x006C,
       
   910      0x0031 ,
       
   911      0x0032,
       
   912      0x0033,
       
   913      0x0034,
       
   914      0x0035,
       
   915      0x0036,
       
   916      0x0037,
       
   917      0x0038,
       
   918      0x0039,
       
   919      0x0030,
       
   920      0x003f,
       
   921      0x003e,
       
   922      0x0041,
       
   923      0x0042,
       
   924      0x0043,
       
   925      0x0044,
       
   926      0x0045,
       
   927      0x0046,
       
   928      0x0047,
       
   929      0x0048,
       
   930      0x0049,
       
   931      0x004A,
       
   932      0x004B,
       
   933      0x004C,
       
   934      0x0021 ,
       
   935      0x0022,
       
   936      0x0023,
       
   937      0x0024,
       
   938      0x0025,
       
   939      0x0026,
       
   940      0x0027,
       
   941      0x0028,
       
   942      0x0029,
       
   943      0x002A,
       
   944      0x002B,
       
   945      0x002C,
       
   946     };
       
   947 
       
   948 const TInt KCustomQwertyDataSize_HongKongChinese = 48;
       
   949 
       
   950 
       
   951 const TPtiKeyBinding CustomQwertyKeyBindings_table_HongKongChinese[] =
       
   952     {
       
   953         { EPtiKeyQwerty1, EPtiCaseLower, 0, 1},
       
   954         { EPtiKeyQwerty2, EPtiCaseLower, 1, 1},
       
   955         { EPtiKeyQwerty3, EPtiCaseLower, 2, 1},
       
   956         { EPtiKeyQwerty4, EPtiCaseLower, 3, 1},
       
   957         { EPtiKeyQwerty5, EPtiCaseLower, 4, 1},
       
   958         { EPtiKeyQwerty6, EPtiCaseLower, 5, 1},
       
   959         { EPtiKeyQwerty7, EPtiCaseLower, 6, 1},
       
   960         { EPtiKeyQwerty8, EPtiCaseLower, 7, 1},
       
   961         { EPtiKeyQwerty9, EPtiCaseLower, 8, 1},
       
   962         { EPtiKeyQwerty0, EPtiCaseLower, 9, 1},
       
   963         { EPtiKeyQwerty1, EPtiCaseUpper, 24, 1},
       
   964         { EPtiKeyQwerty2, EPtiCaseUpper, 25, 1},
       
   965         { EPtiKeyQwerty3, EPtiCaseUpper, 26, 1},
       
   966         { EPtiKeyQwerty4, EPtiCaseUpper, 27, 1},
       
   967         { EPtiKeyQwerty5, EPtiCaseUpper, 28, 1},
       
   968         { EPtiKeyQwerty6, EPtiCaseUpper, 29, 1},
       
   969         { EPtiKeyQwerty7, EPtiCaseUpper, 30, 1},
       
   970         { EPtiKeyQwerty8, EPtiCaseUpper, 31, 1},
       
   971         { EPtiKeyQwerty9, EPtiCaseUpper, 32, 1},
       
   972         { EPtiKeyQwerty0, EPtiCaseUpper, 33, 1},
       
   973     };
       
   974 
       
   975 const TInt KMaxCustomQwertyIndex_HongKongChinese = 20;
       
   976 
       
   977 //
       
   978 // Class implementation.
       
   979 //
       
   980 
       
   981 CPtiLangDataImplHongKongChinese* CPtiLangDataImplHongKongChinese::NewL()
       
   982     {
       
   983     return new (ELeave) CPtiLangDataImplHongKongChinese();
       
   984     }
       
   985 
       
   986 
       
   987 TInt CPtiLangDataImplHongKongChinese::LanguageCode() const
       
   988     {
       
   989     return ELangHongKongChinese;
       
   990     }
       
   991 
       
   992 
       
   993 const TUint16* CPtiLangDataImplHongKongChinese::KeyData(TPtiKeyboardType aKeyboardType, TInt& aDataSize) const
       
   994     {
       
   995     if (aKeyboardType == EPtiKeyboard12Key)
       
   996         {
       
   997         aDataSize = KMultitapDataSize_HongKongChinese;
       
   998         return MultitapData_table_HongKongChinese;
       
   999         }
       
  1000     if (aKeyboardType == EPtiKeyboardQwerty4x12)
       
  1001         {
       
  1002         aDataSize = KStandardQwertyDataSize_HongKongChinese;
       
  1003         return StandardQwertyData_table_HongKongChinese;
       
  1004         }
       
  1005 
       
  1006     if (aKeyboardType == EPtiKeyboardQwerty4x10)
       
  1007         {
       
  1008         aDataSize = KMiniQwertyDataSize_HongKongChinese;
       
  1009         return MiniQwertyData_table_HongKongChinese;
       
  1010         }
       
  1011 
       
  1012     if (aKeyboardType == EPtiKeyboardQwerty3x11)
       
  1013         {
       
  1014         aDataSize = KMiniQwerty3x11DataSize_HongKongChinese;
       
  1015         return MiniQwerty3x11Data_table_HongKongChinese;
       
  1016         }
       
  1017 
       
  1018     if (aKeyboardType == EPtiKeyboardHalfQwerty)
       
  1019         {
       
  1020         aDataSize = KHalfQwertyDataSize_HongKongChinese;
       
  1021         return HalfQwertyData_table_HongKongChinese;
       
  1022         }
       
  1023 
       
  1024     if (aKeyboardType == EPtiKeyboardCustomQwerty)
       
  1025         {
       
  1026         aDataSize = KCustomQwertyDataSize_HongKongChinese;
       
  1027         return CustomQwertyData_table_HongKongChinese;
       
  1028         }
       
  1029 
       
  1030     aDataSize = 0;
       
  1031     return NULL;
       
  1032     }
       
  1033 
       
  1034 
       
  1035 const TPtiKeyBinding* CPtiLangDataImplHongKongChinese::KeyBindingTable(TPtiKeyboardType aKeyboardType, TInt& aNumItems) const
       
  1036     {
       
  1037     if (aKeyboardType == EPtiKeyboard12Key)
       
  1038         {
       
  1039         aNumItems = KMaxMultitapIndex_HongKongChinese;
       
  1040         return MultitapKeyBindings_table_HongKongChinese;
       
  1041         }
       
  1042     if (aKeyboardType == EPtiKeyboardQwerty4x12)
       
  1043         {
       
  1044         aNumItems = KMaxStandardQwertyIndex_HongKongChinese;
       
  1045         return StandardQwertyKeyBindings_table_HongKongChinese;
       
  1046         }
       
  1047     if (aKeyboardType == EPtiKeyboardQwerty4x10)
       
  1048         {
       
  1049         aNumItems = KMaxMiniQwertyIndex_HongKongChinese;
       
  1050         return MiniQwertyKeyBindings_table_HongKongChinese;
       
  1051         }
       
  1052     if (aKeyboardType == EPtiKeyboardQwerty3x11)
       
  1053         {
       
  1054         aNumItems = KMaxMiniQwerty3x11Index_HongKongChinese;
       
  1055         return MiniQwerty3x11KeyBindings_table_HongKongChinese;
       
  1056         }
       
  1057     if (aKeyboardType == EPtiKeyboardHalfQwerty)
       
  1058         {
       
  1059         aNumItems = KMaxHalfQwertyIndex_HongKongChinese;
       
  1060         return HalfQwertyKeyBindings_table_HongKongChinese;
       
  1061         }
       
  1062     if (aKeyboardType == EPtiKeyboardCustomQwerty)
       
  1063         {
       
  1064         aNumItems = KMaxCustomQwertyIndex_HongKongChinese;
       
  1065         return CustomQwertyKeyBindings_table_HongKongChinese;
       
  1066         }
       
  1067 
       
  1068     aNumItems = 0;
       
  1069     return NULL;
       
  1070     }
       
  1071 
       
  1072 
       
  1073 const TPtiNumericKeyBinding* CPtiLangDataImplHongKongChinese::NumericModeKeysTable(TPtiKeyboardType aKeyboardType, TInt& aNumEntries) const
       
  1074     {
       
  1075     if (aKeyboardType == EPtiKeyboardQwerty4x12)
       
  1076         {
       
  1077         aNumEntries = KNumStandardQwertyNumericKeysEntries_HongKongChinese;
       
  1078         return StandardQwertyNumericKeysData_table_HongKongChinese;
       
  1079         }
       
  1080 
       
  1081     aNumEntries = 0;
       
  1082     return NULL;
       
  1083     }
       
  1084 
       
  1085 
       
  1086 
       
  1087 TBool CPtiLangDataImplHongKongChinese::SuitableForLatinOnlyMode() const
       
  1088     {
       
  1089     return EFalse;
       
  1090     }
       
  1091 
       
  1092