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