textinput/ptienginev2/languages/PtiKeymappings_ITUT_93.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_93.h"
       
    34 
       
    35 //
       
    36 // Multitap keymap data table
       
    37 //
       
    38 const TUint16 MultitapData_table_Ukrainian[] =
       
    39     {
       
    40      0x2e,0x2c,0x3f,0x21,0x31,0x40,0x27,0x2d,0x5f,0x28,0x29,0x3a,0x3b,0x26,0x2f,0x25,0x2a,0x23,0x2b,0x3c,0x3d,0x3e,0x22,0x24,0xa3,0xa7,0xa5,0xa4,0xa1,0xbf,
       
    41      0x430,0x431,0x432,0x433,0x491,0x32,0x61,0x62,0x63,
       
    42      0x434,0x435,0x454,0x436,0x437,0x33,0x64,0x65,0x66,
       
    43      0x456,0x457,0x438,0x439,0x43a,0x43b,0x34,0x67,0x68,0x69,
       
    44      0x43c,0x43d,0x43e,0x43f,0x35,0x6a,0x6b,0x6c,
       
    45      0x440,0x441,0x442,0x443,0x36,0x6d,0x6e,0x6f,
       
    46      0x444,0x445,0x446,0x447,0x37,0x70,0x71,0x72,0x73,
       
    47      0x448,0x449,0x38,0x74,0x75,0x76,
       
    48      0x44c,0x44e,0x44f,0x39,0x77,0x78,0x79,0x7a,
       
    49      0x20,0x30,0x21b2,
       
    50      0x2e,0x2c,0x3f,0x21,0x31,0x40,0x27,0x2d,0x5f,0x28,0x29,0x3a,0x3b,0x26,0x2f,0x25,0x2a,0x23,0x2b,0x3c,0x3d,0x3e,0x22,0x24,0xa3,0xa7,0xa5,0xa4,0xa1,0xbf,
       
    51      0x410,0x411,0x412,0x413,0x490,0x32,0x41,0x42,0x43,
       
    52      0x414,0x415,0x404,0x416,0x417,0x33,0x44,0x45,0x46,
       
    53      0x406,0x407,0x418,0x419,0x41a,0x41b,0x34,0x47,0x48,0x49,
       
    54      0x41c,0x41d,0x41e,0x41f,0x35,0x4a,0x4b,0x4c,
       
    55      0x420,0x421,0x422,0x423,0x36,0x4d,0x4e,0x4f,
       
    56      0x424,0x425,0x426,0x427,0x37,0x50,0x51,0x52,0x53,
       
    57      0x428,0x429,0x38,0x54,0x55,0x56,
       
    58      0x42c,0x42e,0x42f,0x39,0x57,0x58,0x59,0x5a,
       
    59      0x20,0x30,0x21b2,
       
    60     };
       
    61 
       
    62 const TInt KMultitapDataSize_Ukrainian = 200;
       
    63 
       
    64 
       
    65 const TPtiKeyBinding MultitapKeyBindings_table_Ukrainian[] =
       
    66     {
       
    67         {EPtiKey1, EPtiCaseLower, 0, 30},
       
    68         {EPtiKey2, EPtiCaseLower, 30, 9},
       
    69         {EPtiKey3, EPtiCaseLower, 39, 9},
       
    70         {EPtiKey4, EPtiCaseLower, 48, 10},
       
    71         {EPtiKey5, EPtiCaseLower, 58, 8},
       
    72         {EPtiKey6, EPtiCaseLower, 66, 8},
       
    73         {EPtiKey7, EPtiCaseLower, 74, 9},
       
    74         {EPtiKey8, EPtiCaseLower, 83, 6},
       
    75         {EPtiKey9, EPtiCaseLower, 89, 8},
       
    76         {EPtiKeyStar, EPtiCaseLower, 97, 0},
       
    77         {EPtiKey0, EPtiCaseLower, 97, 3},
       
    78         {EPtiKeyHash, EPtiCaseLower, 100, 0},
       
    79         {EPtiKey1, EPtiCaseUpper, 100, 30},
       
    80         {EPtiKey2, EPtiCaseUpper, 130, 9},
       
    81         {EPtiKey3, EPtiCaseUpper, 139, 9},
       
    82         {EPtiKey4, EPtiCaseUpper, 148, 10},
       
    83         {EPtiKey5, EPtiCaseUpper, 158, 8},
       
    84         {EPtiKey6, EPtiCaseUpper, 166, 8},
       
    85         {EPtiKey7, EPtiCaseUpper, 174, 9},
       
    86         {EPtiKey8, EPtiCaseUpper, 183, 6},
       
    87         {EPtiKey9, EPtiCaseUpper, 189, 8},
       
    88         {EPtiKeyStar, EPtiCaseUpper, 197, 0},
       
    89         {EPtiKey0, EPtiCaseUpper, 197, 3},
       
    90         {EPtiKeyHash, EPtiCaseUpper, 200, 0},
       
    91     };
       
    92 
       
    93 const TInt KMaxMultitapIndex_Ukrainian = 24;
       
    94 
       
    95 //
       
    96 // StandardQwerty keymap data table
       
    97 //
       
    98 const TUint16 StandardQwertyData_table_Ukrainian[] =
       
    99     {
       
   100      0x31,
       
   101      0x32,
       
   102      0x33,
       
   103      0x34,
       
   104      0x35,
       
   105      0x36,
       
   106      0x37,
       
   107      0x38,
       
   108      0x39,
       
   109      0x30,
       
   110      0x2d,
       
   111      0x439,
       
   112      0x446,
       
   113      0x443,
       
   114      0x43a,
       
   115      0x435,
       
   116      0x43d,
       
   117      0x433,
       
   118      0x448,
       
   119      0x449,
       
   120      0x437,
       
   121      0x445,
       
   122      0x2b,
       
   123      0x444,
       
   124      0x44b,
       
   125      0x432,
       
   126      0x430,
       
   127      0x43f,
       
   128      0x440,
       
   129      0x43e,
       
   130      0x43b,
       
   131      0x434,
       
   132      0x436,
       
   133      0x44d,
       
   134      0x44f,
       
   135      0x447,
       
   136      0x441,
       
   137      0x43c,
       
   138      0x438,
       
   139      0x442,
       
   140      0x44c,
       
   141      0x431,
       
   142      0x44e,
       
   143      0x2e,
       
   144      0x21,
       
   145      0x22,
       
   146      0x40,
       
   147      0x3b,
       
   148      0x3d,
       
   149      0x3a,
       
   150      0x3f,
       
   151      0x2a,
       
   152      0x28,
       
   153      0x29,
       
   154      0x2f,
       
   155      0x419,
       
   156      0x426,
       
   157      0x423,
       
   158      0x41a,
       
   159      0x415,
       
   160      0x41d,
       
   161      0x413,
       
   162      0x428,
       
   163      0x429,
       
   164      0x417,
       
   165      0x425,
       
   166      0x23,
       
   167      0x424,
       
   168      0x42b,
       
   169      0x412,
       
   170      0x410,
       
   171      0x41f,
       
   172      0x420,
       
   173      0x41e,
       
   174      0x41b,
       
   175      0x414,
       
   176      0x416,
       
   177      0x42d,
       
   178      0x42f,
       
   179      0x427,
       
   180      0x421,
       
   181      0x41c,
       
   182      0x418,
       
   183      0x422,
       
   184      0x42c,
       
   185      0x411,
       
   186      0x42e,
       
   187      0x2c,
       
   188     };
       
   189 
       
   190 const TInt KStandardQwertyDataSize_Ukrainian = 88;
       
   191 
       
   192 
       
   193 const TPtiKeyBinding StandardQwertyKeyBindings_table_Ukrainian[] =
       
   194     {
       
   195         {EPtiKeyQwerty1, EPtiCaseLower, 0, 1},
       
   196         {EPtiKeyQwerty2, EPtiCaseLower, 1, 1},
       
   197         {EPtiKeyQwerty3, EPtiCaseLower, 2, 1},
       
   198         {EPtiKeyQwerty4, EPtiCaseLower, 3, 1},
       
   199         {EPtiKeyQwerty5, EPtiCaseLower, 4, 1},
       
   200         {EPtiKeyQwerty6, EPtiCaseLower, 5, 1},
       
   201         {EPtiKeyQwerty7, EPtiCaseLower, 6, 1},
       
   202         {EPtiKeyQwerty8, EPtiCaseLower, 7, 1},
       
   203         {EPtiKeyQwerty9, EPtiCaseLower, 8, 1},
       
   204         {EPtiKeyQwerty0, EPtiCaseLower, 9, 1},
       
   205         {EPtiKeyQwertyPlus, EPtiCaseLower, 10, 1},
       
   206         {EPtiKeyQwertyQ, EPtiCaseLower, 11, 1},
       
   207         {EPtiKeyQwertyW, EPtiCaseLower, 12, 1},
       
   208         {EPtiKeyQwertyE, EPtiCaseLower, 13, 1},
       
   209         {EPtiKeyQwertyR, EPtiCaseLower, 14, 1},
       
   210         {EPtiKeyQwertyT, EPtiCaseLower, 15, 1},
       
   211         {EPtiKeyQwertyY, EPtiCaseLower, 16, 1},
       
   212         {EPtiKeyQwertyU, EPtiCaseLower, 17, 1},
       
   213         {EPtiKeyQwertyI, EPtiCaseLower, 18, 1},
       
   214         {EPtiKeyQwertyO, EPtiCaseLower, 19, 1},
       
   215         {EPtiKeyQwertyP, EPtiCaseLower, 20, 1},
       
   216         {EPtiKeyQwertyMinus, EPtiCaseLower, 21, 1},
       
   217         {EPtiKeyQwertyHash, EPtiCaseLower, 22, 1},
       
   218         {EPtiKeyQwertyA, EPtiCaseLower, 23, 1},
       
   219         {EPtiKeyQwertyS, EPtiCaseLower, 24, 1},
       
   220         {EPtiKeyQwertyD, EPtiCaseLower, 25, 1},
       
   221         {EPtiKeyQwertyF, EPtiCaseLower, 26, 1},
       
   222         {EPtiKeyQwertyG, EPtiCaseLower, 27, 1},
       
   223         {EPtiKeyQwertyH, EPtiCaseLower, 28, 1},
       
   224         {EPtiKeyQwertyJ, EPtiCaseLower, 29, 1},
       
   225         {EPtiKeyQwertyK, EPtiCaseLower, 30, 1},
       
   226         {EPtiKeyQwertyL, EPtiCaseLower, 31, 1},
       
   227         {EPtiKeyQwertySemicolon, EPtiCaseLower, 32, 1},
       
   228         {EPtiKeyQwertyApostrophe, EPtiCaseLower, 33, 1},
       
   229         {EPtiKeyQwertyZ, EPtiCaseLower, 34, 1},
       
   230         {EPtiKeyQwertyX, EPtiCaseLower, 35, 1},
       
   231         {EPtiKeyQwertyC, EPtiCaseLower, 36, 1},
       
   232         {EPtiKeyQwertyV, EPtiCaseLower, 37, 1},
       
   233         {EPtiKeyQwertyB, EPtiCaseLower, 38, 1},
       
   234         {EPtiKeyQwertyN, EPtiCaseLower, 39, 1},
       
   235         {EPtiKeyQwertyM, EPtiCaseLower, 40, 1},
       
   236         {EPtiKeyQwertyComma, EPtiCaseLower, 41, 1},
       
   237         {EPtiKeyQwertyFullstop, EPtiCaseLower, 42, 1},
       
   238         {EPtiKeyQwertySlash, EPtiCaseLower, 43, 1},
       
   239         {EPtiKeyQwerty1, EPtiCaseUpper, 44, 1},
       
   240         {EPtiKeyQwerty2, EPtiCaseUpper, 45, 1},
       
   241         {EPtiKeyQwerty3, EPtiCaseUpper, 46, 1},
       
   242         {EPtiKeyQwerty4, EPtiCaseUpper, 47, 1},
       
   243         {EPtiKeyQwerty5, EPtiCaseUpper, 48, 1},
       
   244         {EPtiKeyQwerty6, EPtiCaseUpper, 49, 1},
       
   245         {EPtiKeyQwerty7, EPtiCaseUpper, 50, 1},
       
   246         {EPtiKeyQwerty8, EPtiCaseUpper, 51, 1},
       
   247         {EPtiKeyQwerty9, EPtiCaseUpper, 52, 1},
       
   248         {EPtiKeyQwerty0, EPtiCaseUpper, 53, 1},
       
   249         {EPtiKeyQwertyPlus, EPtiCaseUpper, 54, 1},
       
   250         {EPtiKeyQwertyQ, EPtiCaseUpper, 55, 1},
       
   251         {EPtiKeyQwertyW, EPtiCaseUpper, 56, 1},
       
   252         {EPtiKeyQwertyE, EPtiCaseUpper, 57, 1},
       
   253         {EPtiKeyQwertyR, EPtiCaseUpper, 58, 1},
       
   254         {EPtiKeyQwertyT, EPtiCaseUpper, 59, 1},
       
   255         {EPtiKeyQwertyY, EPtiCaseUpper, 60, 1},
       
   256         {EPtiKeyQwertyU, EPtiCaseUpper, 61, 1},
       
   257         {EPtiKeyQwertyI, EPtiCaseUpper, 62, 1},
       
   258         {EPtiKeyQwertyO, EPtiCaseUpper, 63, 1},
       
   259         {EPtiKeyQwertyP, EPtiCaseUpper, 64, 1},
       
   260         {EPtiKeyQwertyMinus, EPtiCaseUpper, 65, 1},
       
   261         {EPtiKeyQwertyHash, EPtiCaseUpper, 66, 1},
       
   262         {EPtiKeyQwertyA, EPtiCaseUpper, 67, 1},
       
   263         {EPtiKeyQwertyS, EPtiCaseUpper, 68, 1},
       
   264         {EPtiKeyQwertyD, EPtiCaseUpper, 69, 1},
       
   265         {EPtiKeyQwertyF, EPtiCaseUpper, 70, 1},
       
   266         {EPtiKeyQwertyG, EPtiCaseUpper, 71, 1},
       
   267         {EPtiKeyQwertyH, EPtiCaseUpper, 72, 1},
       
   268         {EPtiKeyQwertyJ, EPtiCaseUpper, 73, 1},
       
   269         {EPtiKeyQwertyK, EPtiCaseUpper, 74, 1},
       
   270         {EPtiKeyQwertyL, EPtiCaseUpper, 75, 1},
       
   271         {EPtiKeyQwertySemicolon, EPtiCaseUpper, 76, 1},
       
   272         {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 77, 1},
       
   273         {EPtiKeyQwertyZ, EPtiCaseUpper, 78, 1},
       
   274         {EPtiKeyQwertyX, EPtiCaseUpper, 79, 1},
       
   275         {EPtiKeyQwertyC, EPtiCaseUpper, 80, 1},
       
   276         {EPtiKeyQwertyV, EPtiCaseUpper, 81, 1},
       
   277         {EPtiKeyQwertyB, EPtiCaseUpper, 82, 1},
       
   278         {EPtiKeyQwertyN, EPtiCaseUpper, 83, 1},
       
   279         {EPtiKeyQwertyM, EPtiCaseUpper, 84, 1},
       
   280         {EPtiKeyQwertyComma, EPtiCaseUpper, 85, 1},
       
   281         {EPtiKeyQwertyFullstop, EPtiCaseUpper, 86, 1},
       
   282         {EPtiKeyQwertySlash, EPtiCaseUpper, 87, 1},
       
   283     };
       
   284 
       
   285 const TInt KMaxStandardQwertyIndex_Ukrainian = 88;
       
   286 
       
   287 
       
   288 //
       
   289 // Numeric key data table for StandardQwerty
       
   290 //
       
   291 const TPtiNumericKeyBinding StandardQwertyNumericKeysData_table_Ukrainian[] =
       
   292 	{
       
   293 	{'p',EPtiKeyQwertyP,EPtiCaseLower},
       
   294 	{'w',EPtiKeyQwertyW,EPtiCaseLower},
       
   295 	{'E',EPtiKeyQwertyE,EPtiCaseUpper},
       
   296 	};
       
   297 
       
   298 const TInt KNumStandardQwertyNumericKeysEntries_Ukrainian = 3;
       
   299 //
       
   300 // MiniQwerty keymap data table
       
   301 //
       
   302 const TUint16 MiniQwertyData_table_Ukrainian[] =
       
   303     {
       
   304      0x0439,
       
   305      0x0446,
       
   306      0x0443,
       
   307      0x043A,
       
   308      0x0435,
       
   309      0x043D,
       
   310      0x0433,0x0491,
       
   311      0x0448,
       
   312      0x0449,
       
   313      0x0437,
       
   314      0x0444,
       
   315      0x044B,
       
   316      0x0432,
       
   317      0x0430,
       
   318      0x043F,
       
   319      0x0440,
       
   320      0x043E,
       
   321      0x043B,
       
   322      0x0434,
       
   323      0x044F,
       
   324      0x0447,
       
   325      0x0441,
       
   326      0x043C,
       
   327      0x0438,0x0456,
       
   328      0x0442,
       
   329      0x044C,
       
   330      0x0431,
       
   331      0x044E,
       
   332      0x0040,
       
   333      0x003F,
       
   334      0x002C,
       
   335      0x002E,
       
   336      0x0419,
       
   337      0x0426,
       
   338      0x0423,
       
   339      0x041A,
       
   340      0x0415,
       
   341      0x041D,
       
   342      0x0413,0x0490,
       
   343      0x0428,
       
   344      0x0429,
       
   345      0x0417,
       
   346      0x0424,
       
   347      0x042B,
       
   348      0x0412,
       
   349      0x0410,
       
   350      0x041F,
       
   351      0x0420,
       
   352      0x041E,
       
   353      0x041B,
       
   354      0x0414,
       
   355      0x042F,
       
   356      0x0427,
       
   357      0x0421,
       
   358      0x041C,
       
   359      0x0418,0x0406,
       
   360      0x0422,
       
   361      0x042C,
       
   362      0x0411,
       
   363      0x042E,
       
   364      0x003B,
       
   365      0x003A,
       
   366      0x0021,
       
   367      0x0022,
       
   368      0x0031,
       
   369      0x0031,
       
   370      0x0032,
       
   371      0x0032,
       
   372      0x0033,
       
   373      0x0033,
       
   374      0x0445,
       
   375      0x002F,
       
   376      0x0027,
       
   377      0x0034,
       
   378      0x0034,
       
   379      0x0035,
       
   380      0x0035,
       
   381      0x0036,
       
   382      0x0036,
       
   383      0x0436,
       
   384      0x002B,
       
   385      0x002D,
       
   386      0x0037,
       
   387      0x0037,
       
   388      0x0038,
       
   389      0x0038,
       
   390      0x0039,
       
   391      0x0039,
       
   392      0x044D,
       
   393      0x002A,
       
   394      0x002A,
       
   395      0x0030,
       
   396      0x0030,
       
   397      0x0023,
       
   398      0x0023,
       
   399      0x0425,
       
   400      0x0416,
       
   401      0x042D,
       
   402     };
       
   403 
       
   404 const TInt KMiniQwertyDataSize_Ukrainian = 102;
       
   405 
       
   406 
       
   407 const TPtiKeyBinding MiniQwertyKeyBindings_table_Ukrainian[] =
       
   408     {
       
   409         {EPtiKeyQwerty1, EPtiCaseLower, 0, 1},
       
   410         {EPtiKeyQwerty2, EPtiCaseLower, 1, 1},
       
   411         {EPtiKeyQwerty3, EPtiCaseLower, 2, 1},
       
   412         {EPtiKeyQwerty4, EPtiCaseLower, 3, 1},
       
   413         {EPtiKeyQwerty5, EPtiCaseLower, 4, 1},
       
   414         {EPtiKeyQwerty6, EPtiCaseLower, 5, 1},
       
   415         {EPtiKeyQwerty7, EPtiCaseLower, 6, 2},
       
   416         {EPtiKeyQwerty8, EPtiCaseLower, 8, 1},
       
   417         {EPtiKeyQwerty9, EPtiCaseLower, 9, 1},
       
   418         {EPtiKeyQwerty0, EPtiCaseLower, 10, 1},
       
   419         {EPtiKeyQwertyA, EPtiCaseLower, 11, 1},
       
   420         {EPtiKeyQwertyS, EPtiCaseLower, 12, 1},
       
   421         {EPtiKeyQwertyD, EPtiCaseLower, 13, 1},
       
   422         {EPtiKeyQwertyF, EPtiCaseLower, 14, 1},
       
   423         {EPtiKeyQwertyG, EPtiCaseLower, 15, 1},
       
   424         {EPtiKeyQwertyH, EPtiCaseLower, 16, 1},
       
   425         {EPtiKeyQwertyJ, EPtiCaseLower, 17, 1},
       
   426         {EPtiKeyQwertyK, EPtiCaseLower, 18, 1},
       
   427         {EPtiKeyQwertyL, EPtiCaseLower, 19, 1},
       
   428         {EPtiKeyQwertyZ, EPtiCaseLower, 20, 1},
       
   429         {EPtiKeyQwertyX, EPtiCaseLower, 21, 1},
       
   430         {EPtiKeyQwertyC, EPtiCaseLower, 22, 1},
       
   431         {EPtiKeyQwertyV, EPtiCaseLower, 23, 1},
       
   432         {EPtiKeyQwertyB, EPtiCaseLower, 24, 2},
       
   433         {EPtiKeyQwertyN, EPtiCaseLower, 26, 1},
       
   434         {EPtiKeyQwertyM, EPtiCaseLower, 27, 1},
       
   435         {EPtiKeyQwertyComma, EPtiCaseLower, 28, 1},
       
   436         {EPtiKeyQwertyFullstop, EPtiCaseLower, 29, 1},
       
   437         {EPtiKeyQwerty1, EPtiCaseUpper, 34, 1},
       
   438         {EPtiKeyQwerty2, EPtiCaseUpper, 35, 1},
       
   439         {EPtiKeyQwerty3, EPtiCaseUpper, 36, 1},
       
   440         {EPtiKeyQwerty4, EPtiCaseUpper, 37, 1},
       
   441         {EPtiKeyQwerty5, EPtiCaseUpper, 38, 1},
       
   442         {EPtiKeyQwerty6, EPtiCaseUpper, 39, 1},
       
   443         {EPtiKeyQwerty7, EPtiCaseUpper, 40, 2},
       
   444         {EPtiKeyQwerty8, EPtiCaseUpper, 42, 1},
       
   445         {EPtiKeyQwerty9, EPtiCaseUpper, 43, 1},
       
   446         {EPtiKeyQwerty0, EPtiCaseUpper, 44, 1},
       
   447         {EPtiKeyQwertyA, EPtiCaseUpper, 45, 1},
       
   448         {EPtiKeyQwertyS, EPtiCaseUpper, 46, 1},
       
   449         {EPtiKeyQwertyD, EPtiCaseUpper, 47, 1},
       
   450         {EPtiKeyQwertyF, EPtiCaseUpper, 48, 1},
       
   451         {EPtiKeyQwertyG, EPtiCaseUpper, 49, 1},
       
   452         {EPtiKeyQwertyH, EPtiCaseUpper, 50, 1},
       
   453         {EPtiKeyQwertyJ, EPtiCaseUpper, 51, 1},
       
   454         {EPtiKeyQwertyK, EPtiCaseUpper, 52, 1},
       
   455         {EPtiKeyQwertyL, EPtiCaseUpper, 53, 1},
       
   456         {EPtiKeyQwertyZ, EPtiCaseUpper, 54, 1},
       
   457         {EPtiKeyQwertyX, EPtiCaseUpper, 55, 1},
       
   458         {EPtiKeyQwertyC, EPtiCaseUpper, 56, 1},
       
   459         {EPtiKeyQwertyV, EPtiCaseUpper, 57, 1},
       
   460         {EPtiKeyQwertyB, EPtiCaseUpper, 58, 2},
       
   461         {EPtiKeyQwertyN, EPtiCaseUpper, 60, 1},
       
   462         {EPtiKeyQwertyM, EPtiCaseUpper, 61, 1},
       
   463         {EPtiKeyQwertyComma, EPtiCaseUpper, 62, 1},
       
   464         {EPtiKeyQwertyFullstop, EPtiCaseUpper, 63, 1},
       
   465         {EPtiKeyQwerty1, EPtiCaseFnLower, 66, 1},
       
   466         {EPtiKeyQwerty2, EPtiCaseFnLower, 67, 1},
       
   467         {EPtiKeyQwerty3, EPtiCaseFnLower, 68, 1},
       
   468         {EPtiKeyQwerty4, EPtiCaseFnLower, 69, 1},
       
   469         {EPtiKeyQwerty5, EPtiCaseFnLower, 70, 1},
       
   470         {EPtiKeyQwerty6, EPtiCaseFnLower, 71, 1},
       
   471         {EPtiKeyQwerty7, EPtiCaseFnLower, 72, 1},
       
   472         {EPtiKeyQwerty8, EPtiCaseFnLower, 73, 1},
       
   473         {EPtiKeyQwerty9, EPtiCaseFnLower, 74, 1},
       
   474         {EPtiKeyQwertyA, EPtiCaseFnLower, 75, 1},
       
   475         {EPtiKeyQwertyS, EPtiCaseFnLower, 76, 1},
       
   476         {EPtiKeyQwertyD, EPtiCaseFnLower, 77, 1},
       
   477         {EPtiKeyQwertyF, EPtiCaseFnLower, 78, 1},
       
   478         {EPtiKeyQwertyG, EPtiCaseFnLower, 79, 1},
       
   479         {EPtiKeyQwertyH, EPtiCaseFnLower, 80, 1},
       
   480         {EPtiKeyQwertyJ, EPtiCaseFnLower, 81, 1},
       
   481         {EPtiKeyQwertyK, EPtiCaseFnLower, 82, 1},
       
   482         {EPtiKeyQwertyL, EPtiCaseFnLower, 83, 1},
       
   483         {EPtiKeyQwertyZ, EPtiCaseFnLower, 84, 1},
       
   484         {EPtiKeyQwertyX, EPtiCaseFnLower, 85, 1},
       
   485         {EPtiKeyQwertyC, EPtiCaseFnLower, 86, 1},
       
   486         {EPtiKeyQwertyV, EPtiCaseFnLower, 87, 1},
       
   487         {EPtiKeyQwertyB, EPtiCaseFnLower, 88, 1},
       
   488         {EPtiKeyQwertyN, EPtiCaseFnLower, 89, 1},
       
   489         {EPtiKeyQwertyM, EPtiCaseFnLower, 90, 1},
       
   490         {EPtiKeyQwertyComma, EPtiCaseFnLower, 91, 1},
       
   491         {EPtiKeyQwertyFullstop, EPtiCaseFnLower, 92, 1},
       
   492         {EPtiKeyQwerty9, EPtiCaseFnUpper, 99, 1},
       
   493         {EPtiKeyQwertyL, EPtiCaseFnUpper, 100, 1},
       
   494         {EPtiKeyQwertyFullstop, EPtiCaseFnUpper, 101, 1},
       
   495     };
       
   496 
       
   497 const TInt KMaxMiniQwertyIndex_Ukrainian = 86;
       
   498 
       
   499 
       
   500 //
       
   501 // Numeric key data table for MiniQwerty
       
   502 //
       
   503 const TPtiNumericKeyBinding MiniQwertyNumericKeysData_table_Ukrainian[] =
       
   504 	{
       
   505 	{'p',EPtiKeyQwerty0,EPtiCaseLower},
       
   506 	{'w',EPtiKeyQwerty2,EPtiCaseLower},
       
   507 	{'E',EPtiKeyQwerty3,EPtiCaseUpper},
       
   508 	};
       
   509 
       
   510 const TInt KNumMiniQwertyNumericKeysEntries_Ukrainian = 3;
       
   511 //
       
   512 // Class implementation.
       
   513 //
       
   514 
       
   515 CPtiLangDataImplUkrainian* CPtiLangDataImplUkrainian::NewL()
       
   516     {
       
   517     return new (ELeave) CPtiLangDataImplUkrainian();
       
   518     }
       
   519 
       
   520 
       
   521 TInt CPtiLangDataImplUkrainian::LanguageCode() const
       
   522     {
       
   523     return ELangUkrainian;
       
   524     }
       
   525 
       
   526 
       
   527 const TUint16* CPtiLangDataImplUkrainian::KeyData(TPtiKeyboardType aKeyboardType, TInt& aDataSize) const
       
   528     {
       
   529     if (aKeyboardType == EPtiKeyboard12Key)
       
   530         {
       
   531         aDataSize = KMultitapDataSize_Ukrainian;
       
   532         return MultitapData_table_Ukrainian;
       
   533         }
       
   534     if (aKeyboardType == EPtiKeyboardQwerty4x12)
       
   535         {
       
   536         aDataSize = KStandardQwertyDataSize_Ukrainian;
       
   537         return StandardQwertyData_table_Ukrainian;
       
   538         }
       
   539 
       
   540     if (aKeyboardType == EPtiKeyboardQwerty4x10)
       
   541         {
       
   542         aDataSize = KMiniQwertyDataSize_Ukrainian;
       
   543         return MiniQwertyData_table_Ukrainian;
       
   544         }
       
   545 
       
   546     aDataSize = 0;
       
   547     return NULL;
       
   548     }
       
   549 
       
   550 
       
   551 const TPtiKeyBinding* CPtiLangDataImplUkrainian::KeyBindingTable(TPtiKeyboardType aKeyboardType, TInt& aNumItems) const
       
   552     {
       
   553     if (aKeyboardType == EPtiKeyboard12Key)
       
   554         {
       
   555         aNumItems = KMaxMultitapIndex_Ukrainian;
       
   556         return MultitapKeyBindings_table_Ukrainian;
       
   557         }
       
   558     if (aKeyboardType == EPtiKeyboardQwerty4x12)
       
   559         {
       
   560         aNumItems = KMaxStandardQwertyIndex_Ukrainian;
       
   561         return StandardQwertyKeyBindings_table_Ukrainian;
       
   562         }
       
   563     if (aKeyboardType == EPtiKeyboardQwerty4x10)
       
   564         {
       
   565         aNumItems = KMaxMiniQwertyIndex_Ukrainian;
       
   566         return MiniQwertyKeyBindings_table_Ukrainian;
       
   567         }
       
   568 
       
   569     aNumItems = 0;
       
   570     return NULL;
       
   571     }
       
   572 
       
   573 
       
   574 const TPtiNumericKeyBinding* CPtiLangDataImplUkrainian::NumericModeKeysTable(TPtiKeyboardType aKeyboardType, TInt& aNumEntries) const
       
   575     {
       
   576     if (aKeyboardType == EPtiKeyboardQwerty4x12)
       
   577         {
       
   578         aNumEntries = KNumStandardQwertyNumericKeysEntries_Ukrainian;
       
   579         return StandardQwertyNumericKeysData_table_Ukrainian;
       
   580         }
       
   581 
       
   582     if (aKeyboardType == EPtiKeyboardQwerty4x10)
       
   583         {
       
   584         aNumEntries = KNumMiniQwertyNumericKeysEntries_Ukrainian;
       
   585         return MiniQwertyNumericKeysData_table_Ukrainian;
       
   586         }
       
   587 
       
   588     aNumEntries = 0;
       
   589     return NULL;
       
   590     }
       
   591 
       
   592 
       
   593 
       
   594 TBool CPtiLangDataImplUkrainian::SuitableForLatinOnlyMode() const
       
   595     {
       
   596     return EFalse;
       
   597     }
       
   598 
       
   599