textinput/ptienginev2/languages/PtiKeymappings_ITUT_33.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_33.h"
       
    34 
       
    35 //
       
    36 // Multitap keymap data table
       
    37 //
       
    38 const TUint16 MultitapData_table_Thai[] =
       
    39     {
       
    40      0xe01,0xe02,0xe03,0xe04,0xe05,0x31,
       
    41      0xe06,0xe07,0xe08,0xe09,0x32,
       
    42      0xe0a,0xe0b,0xe0c,0xe0d,0x33,
       
    43      0xe0e,0xe0f,0xe10,0xe11,0xe12,0xe13,0x34,
       
    44      0xe14,0xe15,0xe16,0xe17,0xe18,0x35,
       
    45      0xe19,0xe1a,0xe1b,0xe1c,0xe1d,0x36,
       
    46      0xe1e,0xe1f,0xe20,0xe21,0xe22,0x37,
       
    47      0xe23,0xe24,0xe25,0xe26,0xe27,0xe28,0xe29,0x38,
       
    48      0xe2a,0xe2b,0xe2c,0xe2d,0xe2e,0x39,
       
    49      0x0E2F,0x0E3F,0x0E31,0x0E34,0x0E35,0x0E36,0x0E37,0x0E38,0x0E39,0x0E46,0x0E47,0x0E48,0x0E49,0x0E4A,0x0E4B,0x0E4C,
       
    50      0xE30,0xE32,0xE33,0xE40,0xE41,0xE42,0xE43,0xE44,0xE45,
       
    51      0xe01,0xe02,0xe03,0xe04,0xe05,0x31,
       
    52      0xe06,0xe07,0xe08,0xe09,0x32,
       
    53      0xe0a,0xe0b,0xe0c,0xe0d,0x33,
       
    54      0xe0e,0xe0f,0xe10,0xe11,0xe12,0xe13,0x34,
       
    55      0xe14,0xe15,0xe16,0xe17,0xe18,0x35,
       
    56      0xe19,0xe1a,0xe1b,0xe1c,0xe1d,0x36,
       
    57      0xe1e,0xe1f,0xe20,0xe21,0xe22,0x37,
       
    58      0xe23,0xe24,0xe25,0xe26,0xe27,0xe28,0xe29,0x38,
       
    59      0xe2a,0xe2b,0xe2c,0xe2d,0xe2e,0x39,
       
    60      0x0E2F,0x0E3F,0x0E31,0x0E34,0x0E35,0x0E36,0x0E37,0x0E38,0x0E39,0x0E46,0x0E47,0x0E48,0x0E49,0x0E4A,0x0E4B,0x0E4C,
       
    61      0xE30,0xE32,0xE33,0xE40,0xE41,0xE42,0xE43,0xE44,0xE45,
       
    62     };
       
    63 
       
    64 const TInt KMultitapDataSize_Thai = 160;
       
    65 
       
    66 
       
    67 const TPtiKeyBinding MultitapKeyBindings_table_Thai[] =
       
    68     {
       
    69         {EPtiKey1, EPtiCaseLower, 0, 6},
       
    70         {EPtiKey2, EPtiCaseLower, 6, 5},
       
    71         {EPtiKey3, EPtiCaseLower, 11, 5},
       
    72         {EPtiKey4, EPtiCaseLower, 16, 7},
       
    73         {EPtiKey5, EPtiCaseLower, 23, 6},
       
    74         {EPtiKey6, EPtiCaseLower, 29, 6},
       
    75         {EPtiKey7, EPtiCaseLower, 35, 6},
       
    76         {EPtiKey8, EPtiCaseLower, 41, 8},
       
    77         {EPtiKey9, EPtiCaseLower, 49, 6},
       
    78         {EPtiKeyStar, EPtiCaseLower, 55, 16},
       
    79         {EPtiKey0, EPtiCaseLower, 71, 9},
       
    80         {EPtiKeyHash, EPtiCaseLower, 80, 0},
       
    81         {EPtiKey1, EPtiCaseUpper, 80, 6},
       
    82         {EPtiKey2, EPtiCaseUpper, 86, 5},
       
    83         {EPtiKey3, EPtiCaseUpper, 91, 5},
       
    84         {EPtiKey4, EPtiCaseUpper, 96, 7},
       
    85         {EPtiKey5, EPtiCaseUpper, 103, 6},
       
    86         {EPtiKey6, EPtiCaseUpper, 109, 6},
       
    87         {EPtiKey7, EPtiCaseUpper, 115, 6},
       
    88         {EPtiKey8, EPtiCaseUpper, 121, 8},
       
    89         {EPtiKey9, EPtiCaseUpper, 129, 6},
       
    90         {EPtiKeyStar, EPtiCaseUpper, 135, 16},
       
    91         {EPtiKey0, EPtiCaseUpper, 151, 9},
       
    92         {EPtiKeyHash, EPtiCaseUpper, 160, 0},
       
    93     };
       
    94 
       
    95 const TInt KMaxMultitapIndex_Thai = 24;
       
    96 
       
    97 //
       
    98 // StandardQwerty keymap data table
       
    99 //
       
   100 const TUint16 StandardQwertyData_table_Thai[] =
       
   101     {
       
   102      0x31,
       
   103      0x32,
       
   104      0x33,
       
   105      0x34,
       
   106      0x35,
       
   107      0x36,
       
   108      0x37,
       
   109      0x38,
       
   110      0x39,
       
   111      0x30,
       
   112      0x3f,
       
   113      0xe46,
       
   114      0xe44,
       
   115      0xe33,
       
   116      0xe1e,
       
   117      0xe30,
       
   118      0xe31,
       
   119      0xe35,
       
   120      0xe23,
       
   121      0xe19,
       
   122      0xe22,
       
   123      0xe1a,
       
   124      0x2c,
       
   125      0xe1f,
       
   126      0xe2b,
       
   127      0xe01,
       
   128      0xe14,
       
   129      0xe40,
       
   130      0xe49,
       
   131      0xe48,
       
   132      0xe32,
       
   133      0xe2a,
       
   134      0xe27,
       
   135      0xe07,
       
   136      0xe1c,
       
   137      0xe1b,
       
   138      0xe41,
       
   139      0xe2d,
       
   140      0xe34,
       
   141      0xe37,
       
   142      0xe17,
       
   143      0xe21,
       
   144      0xe43,
       
   145      0xe1d,
       
   146      0xe45,
       
   147      0x40,
       
   148      0xe20,
       
   149      0xe16,
       
   150      0xe39,
       
   151      0xe38,
       
   152      0xe36,
       
   153      0xe04,
       
   154      0xe15,
       
   155      0xe08,
       
   156      0x21,
       
   157      0xe02,
       
   158      0xe0a,
       
   159      0xe0e,
       
   160      0xe11,
       
   161      0xe18,
       
   162      0xe4d,
       
   163      0xe4a,
       
   164      0xe13,
       
   165      0xe2f,
       
   166      0xe0d,
       
   167      0xe10,
       
   168      0x2e,
       
   169      0xe25,
       
   170      0xe06,
       
   171      0xe0f,
       
   172      0xe42,
       
   173      0xe0c,
       
   174      0xe47,
       
   175      0xe4b,
       
   176      0xe29,
       
   177      0xe28,
       
   178      0xe0b,
       
   179      0x22,
       
   180      0xe1c,
       
   181      0xe1b,
       
   182      0xe09,
       
   183      0xe2e,
       
   184      0xe34,
       
   185      0xe4c,
       
   186      0xe17,
       
   187      0xe12,
       
   188      0xe2c,
       
   189      0x2f,
       
   190     };
       
   191 
       
   192 const TInt KStandardQwertyDataSize_Thai = 88;
       
   193 
       
   194 
       
   195 const TPtiKeyBinding StandardQwertyKeyBindings_table_Thai[] =
       
   196     {
       
   197         {EPtiKeyQwerty1, EPtiCaseLower, 0, 1},
       
   198         {EPtiKeyQwerty2, EPtiCaseLower, 1, 1},
       
   199         {EPtiKeyQwerty3, EPtiCaseLower, 2, 1},
       
   200         {EPtiKeyQwerty4, EPtiCaseLower, 3, 1},
       
   201         {EPtiKeyQwerty5, EPtiCaseLower, 4, 1},
       
   202         {EPtiKeyQwerty6, EPtiCaseLower, 5, 1},
       
   203         {EPtiKeyQwerty7, EPtiCaseLower, 6, 1},
       
   204         {EPtiKeyQwerty8, EPtiCaseLower, 7, 1},
       
   205         {EPtiKeyQwerty9, EPtiCaseLower, 8, 1},
       
   206         {EPtiKeyQwerty0, EPtiCaseLower, 9, 1},
       
   207         {EPtiKeyQwertyPlus, EPtiCaseLower, 10, 1},
       
   208         {EPtiKeyQwertyQ, EPtiCaseLower, 11, 1},
       
   209         {EPtiKeyQwertyW, EPtiCaseLower, 12, 1},
       
   210         {EPtiKeyQwertyE, EPtiCaseLower, 13, 1},
       
   211         {EPtiKeyQwertyR, EPtiCaseLower, 14, 1},
       
   212         {EPtiKeyQwertyT, EPtiCaseLower, 15, 1},
       
   213         {EPtiKeyQwertyY, EPtiCaseLower, 16, 1},
       
   214         {EPtiKeyQwertyU, EPtiCaseLower, 17, 1},
       
   215         {EPtiKeyQwertyI, EPtiCaseLower, 18, 1},
       
   216         {EPtiKeyQwertyO, EPtiCaseLower, 19, 1},
       
   217         {EPtiKeyQwertyP, EPtiCaseLower, 20, 1},
       
   218         {EPtiKeyQwertyMinus, EPtiCaseLower, 21, 1},
       
   219         {EPtiKeyQwertyHash, EPtiCaseLower, 22, 1},
       
   220         {EPtiKeyQwertyA, EPtiCaseLower, 23, 1},
       
   221         {EPtiKeyQwertyS, EPtiCaseLower, 24, 1},
       
   222         {EPtiKeyQwertyD, EPtiCaseLower, 25, 1},
       
   223         {EPtiKeyQwertyF, EPtiCaseLower, 26, 1},
       
   224         {EPtiKeyQwertyG, EPtiCaseLower, 27, 1},
       
   225         {EPtiKeyQwertyH, EPtiCaseLower, 28, 1},
       
   226         {EPtiKeyQwertyJ, EPtiCaseLower, 29, 1},
       
   227         {EPtiKeyQwertyK, EPtiCaseLower, 30, 1},
       
   228         {EPtiKeyQwertyL, EPtiCaseLower, 31, 1},
       
   229         {EPtiKeyQwertySemicolon, EPtiCaseLower, 32, 1},
       
   230         {EPtiKeyQwertyApostrophe, EPtiCaseLower, 33, 1},
       
   231         {EPtiKeyQwertyZ, EPtiCaseLower, 34, 1},
       
   232         {EPtiKeyQwertyX, EPtiCaseLower, 35, 1},
       
   233         {EPtiKeyQwertyC, EPtiCaseLower, 36, 1},
       
   234         {EPtiKeyQwertyV, EPtiCaseLower, 37, 1},
       
   235         {EPtiKeyQwertyB, EPtiCaseLower, 38, 1},
       
   236         {EPtiKeyQwertyN, EPtiCaseLower, 39, 1},
       
   237         {EPtiKeyQwertyM, EPtiCaseLower, 40, 1},
       
   238         {EPtiKeyQwertyComma, EPtiCaseLower, 41, 1},
       
   239         {EPtiKeyQwertyFullstop, EPtiCaseLower, 42, 1},
       
   240         {EPtiKeyQwertySlash, EPtiCaseLower, 43, 1},
       
   241         {EPtiKeyQwerty1, EPtiCaseUpper, 44, 1},
       
   242         {EPtiKeyQwerty2, EPtiCaseUpper, 45, 1},
       
   243         {EPtiKeyQwerty3, EPtiCaseUpper, 46, 1},
       
   244         {EPtiKeyQwerty4, EPtiCaseUpper, 47, 1},
       
   245         {EPtiKeyQwerty5, EPtiCaseUpper, 48, 1},
       
   246         {EPtiKeyQwerty6, EPtiCaseUpper, 49, 1},
       
   247         {EPtiKeyQwerty7, EPtiCaseUpper, 50, 1},
       
   248         {EPtiKeyQwerty8, EPtiCaseUpper, 51, 1},
       
   249         {EPtiKeyQwerty9, EPtiCaseUpper, 52, 1},
       
   250         {EPtiKeyQwerty0, EPtiCaseUpper, 53, 1},
       
   251         {EPtiKeyQwertyPlus, EPtiCaseUpper, 54, 1},
       
   252         {EPtiKeyQwertyQ, EPtiCaseUpper, 55, 1},
       
   253         {EPtiKeyQwertyW, EPtiCaseUpper, 56, 1},
       
   254         {EPtiKeyQwertyE, EPtiCaseUpper, 57, 1},
       
   255         {EPtiKeyQwertyR, EPtiCaseUpper, 58, 1},
       
   256         {EPtiKeyQwertyT, EPtiCaseUpper, 59, 1},
       
   257         {EPtiKeyQwertyY, EPtiCaseUpper, 60, 1},
       
   258         {EPtiKeyQwertyU, EPtiCaseUpper, 61, 1},
       
   259         {EPtiKeyQwertyI, EPtiCaseUpper, 62, 1},
       
   260         {EPtiKeyQwertyO, EPtiCaseUpper, 63, 1},
       
   261         {EPtiKeyQwertyP, EPtiCaseUpper, 64, 1},
       
   262         {EPtiKeyQwertyMinus, EPtiCaseUpper, 65, 1},
       
   263         {EPtiKeyQwertyHash, EPtiCaseUpper, 66, 1},
       
   264         {EPtiKeyQwertyA, EPtiCaseUpper, 67, 1},
       
   265         {EPtiKeyQwertyS, EPtiCaseUpper, 68, 1},
       
   266         {EPtiKeyQwertyD, EPtiCaseUpper, 69, 1},
       
   267         {EPtiKeyQwertyF, EPtiCaseUpper, 70, 1},
       
   268         {EPtiKeyQwertyG, EPtiCaseUpper, 71, 1},
       
   269         {EPtiKeyQwertyH, EPtiCaseUpper, 72, 1},
       
   270         {EPtiKeyQwertyJ, EPtiCaseUpper, 73, 1},
       
   271         {EPtiKeyQwertyK, EPtiCaseUpper, 74, 1},
       
   272         {EPtiKeyQwertyL, EPtiCaseUpper, 75, 1},
       
   273         {EPtiKeyQwertySemicolon, EPtiCaseUpper, 76, 1},
       
   274         {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 77, 1},
       
   275         {EPtiKeyQwertyZ, EPtiCaseUpper, 78, 1},
       
   276         {EPtiKeyQwertyX, EPtiCaseUpper, 79, 1},
       
   277         {EPtiKeyQwertyC, EPtiCaseUpper, 80, 1},
       
   278         {EPtiKeyQwertyV, EPtiCaseUpper, 81, 1},
       
   279         {EPtiKeyQwertyB, EPtiCaseUpper, 82, 1},
       
   280         {EPtiKeyQwertyN, EPtiCaseUpper, 83, 1},
       
   281         {EPtiKeyQwertyM, EPtiCaseUpper, 84, 1},
       
   282         {EPtiKeyQwertyComma, EPtiCaseUpper, 85, 1},
       
   283         {EPtiKeyQwertyFullstop, EPtiCaseUpper, 86, 1},
       
   284         {EPtiKeyQwertySlash, EPtiCaseUpper, 87, 1},
       
   285     };
       
   286 
       
   287 const TInt KMaxStandardQwertyIndex_Thai = 88;
       
   288 
       
   289 
       
   290 //
       
   291 // Numeric key data table for StandardQwerty
       
   292 //
       
   293 const TPtiNumericKeyBinding StandardQwertyNumericKeysData_table_Thai[] =
       
   294 	{
       
   295 	{'+',EPtiKeyQwertyPlus,EPtiCaseLower},
       
   296 	{'*',EPtiKeyQwerty8,EPtiCaseUpper},
       
   297 	{'#',EPtiKeyQwertyHash,EPtiCaseLower},
       
   298 	{'p',EPtiKeyQwertyP,EPtiCaseLower},
       
   299 	{'w',EPtiKeyQwertyW,EPtiCaseLower},
       
   300 	{';',EPtiKeyQwertySemicolon,EPtiCaseLower},
       
   301 	{'-',EPtiKeyQwertyMinus,EPtiCaseLower},
       
   302 	{'E',EPtiKeyQwertyE,EPtiCaseUpper},
       
   303 	};
       
   304 
       
   305 const TInt KNumStandardQwertyNumericKeysEntries_Thai = 8;
       
   306 //
       
   307 // MiniQwerty keymap data table
       
   308 //
       
   309 const TUint16 MiniQwertyData_table_Thai[] =
       
   310     {
       
   311      0x0E46,
       
   312      0x0E44,
       
   313      0x0E33,
       
   314      0x0E1E,
       
   315      0x0E30,
       
   316      0x0E31,
       
   317      0x0E35,
       
   318      0x0E23,
       
   319      0x0E19,
       
   320      0x0E22,
       
   321      0x0E1F,
       
   322      0x0E2B,
       
   323      0x0E01,
       
   324      0x0E14,
       
   325      0x0E40,
       
   326      0x0E49,
       
   327      0x0E48,
       
   328      0x0E32,
       
   329      0x0E2A,
       
   330      0x0E1C,
       
   331      0x0E1B,
       
   332      0x0E41,
       
   333      0x0E2D,
       
   334      0x0E34,
       
   335      0x0E37,
       
   336      0x0E17,
       
   337      0x0E21,
       
   338      0x0E43,
       
   339      0x0E03,
       
   340      0x0040,
       
   341      0x0E07,
       
   342      0x0E36,
       
   343      0x0E45,
       
   344      0x0E16,
       
   345      0x0E0E,
       
   346      0x0E11,
       
   347      0x0E18,
       
   348      0x0E4D,
       
   349      0x0E4A,
       
   350      0x0E13,
       
   351      0x0E2F,
       
   352      0x0E0D,
       
   353      0x0E24,
       
   354      0x0E06,
       
   355      0x0E0F,
       
   356      0x0E42,
       
   357      0x0E0C,
       
   358      0x0E47,
       
   359      0x0E4B,
       
   360      0x0E29,
       
   361      0x0E28,
       
   362      0x0E27,
       
   363      0x0E0B,
       
   364      0x0E09,
       
   365      0x0E2E,
       
   366      0x0E4C,
       
   367      0x0E15,
       
   368      0x0E12,
       
   369      0x0E2C,
       
   370      0x0E10,
       
   371      0x0E39,
       
   372      0x0E25,
       
   373      0x0E20,
       
   374      0x0E38,
       
   375      0x0031,
       
   376      0x0032,
       
   377      0x0033,
       
   378      0x0E04,
       
   379      0x0E02,
       
   380      0x0E1A,
       
   381      0x0034,
       
   382      0x0035,
       
   383      0x0036,
       
   384      0x0E08,
       
   385      0x0E26,
       
   386      0x0E0A,
       
   387      0x0037,
       
   388      0x0038,
       
   389      0x0039,
       
   390      0x0E1D,
       
   391      0x002A,
       
   392      0x0030,
       
   393      0x0023,
       
   394     };
       
   395 
       
   396 const TInt KMiniQwertyDataSize_Thai = 83;
       
   397 
       
   398 
       
   399 const TPtiKeyBinding MiniQwertyKeyBindings_table_Thai[] =
       
   400     {
       
   401         {EPtiKeyQwerty1, EPtiCaseLower, 0, 1},
       
   402         {EPtiKeyQwerty2, EPtiCaseLower, 1, 1},
       
   403         {EPtiKeyQwerty3, EPtiCaseLower, 2, 1},
       
   404         {EPtiKeyQwerty4, EPtiCaseLower, 3, 1},
       
   405         {EPtiKeyQwerty5, EPtiCaseLower, 4, 1},
       
   406         {EPtiKeyQwerty6, EPtiCaseLower, 5, 1},
       
   407         {EPtiKeyQwerty7, EPtiCaseLower, 6, 1},
       
   408         {EPtiKeyQwerty8, EPtiCaseLower, 7, 1},
       
   409         {EPtiKeyQwerty9, EPtiCaseLower, 8, 1},
       
   410         {EPtiKeyQwerty0, EPtiCaseLower, 9, 1},
       
   411         {EPtiKeyQwertyA, EPtiCaseLower, 10, 1},
       
   412         {EPtiKeyQwertyS, EPtiCaseLower, 11, 1},
       
   413         {EPtiKeyQwertyD, EPtiCaseLower, 12, 1},
       
   414         {EPtiKeyQwertyF, EPtiCaseLower, 13, 1},
       
   415         {EPtiKeyQwertyG, EPtiCaseLower, 14, 1},
       
   416         {EPtiKeyQwertyH, EPtiCaseLower, 15, 1},
       
   417         {EPtiKeyQwertyJ, EPtiCaseLower, 16, 1},
       
   418         {EPtiKeyQwertyK, EPtiCaseLower, 17, 1},
       
   419         {EPtiKeyQwertyL, EPtiCaseLower, 18, 1},
       
   420         {EPtiKeyQwertyZ, EPtiCaseLower, 19, 1},
       
   421         {EPtiKeyQwertyX, EPtiCaseLower, 20, 1},
       
   422         {EPtiKeyQwertyC, EPtiCaseLower, 21, 1},
       
   423         {EPtiKeyQwertyV, EPtiCaseLower, 22, 1},
       
   424         {EPtiKeyQwertyB, EPtiCaseLower, 23, 1},
       
   425         {EPtiKeyQwertyN, EPtiCaseLower, 24, 1},
       
   426         {EPtiKeyQwertyM, EPtiCaseLower, 25, 1},
       
   427         {EPtiKeyQwertyComma, EPtiCaseLower, 26, 1},
       
   428         {EPtiKeyQwertyFullstop, EPtiCaseLower, 27, 1},
       
   429         {EPtiKeyQwerty1, EPtiCaseUpper, 32, 1},
       
   430         {EPtiKeyQwerty2, EPtiCaseUpper, 33, 1},
       
   431         {EPtiKeyQwerty3, EPtiCaseUpper, 34, 1},
       
   432         {EPtiKeyQwerty4, EPtiCaseUpper, 35, 1},
       
   433         {EPtiKeyQwerty5, EPtiCaseUpper, 36, 1},
       
   434         {EPtiKeyQwerty6, EPtiCaseUpper, 37, 1},
       
   435         {EPtiKeyQwerty7, EPtiCaseUpper, 38, 1},
       
   436         {EPtiKeyQwerty8, EPtiCaseUpper, 39, 1},
       
   437         {EPtiKeyQwerty9, EPtiCaseUpper, 40, 1},
       
   438         {EPtiKeyQwerty0, EPtiCaseUpper, 41, 1},
       
   439         {EPtiKeyQwertyA, EPtiCaseUpper, 42, 1},
       
   440         {EPtiKeyQwertyS, EPtiCaseUpper, 43, 1},
       
   441         {EPtiKeyQwertyD, EPtiCaseUpper, 44, 1},
       
   442         {EPtiKeyQwertyF, EPtiCaseUpper, 45, 1},
       
   443         {EPtiKeyQwertyG, EPtiCaseUpper, 46, 1},
       
   444         {EPtiKeyQwertyH, EPtiCaseUpper, 47, 1},
       
   445         {EPtiKeyQwertyJ, EPtiCaseUpper, 48, 1},
       
   446         {EPtiKeyQwertyK, EPtiCaseUpper, 49, 1},
       
   447         {EPtiKeyQwertyL, EPtiCaseUpper, 50, 1},
       
   448         {EPtiKeyQwertyZ, EPtiCaseUpper, 51, 1},
       
   449         {EPtiKeyQwertyX, EPtiCaseUpper, 52, 1},
       
   450         {EPtiKeyQwertyC, EPtiCaseUpper, 53, 1},
       
   451         {EPtiKeyQwertyV, EPtiCaseUpper, 54, 1},
       
   452         {EPtiKeyQwertyB, EPtiCaseUpper, 55, 0},
       
   453         {EPtiKeyQwertyN, EPtiCaseUpper, 55, 1},
       
   454         {EPtiKeyQwertyM, EPtiCaseUpper, 56, 1},
       
   455         {EPtiKeyQwertyComma, EPtiCaseUpper, 57, 1},
       
   456         {EPtiKeyQwertyFullstop, EPtiCaseUpper, 58, 1},
       
   457         {EPtiKeyQwerty1, EPtiCaseFnUpper, 62, 1},
       
   458         {EPtiKeyQwerty2, EPtiCaseFnUpper, 63, 1},
       
   459         {EPtiKeyQwerty3, EPtiCaseFnUpper, 64, 1},
       
   460         {EPtiKeyQwerty5, EPtiCaseFnUpper, 65, 1},
       
   461         {EPtiKeyQwerty7, EPtiCaseFnUpper, 66, 1},
       
   462         {EPtiKeyQwerty9, EPtiCaseFnUpper, 67, 1},
       
   463         {EPtiKeyQwertyA, EPtiCaseFnUpper, 68, 1},
       
   464         {EPtiKeyQwertyS, EPtiCaseFnUpper, 69, 1},
       
   465         {EPtiKeyQwertyD, EPtiCaseFnUpper, 70, 1},
       
   466         {EPtiKeyQwertyG, EPtiCaseFnUpper, 71, 1},
       
   467         {EPtiKeyQwertyJ, EPtiCaseFnUpper, 72, 1},
       
   468         {EPtiKeyQwertyL, EPtiCaseFnUpper, 73, 1},
       
   469         {EPtiKeyQwertyZ, EPtiCaseFnUpper, 74, 1},
       
   470         {EPtiKeyQwertyX, EPtiCaseFnUpper, 75, 1},
       
   471         {EPtiKeyQwertyC, EPtiCaseFnUpper, 76, 1},
       
   472         {EPtiKeyQwertyB, EPtiCaseFnUpper, 77, 1},
       
   473         {EPtiKeyQwertyM, EPtiCaseFnUpper, 78, 1},
       
   474         {EPtiKeyQwertyFullstop, EPtiCaseFnUpper, 79, 1},
       
   475     };
       
   476 
       
   477 const TInt KMaxMiniQwertyIndex_Thai = 74;
       
   478 
       
   479 //
       
   480 // Class implementation.
       
   481 //
       
   482 
       
   483 CPtiLangDataImplThai* CPtiLangDataImplThai::NewL()
       
   484     {
       
   485     return new (ELeave) CPtiLangDataImplThai();
       
   486     }
       
   487 
       
   488 
       
   489 TInt CPtiLangDataImplThai::LanguageCode() const
       
   490     {
       
   491     return ELangThai;
       
   492     }
       
   493 
       
   494 
       
   495 const TUint16* CPtiLangDataImplThai::KeyData(TPtiKeyboardType aKeyboardType, TInt& aDataSize) const
       
   496     {
       
   497     if (aKeyboardType == EPtiKeyboard12Key)
       
   498         {
       
   499         aDataSize = KMultitapDataSize_Thai;
       
   500         return MultitapData_table_Thai;
       
   501         }
       
   502     if (aKeyboardType == EPtiKeyboardQwerty4x12)
       
   503         {
       
   504         aDataSize = KStandardQwertyDataSize_Thai;
       
   505         return StandardQwertyData_table_Thai;
       
   506         }
       
   507 
       
   508     if (aKeyboardType == EPtiKeyboardQwerty4x10)
       
   509         {
       
   510         aDataSize = KMiniQwertyDataSize_Thai;
       
   511         return MiniQwertyData_table_Thai;
       
   512         }
       
   513 
       
   514     aDataSize = 0;
       
   515     return NULL;
       
   516     }
       
   517 
       
   518 
       
   519 const TPtiKeyBinding* CPtiLangDataImplThai::KeyBindingTable(TPtiKeyboardType aKeyboardType, TInt& aNumItems) const
       
   520     {
       
   521     if (aKeyboardType == EPtiKeyboard12Key)
       
   522         {
       
   523         aNumItems = KMaxMultitapIndex_Thai;
       
   524         return MultitapKeyBindings_table_Thai;
       
   525         }
       
   526     if (aKeyboardType == EPtiKeyboardQwerty4x12)
       
   527         {
       
   528         aNumItems = KMaxStandardQwertyIndex_Thai;
       
   529         return StandardQwertyKeyBindings_table_Thai;
       
   530         }
       
   531     if (aKeyboardType == EPtiKeyboardQwerty4x10)
       
   532         {
       
   533         aNumItems = KMaxMiniQwertyIndex_Thai;
       
   534         return MiniQwertyKeyBindings_table_Thai;
       
   535         }
       
   536 
       
   537     aNumItems = 0;
       
   538     return NULL;
       
   539     }
       
   540 
       
   541 
       
   542 const TPtiNumericKeyBinding* CPtiLangDataImplThai::NumericModeKeysTable(TPtiKeyboardType aKeyboardType, TInt& aNumEntries) const
       
   543     {
       
   544     if (aKeyboardType == EPtiKeyboardQwerty4x12)
       
   545         {
       
   546         aNumEntries = KNumStandardQwertyNumericKeysEntries_Thai;
       
   547         return StandardQwertyNumericKeysData_table_Thai;
       
   548         }
       
   549 
       
   550     aNumEntries = 0;
       
   551     return NULL;
       
   552     }
       
   553 
       
   554 
       
   555 
       
   556 TBool CPtiLangDataImplThai::SuitableForLatinOnlyMode() const
       
   557     {
       
   558     return EFalse;
       
   559     }
       
   560 
       
   561