textinput/ptienginev2/languages/PtiKeymappings_ITUT_72.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_72.h"
       
    34 
       
    35 //
       
    36 // Multitap keymap data table
       
    37 //
       
    38 const TUint16 MultitapData_table_Marathi[] =
       
    39     {
       
    40      0x0901,0x0902,0x0903,0x093C,0x094D,0x0977,0x0972,0x0971,0x0031,0x002E,0x002C,0x003f,0x0021,0x0964,
       
    41      0x093E,0x093F,0x0940,0x0941,0x0942,0x0943,0x0032,
       
    42      0x0947,0x0948,0x0945,0x094B,0x094C,0x0949,0x0033,
       
    43      0x0915,0x0916,0x0917,0x0918,0x0919,0x0034,
       
    44      0x091A,0x091B,0x091C,0x091D,0x091E,0x0035,
       
    45      0x091F,0x0920,0x0921,0x0922,0x0923,0x0036,
       
    46      0x0924,0x0925,0x0926,0x0927,0x0928,0x0037,
       
    47      0x092A,0x092B,0x092C,0x092D,0x092E,0x0038,
       
    48      0x092F,0x0930,0x0932,0x0935,0x0936,0x0937,0x0938,0x0939,0x0933,0x0039,
       
    49      0x0020,0x0030,0x21B2,0x0973,0x0974,0x0975,0x0976,
       
    50      0x0901,0x0902,0x0903,0x093C,0x094D,0x0977,0x0972,0x0971,0x0031,0x002E,0x002C,0x003f,0x0021,0x0964,
       
    51      0x0905,0x0906,0x0907,0x0908,0x0909,0x090A,0x090B,0x0032,0x0978,
       
    52      0x090F,0x0910,0x090D,0x0913,0x0914,0x0911,0x0033,
       
    53      0x0915,0x0916,0x0917,0x0918,0x0919,0x0034,
       
    54      0x091A,0x091B,0x091C,0x091D,0x091E,0x0035,
       
    55      0x091F,0x0920,0x0921,0x0922,0x0923,0x0036,
       
    56      0x0924,0x0925,0x0926,0x0927,0x0928,0x0037,
       
    57      0x092A,0x092B,0x092C,0x092D,0x092E,0x0038,
       
    58      0x092F,0x0930,0x0932,0x0935,0x0936,0x0937,0x0938,0x0939,0x0933,0x0039,
       
    59      0x0020,0x0030,0x21B2,
       
    60     };
       
    61 
       
    62 const TInt KMultitapDataSize_Marathi = 148;
       
    63 
       
    64 
       
    65 const TPtiKeyBinding MultitapKeyBindings_table_Marathi[] =
       
    66     {
       
    67         {EPtiKey1, EPtiCaseLower, 0, 14},
       
    68         {EPtiKey2, EPtiCaseLower, 14, 7},
       
    69         {EPtiKey3, EPtiCaseLower, 21, 7},
       
    70         {EPtiKey4, EPtiCaseLower, 28, 6},
       
    71         {EPtiKey5, EPtiCaseLower, 34, 6},
       
    72         {EPtiKey6, EPtiCaseLower, 40, 6},
       
    73         {EPtiKey7, EPtiCaseLower, 46, 6},
       
    74         {EPtiKey8, EPtiCaseLower, 52, 6},
       
    75         {EPtiKey9, EPtiCaseLower, 58, 10},
       
    76         {EPtiKeyStar, EPtiCaseLower, 68, 0},
       
    77         {EPtiKey0, EPtiCaseLower, 68, 7},
       
    78         {EPtiKeyHash, EPtiCaseLower, 75, 0},
       
    79         {EPtiKey1, EPtiCaseUpper, 75, 14},
       
    80         {EPtiKey2, EPtiCaseUpper, 89, 9},
       
    81         {EPtiKey3, EPtiCaseUpper, 98, 7},
       
    82         {EPtiKey4, EPtiCaseUpper, 105, 6},
       
    83         {EPtiKey5, EPtiCaseUpper, 111, 6},
       
    84         {EPtiKey6, EPtiCaseUpper, 117, 6},
       
    85         {EPtiKey7, EPtiCaseUpper, 123, 6},
       
    86         {EPtiKey8, EPtiCaseUpper, 129, 6},
       
    87         {EPtiKey9, EPtiCaseUpper, 135, 10},
       
    88         {EPtiKeyStar, EPtiCaseUpper, 145, 0},
       
    89         {EPtiKey0, EPtiCaseUpper, 145, 3},
       
    90         {EPtiKeyHash, EPtiCaseUpper, 148, 0},
       
    91     };
       
    92 
       
    93 const TInt KMaxMultitapIndex_Marathi = 24;
       
    94 
       
    95 //
       
    96 // StandardQwerty keymap data table
       
    97 //
       
    98 const TUint16 StandardQwertyData_table_Marathi[] =
       
    99     {
       
   100      0x31,
       
   101      0x32,
       
   102      0x33,
       
   103      0x34,
       
   104      0x35,
       
   105      0x36,
       
   106      0x37,
       
   107      0x38,
       
   108      0x39,
       
   109      0x30,
       
   110      0x2b,
       
   111      0x94c,
       
   112      0x948,
       
   113      0x93e,
       
   114      0x940,
       
   115      0x942,
       
   116      0x92c,
       
   117      0x939,
       
   118      0x917,
       
   119      0x926,
       
   120      0x91c,
       
   121      0x921,
       
   122      0x93c,
       
   123      0x94b,
       
   124      0x947,
       
   125      0x94d,
       
   126      0x93f,
       
   127      0x941,
       
   128      0x92a,
       
   129      0x930,
       
   130      0x915,
       
   131      0x924,
       
   132      0x91a,
       
   133      0x91f,
       
   134      0x943,
       
   135      0x902,
       
   136      0x92e,
       
   137      0x928,
       
   138      0x935,
       
   139      0x932,
       
   140      0x938,
       
   141      0x2c,
       
   142      0x2e,
       
   143      0x92f,
       
   144      0x90d,
       
   145      0x945,
       
   146      0x903,
       
   147      0x2464,0x930,0x94d,
       
   148      0x2464,0x91c,0x94d,0x91e,
       
   149      0x2464,0x936,0x94d,0x930,
       
   150      0x2464,0x915,0x94d,0x937,
       
   151      0x2a,
       
   152      0x949,
       
   153      0x911,
       
   154      0x2d,
       
   155      0x914,
       
   156      0x910,
       
   157      0x906,
       
   158      0x908,
       
   159      0x90a,
       
   160      0x92d,
       
   161      0x919,
       
   162      0x918,
       
   163      0x927,
       
   164      0x91d,
       
   165      0x922,
       
   166      0x91e,
       
   167      0x913,
       
   168      0x90f,
       
   169      0x905,
       
   170      0x907,
       
   171      0x909,
       
   172      0x92b,
       
   173      0x931,
       
   174      0x916,
       
   175      0x925,
       
   176      0x91b,
       
   177      0x920,
       
   178      0x90b,
       
   179      0x901,
       
   180      0x923,
       
   181      0x929,
       
   182      0x934,
       
   183      0x933,
       
   184      0x936,
       
   185      0x937,
       
   186      0x2f,
       
   187      0x95f,
       
   188     };
       
   189 
       
   190 const TInt KStandardQwertyDataSize_Marathi = 99;
       
   191 
       
   192 
       
   193 const TPtiKeyBinding StandardQwertyKeyBindings_table_Marathi[] =
       
   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, 3},
       
   243         {EPtiKeyQwerty5, EPtiCaseUpper, 50, 4},
       
   244         {EPtiKeyQwerty6, EPtiCaseUpper, 54, 4},
       
   245         {EPtiKeyQwerty7, EPtiCaseUpper, 58, 4},
       
   246         {EPtiKeyQwerty8, EPtiCaseUpper, 62, 1},
       
   247         {EPtiKeyQwerty9, EPtiCaseUpper, 63, 1},
       
   248         {EPtiKeyQwerty0, EPtiCaseUpper, 64, 1},
       
   249         {EPtiKeyQwertyPlus, EPtiCaseUpper, 65, 1},
       
   250         {EPtiKeyQwertyQ, EPtiCaseUpper, 66, 1},
       
   251         {EPtiKeyQwertyW, EPtiCaseUpper, 67, 1},
       
   252         {EPtiKeyQwertyE, EPtiCaseUpper, 68, 1},
       
   253         {EPtiKeyQwertyR, EPtiCaseUpper, 69, 1},
       
   254         {EPtiKeyQwertyT, EPtiCaseUpper, 70, 1},
       
   255         {EPtiKeyQwertyY, EPtiCaseUpper, 71, 1},
       
   256         {EPtiKeyQwertyU, EPtiCaseUpper, 72, 1},
       
   257         {EPtiKeyQwertyI, EPtiCaseUpper, 73, 1},
       
   258         {EPtiKeyQwertyO, EPtiCaseUpper, 74, 1},
       
   259         {EPtiKeyQwertyP, EPtiCaseUpper, 75, 1},
       
   260         {EPtiKeyQwertyMinus, EPtiCaseUpper, 76, 1},
       
   261         {EPtiKeyQwertyHash, EPtiCaseUpper, 77, 1},
       
   262         {EPtiKeyQwertyA, EPtiCaseUpper, 78, 1},
       
   263         {EPtiKeyQwertyS, EPtiCaseUpper, 79, 1},
       
   264         {EPtiKeyQwertyD, EPtiCaseUpper, 80, 1},
       
   265         {EPtiKeyQwertyF, EPtiCaseUpper, 81, 1},
       
   266         {EPtiKeyQwertyG, EPtiCaseUpper, 82, 1},
       
   267         {EPtiKeyQwertyH, EPtiCaseUpper, 83, 1},
       
   268         {EPtiKeyQwertyJ, EPtiCaseUpper, 84, 1},
       
   269         {EPtiKeyQwertyK, EPtiCaseUpper, 85, 1},
       
   270         {EPtiKeyQwertyL, EPtiCaseUpper, 86, 1},
       
   271         {EPtiKeyQwertySemicolon, EPtiCaseUpper, 87, 1},
       
   272         {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 88, 1},
       
   273         {EPtiKeyQwertyZ, EPtiCaseUpper, 89, 1},
       
   274         {EPtiKeyQwertyX, EPtiCaseUpper, 90, 1},
       
   275         {EPtiKeyQwertyC, EPtiCaseUpper, 91, 1},
       
   276         {EPtiKeyQwertyV, EPtiCaseUpper, 92, 1},
       
   277         {EPtiKeyQwertyB, EPtiCaseUpper, 93, 1},
       
   278         {EPtiKeyQwertyN, EPtiCaseUpper, 94, 1},
       
   279         {EPtiKeyQwertyM, EPtiCaseUpper, 95, 1},
       
   280         {EPtiKeyQwertyComma, EPtiCaseUpper, 96, 1},
       
   281         {EPtiKeyQwertyFullstop, EPtiCaseUpper, 97, 1},
       
   282         {EPtiKeyQwertySlash, EPtiCaseUpper, 98, 1},
       
   283     };
       
   284 
       
   285 const TInt KMaxStandardQwertyIndex_Marathi = 88;
       
   286 
       
   287 
       
   288 //
       
   289 // Numeric key data table for StandardQwerty
       
   290 //
       
   291 const TPtiNumericKeyBinding StandardQwertyNumericKeysData_table_Marathi[] =
       
   292 	{
       
   293 	{'+',EPtiKeyQwertyPlus,EPtiCaseLower},
       
   294 	{'*',EPtiKeyQwerty8,EPtiCaseUpper},
       
   295 	{'#',EPtiKeyQwertyHash,EPtiCaseLower},
       
   296 	{'p',EPtiKeyQwertyP,EPtiCaseLower},
       
   297 	{'w',EPtiKeyQwertyW,EPtiCaseLower},
       
   298 	{'1',EPtiKeyQwerty1,EPtiCaseLower},
       
   299 	{'2',EPtiKeyQwerty2,EPtiCaseLower},
       
   300 	{'3',EPtiKeyQwerty3,EPtiCaseLower},
       
   301 	{'4',EPtiKeyQwerty4,EPtiCaseLower},
       
   302 	{'5',EPtiKeyQwerty5,EPtiCaseLower},
       
   303 	{'6',EPtiKeyQwerty6,EPtiCaseLower},
       
   304 	{'7',EPtiKeyQwerty7,EPtiCaseLower},
       
   305 	{'8',EPtiKeyQwerty8,EPtiCaseLower},
       
   306 	{'9',EPtiKeyQwerty9,EPtiCaseLower},
       
   307 	{'0',EPtiKeyQwerty0,EPtiCaseLower},
       
   308 	{'-',EPtiKeyQwertyPlus,EPtiCaseUpper},
       
   309 	{'E',EPtiKeyQwertyE,EPtiCaseUpper},
       
   310 	{'?',EPtiKeyQwertySlash,EPtiCaseUpper},
       
   311 	};
       
   312 
       
   313 const TInt KNumStandardQwertyNumericKeysEntries_Marathi = 18;
       
   314 //
       
   315 // Class implementation.
       
   316 //
       
   317 
       
   318 CPtiLangDataImplMarathi* CPtiLangDataImplMarathi::NewL()
       
   319     {
       
   320     return new (ELeave) CPtiLangDataImplMarathi();
       
   321     }
       
   322 
       
   323 
       
   324 TInt CPtiLangDataImplMarathi::LanguageCode() const
       
   325     {
       
   326     return ELangMarathi;
       
   327     }
       
   328 
       
   329 
       
   330 const TUint16* CPtiLangDataImplMarathi::KeyData(TPtiKeyboardType aKeyboardType, TInt& aDataSize) const
       
   331     {
       
   332     if (aKeyboardType == EPtiKeyboard12Key)
       
   333         {
       
   334         aDataSize = KMultitapDataSize_Marathi;
       
   335         return MultitapData_table_Marathi;
       
   336         }
       
   337     if (aKeyboardType == EPtiKeyboardQwerty4x12)
       
   338         {
       
   339         aDataSize = KStandardQwertyDataSize_Marathi;
       
   340         return StandardQwertyData_table_Marathi;
       
   341         }
       
   342 
       
   343     aDataSize = 0;
       
   344     return NULL;
       
   345     }
       
   346 
       
   347 
       
   348 const TPtiKeyBinding* CPtiLangDataImplMarathi::KeyBindingTable(TPtiKeyboardType aKeyboardType, TInt& aNumItems) const
       
   349     {
       
   350     if (aKeyboardType == EPtiKeyboard12Key)
       
   351         {
       
   352         aNumItems = KMaxMultitapIndex_Marathi;
       
   353         return MultitapKeyBindings_table_Marathi;
       
   354         }
       
   355     if (aKeyboardType == EPtiKeyboardQwerty4x12)
       
   356         {
       
   357         aNumItems = KMaxStandardQwertyIndex_Marathi;
       
   358         return StandardQwertyKeyBindings_table_Marathi;
       
   359         }
       
   360 
       
   361     aNumItems = 0;
       
   362     return NULL;
       
   363     }
       
   364 
       
   365 
       
   366 const TPtiNumericKeyBinding* CPtiLangDataImplMarathi::NumericModeKeysTable(TPtiKeyboardType aKeyboardType, TInt& aNumEntries) const
       
   367     {
       
   368     if (aKeyboardType == EPtiKeyboardQwerty4x12)
       
   369         {
       
   370         aNumEntries = KNumStandardQwertyNumericKeysEntries_Marathi;
       
   371         return StandardQwertyNumericKeysData_table_Marathi;
       
   372         }
       
   373 
       
   374     aNumEntries = 0;
       
   375     return NULL;
       
   376     }
       
   377 
       
   378 
       
   379 
       
   380 TBool CPtiLangDataImplMarathi::SuitableForLatinOnlyMode() const
       
   381     {
       
   382     return EFalse;
       
   383     }
       
   384 
       
   385