textinput/ptienginev2/languages/PtiKeymappings_ITUT_94.cpp
branchRCL_3
changeset 21 ecbabf52600f
parent 20 ebd48d2de13c
equal deleted inserted replaced
20:ebd48d2de13c 21:ecbabf52600f
     1 /*
     1 /*
     2 * Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
     2 * Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
     3 * All rights reserved.
     3 * All rights reserved.
     4 * This component and the accompanying materials are made available
     4 * This component and the accompanying materials are made available
     5 * under the terms of "Eclipse Public License v1.0""
     5 * under the terms of the License "Eclipse Public License v1.0"
     6 * which accompanies this distribution, and is available
     6 * which accompanies this distribution, and is available
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
     8 *
     8 *
     9 * Initial Contributors:
     9 * Initial Contributors:
    10 * Nokia Corporation - initial contribution.
    10 * Nokia Corporation - initial contribution.
    95 //
    95 //
    96 // StandardQwerty keymap data table
    96 // StandardQwerty keymap data table
    97 //
    97 //
    98 const TUint16 StandardQwertyData_table_Urdu[] =
    98 const TUint16 StandardQwertyData_table_Urdu[] =
    99     {
    99     {
   100      0x06f1,
       
   101      0x06f2,
       
   102      0x06f3,
       
   103      0x06f4,
       
   104      0x06f5,
       
   105      0x06f6,
       
   106      0x06f7,
       
   107      0x06f8,
       
   108      0x06f9,
       
   109      0x06f0,
       
   110      0x0637,
   100      0x0637,
   111      0x0635,
   101      0x0635,
   112      0x06be,
   102      0x06BE,
   113      0x062f,
   103      0x062F,
   114      0x06BB,
   104      0x0679,
   115      0x067e,
   105      0x067E,
   116      0x062a,
   106      0x062A,
   117      0x0628,
   107      0x0628,
   118      0x062c,
   108      0x062C,
   119      0x062d,
   109      0x062D,
   120      0x002d,
   110      0x0021,
   121      0x003d,
       
   122      0x0645,
   111      0x0645,
   123      0x0648,
   112      0x0648,
   124      0x0631,
   113      0x0631,
   125      0x0646,
   114      0x0646,
   126      0x0644,
   115      0x0644,
   127      0x0647,
   116      0x06C1,
   128      0x0627,
   117      0x0627,
   129      0x06a9,
   118      0x06A9,
   130      0x06cc,
   119      0x06CC,
   131      0x061b,
   120      0x061B,
   132      0x0027,
   121      0x005C,
   133      0x005c,
       
   134      0x0642,
   122      0x0642,
   135      0x0641,
   123      0x0641,
   136      0x06d2,
   124      0x06D2,
   137      0x0633,
   125      0x0633,
   138      0x0634,
   126      0x0634,
   139      0x063a,
   127      0x063A,
   140      0x0639,
   128      0x0639,
   141      0x060c,
   129      0x060C,
   142      0x06d4,
   130      0x002E,
   143      0x002f,
   131      0x002F,
   144      0x0021,
   132      0x061F,
   145      0x0040,
       
   146      0x0023,
       
   147      0x0024,
       
   148      0x066a,
       
   149      0x005e,
       
   150      0x0029,
       
   151      0x0028,
       
   152      0x005f,
       
   153      0x002b,
       
   154      0x0638,
   133      0x0638,
   155      0x0636,
   134      0x0636,
   156      0x0630,
   135      0x0630,
   157      0x0688,
   136      0x0688,
   158      0x062b,
   137      0x062B,
   159      0x067e,
   138      0x06C3,
   160      0x06c3,
       
   161      0x0628,
   139      0x0628,
   162      0x0686,
   140      0x0686,
   163      0x062e,
   141      0x062E,
   164      0x007d,
   142      0x0029,
   165      0x007b,
   143      0x0028,
   166      0x0698,
   144      0x0698,
   167      0x0632,
   145      0x0632,
   168      0x0691,
   146      0x0691,
   169      0x06ba,
   147      0x06BA,
   170      0x06c2,
   148      0x06C2,
   171      0x0621,
   149      0x0621,
   172      0x0622,
   150      0x0622,
   173      0x06af,
   151      0x06AF,
   174      0x064a,
   152      0x064A,
   175      0x003a,
   153      0x003A,
   176      0x0022,
   154      0x0022,
   177      0x002a,
   155      0x200C,
   178      0x200d,
   156      0x200D,
   179      0x200c,
   157      0x06D3,
   180      0x06d3,
   158      0x200E,
   181      0x200e,
       
   182      0x0624,
   159      0x0624,
   183      0x0626,
   160      0x0626,
   184      0x200f,
   161      0x200F,
   185      0x003e,
   162      0x003E,
   186      0x003c,
   163      0x003C,
   187      0x061f,
   164      0x005F,
       
   165      0x0640,
   188     };
   166     };
   189 
   167 
   190 const TInt KStandardQwertyDataSize_Urdu = 88;
   168 const TInt KStandardQwertyDataSize_Urdu = 66;
   191 
   169 
   192 
   170 
   193 const TPtiKeyBinding StandardQwertyKeyBindings_table_Urdu[] =
   171 const TPtiKeyBinding StandardQwertyKeyBindings_table_Urdu[] =
   194     {
   172     {
   195         {EPtiKeyQwerty1, EPtiCaseLower, 0, 1},
   173         {EPtiKeyQwertyAtCharacter, EPtiCaseLower, 0, 1},
   196         {EPtiKeyQwerty2, EPtiCaseLower, 1, 1},
   174         {EPtiKeyQwerty1, EPtiCaseLower, 1, 1},
   197         {EPtiKeyQwerty3, EPtiCaseLower, 2, 1},
   175         {EPtiKeyQwerty2, EPtiCaseLower, 2, 1},
   198         {EPtiKeyQwerty4, EPtiCaseLower, 3, 1},
   176         {EPtiKeyQwerty3, EPtiCaseLower, 3, 1},
   199         {EPtiKeyQwerty5, EPtiCaseLower, 4, 1},
   177         {EPtiKeyQwerty4, EPtiCaseLower, 4, 1},
   200         {EPtiKeyQwerty6, EPtiCaseLower, 5, 1},
   178         {EPtiKeyQwerty5, EPtiCaseLower, 5, 1},
   201         {EPtiKeyQwerty7, EPtiCaseLower, 6, 1},
   179         {EPtiKeyQwerty6, EPtiCaseLower, 6, 1},
   202         {EPtiKeyQwerty8, EPtiCaseLower, 7, 1},
   180         {EPtiKeyQwerty7, EPtiCaseLower, 7, 1},
   203         {EPtiKeyQwerty9, EPtiCaseLower, 8, 1},
   181         {EPtiKeyQwerty8, EPtiCaseLower, 8, 1},
   204         {EPtiKeyQwerty0, EPtiCaseLower, 9, 1},
   182         {EPtiKeyQwerty9, EPtiCaseLower, 9, 1},
   205         {EPtiKeyQwertyPlus, EPtiCaseLower, 10, 1},
   183         {EPtiKeyQwerty0, EPtiCaseLower, 10, 1},
   206         {EPtiKeyQwertyQ, EPtiCaseLower, 11, 1},
   184         {EPtiKeyQwertyPlus, EPtiCaseLower, 11, 1},
   207         {EPtiKeyQwertyW, EPtiCaseLower, 12, 1},
   185         {EPtiKeyQwertyQ, EPtiCaseLower, 12, 1},
   208         {EPtiKeyQwertyE, EPtiCaseLower, 13, 1},
   186         {EPtiKeyQwertyW, EPtiCaseLower, 13, 1},
   209         {EPtiKeyQwertyR, EPtiCaseLower, 14, 1},
   187         {EPtiKeyQwertyE, EPtiCaseLower, 14, 1},
   210         {EPtiKeyQwertyT, EPtiCaseLower, 15, 1},
   188         {EPtiKeyQwertyR, EPtiCaseLower, 15, 1},
   211         {EPtiKeyQwertyY, EPtiCaseLower, 16, 1},
   189         {EPtiKeyQwertyT, EPtiCaseLower, 16, 1},
   212         {EPtiKeyQwertyU, EPtiCaseLower, 17, 1},
   190         {EPtiKeyQwertyY, EPtiCaseLower, 17, 1},
   213         {EPtiKeyQwertyI, EPtiCaseLower, 18, 1},
   191         {EPtiKeyQwertyU, EPtiCaseLower, 18, 1},
   214         {EPtiKeyQwertyO, EPtiCaseLower, 19, 1},
   192         {EPtiKeyQwertyI, EPtiCaseLower, 19, 1},
   215         {EPtiKeyQwertyP, EPtiCaseLower, 20, 1},
   193         {EPtiKeyQwertyO, EPtiCaseLower, 20, 1},
   216         {EPtiKeyQwertyMinus, EPtiCaseLower, 21, 1},
   194         {EPtiKeyQwertyP, EPtiCaseLower, 21, 1},
       
   195         {EPtiKeyQwertyMinus, EPtiCaseLower, 22, 0},
   217         {EPtiKeyQwertyHash, EPtiCaseLower, 22, 1},
   196         {EPtiKeyQwertyHash, EPtiCaseLower, 22, 1},
   218         {EPtiKeyQwertyA, EPtiCaseLower, 23, 1},
   197         {EPtiKeyQwertyA, EPtiCaseLower, 23, 1},
   219         {EPtiKeyQwertyS, EPtiCaseLower, 24, 1},
   198         {EPtiKeyQwertyS, EPtiCaseLower, 24, 1},
   220         {EPtiKeyQwertyD, EPtiCaseLower, 25, 1},
   199         {EPtiKeyQwertyD, EPtiCaseLower, 25, 1},
   221         {EPtiKeyQwertyF, EPtiCaseLower, 26, 1},
   200         {EPtiKeyQwertyF, EPtiCaseLower, 26, 1},
   223         {EPtiKeyQwertyH, EPtiCaseLower, 28, 1},
   202         {EPtiKeyQwertyH, EPtiCaseLower, 28, 1},
   224         {EPtiKeyQwertyJ, EPtiCaseLower, 29, 1},
   203         {EPtiKeyQwertyJ, EPtiCaseLower, 29, 1},
   225         {EPtiKeyQwertyK, EPtiCaseLower, 30, 1},
   204         {EPtiKeyQwertyK, EPtiCaseLower, 30, 1},
   226         {EPtiKeyQwertyL, EPtiCaseLower, 31, 1},
   205         {EPtiKeyQwertyL, EPtiCaseLower, 31, 1},
   227         {EPtiKeyQwertySemicolon, EPtiCaseLower, 32, 1},
   206         {EPtiKeyQwertySemicolon, EPtiCaseLower, 32, 1},
   228         {EPtiKeyQwertyApostrophe, EPtiCaseLower, 33, 1},
   207         {EPtiKeyQwertyApostrophe, EPtiCaseLower, 33, 0},
   229         {EPtiKeyQwertyZ, EPtiCaseLower, 34, 1},
   208         {0x5b, EPtiCaseLower, 33, 0},
   230         {EPtiKeyQwertyX, EPtiCaseLower, 35, 1},
   209         {EPtiKeyQwertyZ, EPtiCaseLower, 33, 0},
   231         {EPtiKeyQwertyC, EPtiCaseLower, 36, 1},
   210         {EPtiKeyQwertyX, EPtiCaseLower, 33, 0},
   232         {EPtiKeyQwertyV, EPtiCaseLower, 37, 1},
   211         {EPtiKeyQwertyC, EPtiCaseLower, 33, 0},
   233         {EPtiKeyQwertyB, EPtiCaseLower, 38, 1},
   212         {EPtiKeyQwertyV, EPtiCaseLower, 33, 0},
   234         {EPtiKeyQwertyN, EPtiCaseLower, 39, 1},
   213         {EPtiKeyQwertyB, EPtiCaseLower, 33, 0},
   235         {EPtiKeyQwertyM, EPtiCaseLower, 40, 1},
   214         {EPtiKeyQwertyN, EPtiCaseLower, 33, 0},
   236         {EPtiKeyQwertyComma, EPtiCaseLower, 41, 1},
   215         {EPtiKeyQwertyM, EPtiCaseLower, 33, 0},
   237         {EPtiKeyQwertyFullstop, EPtiCaseLower, 42, 1},
   216         {EPtiKeyQwertyComma, EPtiCaseLower, 33, 0},
   238         {EPtiKeyQwertySlash, EPtiCaseLower, 43, 1},
   217         {EPtiKeyQwertyFullstop, EPtiCaseLower, 33, 0},
   239         {EPtiKeyQwerty1, EPtiCaseUpper, 44, 1},
   218         {EPtiKeyQwertySlash, EPtiCaseLower, 33, 0},
   240         {EPtiKeyQwerty2, EPtiCaseUpper, 45, 1},
   219         {EPtiKeyQwertyAtCharacter, EPtiCaseUpper, 33, 1},
   241         {EPtiKeyQwerty3, EPtiCaseUpper, 46, 1},
   220         {EPtiKeyQwerty1, EPtiCaseUpper, 34, 1},
   242         {EPtiKeyQwerty4, EPtiCaseUpper, 47, 1},
   221         {EPtiKeyQwerty2, EPtiCaseUpper, 35, 1},
   243         {EPtiKeyQwerty5, EPtiCaseUpper, 48, 1},
   222         {EPtiKeyQwerty3, EPtiCaseUpper, 36, 1},
   244         {EPtiKeyQwerty6, EPtiCaseUpper, 49, 1},
   223         {EPtiKeyQwerty4, EPtiCaseUpper, 37, 1},
   245         {EPtiKeyQwerty7, EPtiCaseUpper, 50, 1},
   224         {EPtiKeyQwerty5, EPtiCaseUpper, 38, 1},
   246         {EPtiKeyQwerty8, EPtiCaseUpper, 51, 1},
   225         {EPtiKeyQwerty6, EPtiCaseUpper, 39, 1},
   247         {EPtiKeyQwerty9, EPtiCaseUpper, 52, 1},
   226         {EPtiKeyQwerty7, EPtiCaseUpper, 40, 1},
   248         {EPtiKeyQwerty0, EPtiCaseUpper, 53, 1},
   227         {EPtiKeyQwerty8, EPtiCaseUpper, 41, 1},
   249         {EPtiKeyQwertyPlus, EPtiCaseUpper, 54, 1},
   228         {EPtiKeyQwerty9, EPtiCaseUpper, 42, 1},
   250         {EPtiKeyQwertyQ, EPtiCaseUpper, 55, 1},
   229         {EPtiKeyQwerty0, EPtiCaseUpper, 43, 1},
   251         {EPtiKeyQwertyW, EPtiCaseUpper, 56, 1},
   230         {EPtiKeyQwertyPlus, EPtiCaseUpper, 44, 1},
   252         {EPtiKeyQwertyE, EPtiCaseUpper, 57, 1},
   231         {EPtiKeyQwertyQ, EPtiCaseUpper, 45, 1},
   253         {EPtiKeyQwertyR, EPtiCaseUpper, 58, 1},
   232         {EPtiKeyQwertyW, EPtiCaseUpper, 46, 1},
   254         {EPtiKeyQwertyT, EPtiCaseUpper, 59, 1},
   233         {EPtiKeyQwertyE, EPtiCaseUpper, 47, 1},
   255         {EPtiKeyQwertyY, EPtiCaseUpper, 60, 1},
   234         {EPtiKeyQwertyR, EPtiCaseUpper, 48, 1},
   256         {EPtiKeyQwertyU, EPtiCaseUpper, 61, 1},
   235         {EPtiKeyQwertyT, EPtiCaseUpper, 49, 1},
   257         {EPtiKeyQwertyI, EPtiCaseUpper, 62, 1},
   236         {EPtiKeyQwertyY, EPtiCaseUpper, 50, 1},
   258         {EPtiKeyQwertyO, EPtiCaseUpper, 63, 1},
   237         {EPtiKeyQwertyU, EPtiCaseUpper, 51, 1},
   259         {EPtiKeyQwertyP, EPtiCaseUpper, 64, 1},
   238         {EPtiKeyQwertyI, EPtiCaseUpper, 52, 1},
   260         {EPtiKeyQwertyMinus, EPtiCaseUpper, 65, 1},
   239         {EPtiKeyQwertyO, EPtiCaseUpper, 53, 1},
   261         {EPtiKeyQwertyHash, EPtiCaseUpper, 66, 1},
   240         {EPtiKeyQwertyP, EPtiCaseUpper, 54, 1},
   262         {EPtiKeyQwertyA, EPtiCaseUpper, 67, 1},
   241         {EPtiKeyQwertyMinus, EPtiCaseUpper, 55, 0},
   263         {EPtiKeyQwertyS, EPtiCaseUpper, 68, 1},
   242         {EPtiKeyQwertyHash, EPtiCaseUpper, 55, 1},
   264         {EPtiKeyQwertyD, EPtiCaseUpper, 69, 1},
   243         {EPtiKeyQwertyA, EPtiCaseUpper, 56, 1},
   265         {EPtiKeyQwertyF, EPtiCaseUpper, 70, 1},
   244         {EPtiKeyQwertyS, EPtiCaseUpper, 57, 1},
   266         {EPtiKeyQwertyG, EPtiCaseUpper, 71, 1},
   245         {EPtiKeyQwertyD, EPtiCaseUpper, 58, 1},
   267         {EPtiKeyQwertyH, EPtiCaseUpper, 72, 1},
   246         {EPtiKeyQwertyF, EPtiCaseUpper, 59, 1},
   268         {EPtiKeyQwertyJ, EPtiCaseUpper, 73, 1},
   247         {EPtiKeyQwertyG, EPtiCaseUpper, 60, 1},
   269         {EPtiKeyQwertyK, EPtiCaseUpper, 74, 1},
   248         {EPtiKeyQwertyH, EPtiCaseUpper, 61, 1},
   270         {EPtiKeyQwertyL, EPtiCaseUpper, 75, 1},
   249         {EPtiKeyQwertyJ, EPtiCaseUpper, 62, 1},
   271         {EPtiKeyQwertySemicolon, EPtiCaseUpper, 76, 1},
   250         {EPtiKeyQwertyK, EPtiCaseUpper, 63, 1},
   272         {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 77, 1},
   251         {EPtiKeyQwertyL, EPtiCaseUpper, 64, 1},
   273         {EPtiKeyQwertyZ, EPtiCaseUpper, 78, 1},
   252         {EPtiKeyQwertySemicolon, EPtiCaseUpper, 65, 1},
   274         {EPtiKeyQwertyX, EPtiCaseUpper, 79, 1},
   253         {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 66, 0},
   275         {EPtiKeyQwertyC, EPtiCaseUpper, 80, 1},
   254         {0x5b, EPtiCaseUpper, 66, 0},
   276         {EPtiKeyQwertyV, EPtiCaseUpper, 81, 1},
   255         {EPtiKeyQwertyZ, EPtiCaseUpper, 66, 0},
   277         {EPtiKeyQwertyB, EPtiCaseUpper, 82, 1},
   256         {EPtiKeyQwertyX, EPtiCaseUpper, 66, 0},
   278         {EPtiKeyQwertyN, EPtiCaseUpper, 83, 1},
   257         {EPtiKeyQwertyC, EPtiCaseUpper, 66, 0},
   279         {EPtiKeyQwertyM, EPtiCaseUpper, 84, 1},
   258         {EPtiKeyQwertyV, EPtiCaseUpper, 66, 0},
   280         {EPtiKeyQwertyComma, EPtiCaseUpper, 85, 1},
   259         {EPtiKeyQwertyB, EPtiCaseUpper, 66, 0},
   281         {EPtiKeyQwertyFullstop, EPtiCaseUpper, 86, 1},
   260         {EPtiKeyQwertyN, EPtiCaseUpper, 66, 0},
   282         {EPtiKeyQwertySlash, EPtiCaseUpper, 87, 1},
   261         {EPtiKeyQwertyM, EPtiCaseUpper, 66, 0},
       
   262         {EPtiKeyQwertyComma, EPtiCaseUpper, 66, 0},
       
   263         {EPtiKeyQwertyFullstop, EPtiCaseUpper, 66, 0},
       
   264         {EPtiKeyQwertySlash, EPtiCaseUpper, 66, 0},
   283     };
   265     };
   284 
   266 
   285 const TInt KMaxStandardQwertyIndex_Urdu = 88;
   267 const TInt KMaxStandardQwertyIndex_Urdu = 92;
   286 
   268 
   287 
       
   288 //
       
   289 // Numeric key data table for StandardQwerty
       
   290 //
       
   291 const TPtiNumericKeyBinding StandardQwertyNumericKeysData_table_Urdu[] =
       
   292 	{
       
   293 	{'*',EPtiKeyQwerty7,EPtiCaseUpper},
       
   294 	{'p',EPtiKeyQwertyP,EPtiCaseLower},
       
   295 	{'w',EPtiKeyQwertyW,EPtiCaseLower},
       
   296 	{'1',EPtiKeyQwerty1,EPtiCaseLower},
       
   297 	{'2',EPtiKeyQwerty2,EPtiCaseLower},
       
   298 	{'3',EPtiKeyQwerty3,EPtiCaseLower},
       
   299 	{'4',EPtiKeyQwerty4,EPtiCaseLower},
       
   300 	{'5',EPtiKeyQwerty5,EPtiCaseLower},
       
   301 	{'6',EPtiKeyQwerty6,EPtiCaseLower},
       
   302 	{'7',EPtiKeyQwerty7,EPtiCaseLower},
       
   303 	{'8',EPtiKeyQwerty8,EPtiCaseLower},
       
   304 	{'9',EPtiKeyQwerty9,EPtiCaseLower},
       
   305 	{'0',EPtiKeyQwerty0,EPtiCaseLower},
       
   306 	{';',EPtiKeyQwertySemicolon,EPtiCaseLower},
       
   307 	{'.',EPtiKeyQwertyFullstop,EPtiCaseLower},
       
   308 	{',',EPtiKeyQwertyComma,EPtiCaseLower},
       
   309 	{'E',EPtiKeyQwertyE,EPtiCaseUpper},
       
   310 	{'?',EPtiKeyQwertySlash,EPtiCaseUpper},
       
   311 	};
       
   312 
       
   313 const TInt KNumStandardQwertyNumericKeysEntries_Urdu = 18;
       
   314 //
   269 //
   315 // Class implementation.
   270 // Class implementation.
   316 //
   271 //
   317 
   272 
   318 CPtiLangDataImplUrdu* CPtiLangDataImplUrdu::NewL()
   273 CPtiLangDataImplUrdu* CPtiLangDataImplUrdu::NewL()
   361     aNumItems = 0;
   316     aNumItems = 0;
   362     return NULL;
   317     return NULL;
   363     }
   318     }
   364 
   319 
   365 
   320 
   366 const TPtiNumericKeyBinding* CPtiLangDataImplUrdu::NumericModeKeysTable(TPtiKeyboardType aKeyboardType, TInt& aNumEntries) const
       
   367     {
       
   368     if (aKeyboardType == EPtiKeyboardQwerty4x12)
       
   369         {
       
   370         aNumEntries = KNumStandardQwertyNumericKeysEntries_Urdu;
       
   371         return StandardQwertyNumericKeysData_table_Urdu;
       
   372         }
       
   373 
       
   374     aNumEntries = 0;
       
   375     return NULL;
       
   376     }
       
   377 
       
   378 
       
   379 
       
   380 TBool CPtiLangDataImplUrdu::SuitableForLatinOnlyMode() const
       
   381     {
       
   382     return EFalse;
       
   383     }
       
   384 
       
   385