textinput/ptienginev2/languages/PtiKeymappings_ITUT_37.cpp
branchRCL_3
changeset 20 ebd48d2de13c
parent 11 c8fb4cf7b3ae
child 21 ecbabf52600f
equal deleted inserted replaced
19:ac7e4d1d9209 20:ebd48d2de13c
     1 /*
     1 /*
     2 * Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
     2 * Copyright (c) 2002-2004 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 the License "Eclipse Public License v1.0"
     5 * under the terms of "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_Arabic[] =
    98 const TUint16 StandardQwertyData_table_Arabic[] =
    99     {
    99     {
       
   100      0x0031,
       
   101      0x0032,
       
   102      0x0033,
       
   103      0x0034,
       
   104      0x0035,
       
   105      0x0036,
       
   106      0x0037,
       
   107      0x0038,
       
   108      0x0039,
       
   109      0x0030,
       
   110      0x002d,
   100      0x0636,
   111      0x0636,
   101      0x0635,
   112      0x0635,
   102      0x062B,
   113      0x062b,
   103      0x0642,
   114      0x0642,
   104      0x0641,
   115      0x0641,
   105      0x063A,
   116      0x063a,
   106      0x0639,
   117      0x0639,
   107      0x0647,
   118      0x0647,
   108      0x062E,
   119      0x062e,
   109      0x062D,
   120      0x062d,
   110      0x062C,
   121      0x062c,
       
   122      0x002b,
   111      0x0634,
   123      0x0634,
   112      0x0633,
   124      0x0633,
   113      0x064A,
   125      0x064a,
   114      0x0628,
   126      0x0628,
   115      0x0644,
   127      0x0644,
   116      0x0627,
   128      0x0627,
   117      0x062A,
   129      0x062a,
   118      0x0646,
   130      0x0646,
   119      0x0645,
   131      0x0645,
   120      0x0643,
   132      0x0643,
   121      0x062F,
   133      0x0637,
   122      0x0626,
   134      0x0626,
   123      0x0621,
   135      0x0621,
   124      0x0624,
   136      0x0624,
   125      0x0631,
   137      0x0631,
       
   138      0xfefb,
   126      0x0649,
   139      0x0649,
   127      0x0629,
   140      0x0629,
   128      0x0648,
   141      0x0648,
   129      0x0632,
   142      0x0632,
   130      0x0638,
   143      0x0638,
   131      0x0637,
   144      0x0021,
   132      0x0630,
   145      0x0022,
       
   146      0x20ac,
       
   147      0x0024,
       
   148      0x0025,
       
   149      0x0026,
       
   150      0x002a,
   133      0x0029,
   151      0x0029,
   134      0x0028,
   152      0x0028,
   135      0x005C,
   153      0x003d,
   136      0x0644,0x0622,
   154      0x0040,
   137      0x0644,0x0627,
   155      0x0636,
       
   156      0x0635,
       
   157      0x062b,
       
   158      0x0642,
       
   159      0xfef9,
   138      0x0625,
   160      0x0625,
   139      0x0022,
   161      0x0639,
   140      0x0027,
   162      0x0647,
   141      0x061B,
   163      0x062e,
   142      0x060C,
   164      0x061b,
   143      0x002E,
   165      0x062f,
   144      0x005D,
   166      0x0023,
   145      0x005B,
   167      0x0634,
   146      0x002D,
   168      0x0633,
   147      0x002B,
   169      0x064a,
   148      0x0644,0x0625,
   170      0x0628,
       
   171      0x0fef7,
   149      0x0623,
   172      0x0623,
   150      0x201D,
   173      0x062a,
   151      0x201E,
   174      0x0646,
   152      0x003B,
   175      0x0645,
   153      0x003A,
   176      0x003a,
   154      0x002C,
   177      0x0630,
   155      0x003E,
   178      0x0626,
   156      0x003C,
   179      0x0621,
   157      0x00A7,
   180      0x0624,
   158      0x003D,
   181      0x0631,
   159      0x0644,0x0623,
   182      0xfef5,
   160      0x0622,
   183      0x0622,
   161      0x0026,
   184      0x0629,
   162      0x0640,
   185      0x060c,
   163      0x003F,
   186      0x002e,
   164      0x0021,
   187      0x061f,
   165      0x061F,
       
   166     };
   188     };
   167 
   189 
   168 const TInt KStandardQwertyDataSize_Arabic = 70;
   190 const TInt KStandardQwertyDataSize_Arabic = 88;
   169 
   191 
   170 
   192 
   171 const TPtiKeyBinding StandardQwertyKeyBindings_table_Arabic[] =
   193 const TPtiKeyBinding StandardQwertyKeyBindings_table_Arabic[] =
   172     {
   194     {
   173         {EPtiKeyQwertyAtCharacter, EPtiCaseLower, 0, 1},
   195         {EPtiKeyQwerty1, EPtiCaseLower, 0, 1},
   174         {EPtiKeyQwerty1, EPtiCaseLower, 1, 1},
   196         {EPtiKeyQwerty2, EPtiCaseLower, 1, 1},
   175         {EPtiKeyQwerty2, EPtiCaseLower, 2, 1},
   197         {EPtiKeyQwerty3, EPtiCaseLower, 2, 1},
   176         {EPtiKeyQwerty3, EPtiCaseLower, 3, 1},
   198         {EPtiKeyQwerty4, EPtiCaseLower, 3, 1},
   177         {EPtiKeyQwerty4, EPtiCaseLower, 4, 1},
   199         {EPtiKeyQwerty5, EPtiCaseLower, 4, 1},
   178         {EPtiKeyQwerty5, EPtiCaseLower, 5, 1},
   200         {EPtiKeyQwerty6, EPtiCaseLower, 5, 1},
   179         {EPtiKeyQwerty6, EPtiCaseLower, 6, 1},
   201         {EPtiKeyQwerty7, EPtiCaseLower, 6, 1},
   180         {EPtiKeyQwerty7, EPtiCaseLower, 7, 1},
   202         {EPtiKeyQwerty8, EPtiCaseLower, 7, 1},
   181         {EPtiKeyQwerty8, EPtiCaseLower, 8, 1},
   203         {EPtiKeyQwerty9, EPtiCaseLower, 8, 1},
   182         {EPtiKeyQwerty9, EPtiCaseLower, 9, 1},
   204         {EPtiKeyQwerty0, EPtiCaseLower, 9, 1},
   183         {EPtiKeyQwerty0, EPtiCaseLower, 10, 1},
   205         {EPtiKeyQwertyPlus, EPtiCaseLower, 10, 1},
   184         {EPtiKeyQwertyPlus, EPtiCaseLower, 11, 1},
   206         {EPtiKeyQwertyQ, EPtiCaseLower, 11, 1},
   185         {EPtiKeyQwertyQ, EPtiCaseLower, 12, 1},
   207         {EPtiKeyQwertyW, EPtiCaseLower, 12, 1},
   186         {EPtiKeyQwertyW, EPtiCaseLower, 13, 1},
   208         {EPtiKeyQwertyE, EPtiCaseLower, 13, 1},
   187         {EPtiKeyQwertyE, EPtiCaseLower, 14, 1},
   209         {EPtiKeyQwertyR, EPtiCaseLower, 14, 1},
   188         {EPtiKeyQwertyR, EPtiCaseLower, 15, 1},
   210         {EPtiKeyQwertyT, EPtiCaseLower, 15, 1},
   189         {EPtiKeyQwertyT, EPtiCaseLower, 16, 1},
   211         {EPtiKeyQwertyY, EPtiCaseLower, 16, 1},
   190         {EPtiKeyQwertyY, EPtiCaseLower, 17, 1},
   212         {EPtiKeyQwertyU, EPtiCaseLower, 17, 1},
   191         {EPtiKeyQwertyU, EPtiCaseLower, 18, 1},
   213         {EPtiKeyQwertyI, EPtiCaseLower, 18, 1},
   192         {EPtiKeyQwertyI, EPtiCaseLower, 19, 1},
   214         {EPtiKeyQwertyO, EPtiCaseLower, 19, 1},
   193         {EPtiKeyQwertyO, EPtiCaseLower, 20, 1},
   215         {EPtiKeyQwertyP, EPtiCaseLower, 20, 1},
   194         {EPtiKeyQwertyP, EPtiCaseLower, 21, 1},
   216         {EPtiKeyQwertyMinus, EPtiCaseLower, 21, 1},
   195         {EPtiKeyQwertyMinus, EPtiCaseLower, 22, 0},
       
   196         {EPtiKeyQwertyHash, EPtiCaseLower, 22, 1},
   217         {EPtiKeyQwertyHash, EPtiCaseLower, 22, 1},
   197         {EPtiKeyQwertyA, EPtiCaseLower, 23, 1},
   218         {EPtiKeyQwertyA, EPtiCaseLower, 23, 1},
   198         {EPtiKeyQwertyS, EPtiCaseLower, 24, 1},
   219         {EPtiKeyQwertyS, EPtiCaseLower, 24, 1},
   199         {EPtiKeyQwertyD, EPtiCaseLower, 25, 1},
   220         {EPtiKeyQwertyD, EPtiCaseLower, 25, 1},
   200         {EPtiKeyQwertyF, EPtiCaseLower, 26, 1},
   221         {EPtiKeyQwertyF, EPtiCaseLower, 26, 1},
   202         {EPtiKeyQwertyH, EPtiCaseLower, 28, 1},
   223         {EPtiKeyQwertyH, EPtiCaseLower, 28, 1},
   203         {EPtiKeyQwertyJ, EPtiCaseLower, 29, 1},
   224         {EPtiKeyQwertyJ, EPtiCaseLower, 29, 1},
   204         {EPtiKeyQwertyK, EPtiCaseLower, 30, 1},
   225         {EPtiKeyQwertyK, EPtiCaseLower, 30, 1},
   205         {EPtiKeyQwertyL, EPtiCaseLower, 31, 1},
   226         {EPtiKeyQwertyL, EPtiCaseLower, 31, 1},
   206         {EPtiKeyQwertySemicolon, EPtiCaseLower, 32, 1},
   227         {EPtiKeyQwertySemicolon, EPtiCaseLower, 32, 1},
   207         {EPtiKeyQwertyApostrophe, EPtiCaseLower, 33, 0},
   228         {EPtiKeyQwertyApostrophe, EPtiCaseLower, 33, 1},
   208         {0x5b, EPtiCaseLower, 33, 0},
   229         {EPtiKeyQwertyZ, EPtiCaseLower, 34, 1},
   209         {EPtiKeyQwertyZ, EPtiCaseLower, 33, 0},
   230         {EPtiKeyQwertyX, EPtiCaseLower, 35, 1},
   210         {EPtiKeyQwertyX, EPtiCaseLower, 33, 0},
   231         {EPtiKeyQwertyC, EPtiCaseLower, 36, 1},
   211         {EPtiKeyQwertyC, EPtiCaseLower, 33, 0},
   232         {EPtiKeyQwertyV, EPtiCaseLower, 37, 1},
   212         {EPtiKeyQwertyV, EPtiCaseLower, 33, 0},
   233         {EPtiKeyQwertyB, EPtiCaseLower, 38, 1},
   213         {EPtiKeyQwertyB, EPtiCaseLower, 33, 0},
   234         {EPtiKeyQwertyN, EPtiCaseLower, 39, 1},
   214         {EPtiKeyQwertyN, EPtiCaseLower, 33, 0},
   235         {EPtiKeyQwertyM, EPtiCaseLower, 40, 1},
   215         {EPtiKeyQwertyM, EPtiCaseLower, 33, 0},
   236         {EPtiKeyQwertyComma, EPtiCaseLower, 41, 1},
   216         {EPtiKeyQwertyComma, EPtiCaseLower, 33, 0},
   237         {EPtiKeyQwertyFullstop, EPtiCaseLower, 42, 1},
   217         {EPtiKeyQwertyFullstop, EPtiCaseLower, 33, 0},
   238         {EPtiKeyQwertySlash, EPtiCaseLower, 43, 1},
   218         {EPtiKeyQwertySlash, EPtiCaseLower, 33, 0},
   239         {EPtiKeyQwerty1, EPtiCaseUpper, 44, 1},
   219         {EPtiKeyQwertyAtCharacter, EPtiCaseUpper, 33, 1},
   240         {EPtiKeyQwerty2, EPtiCaseUpper, 45, 1},
   220         {EPtiKeyQwerty1, EPtiCaseUpper, 34, 1},
   241         {EPtiKeyQwerty3, EPtiCaseUpper, 46, 1},
   221         {EPtiKeyQwerty2, EPtiCaseUpper, 35, 1},
   242         {EPtiKeyQwerty4, EPtiCaseUpper, 47, 1},
   222         {EPtiKeyQwerty3, EPtiCaseUpper, 36, 2},
   243         {EPtiKeyQwerty5, EPtiCaseUpper, 48, 1},
   223         {EPtiKeyQwerty4, EPtiCaseUpper, 38, 2},
   244         {EPtiKeyQwerty6, EPtiCaseUpper, 49, 1},
   224         {EPtiKeyQwerty5, EPtiCaseUpper, 40, 1},
   245         {EPtiKeyQwerty7, EPtiCaseUpper, 50, 1},
   225         {EPtiKeyQwerty6, EPtiCaseUpper, 41, 1},
   246         {EPtiKeyQwerty8, EPtiCaseUpper, 51, 1},
   226         {EPtiKeyQwerty7, EPtiCaseUpper, 42, 1},
   247         {EPtiKeyQwerty9, EPtiCaseUpper, 52, 1},
   227         {EPtiKeyQwerty8, EPtiCaseUpper, 43, 1},
   248         {EPtiKeyQwerty0, EPtiCaseUpper, 53, 1},
   228         {EPtiKeyQwerty9, EPtiCaseUpper, 44, 1},
   249         {EPtiKeyQwertyPlus, EPtiCaseUpper, 54, 1},
   229         {EPtiKeyQwerty0, EPtiCaseUpper, 45, 1},
   250         {EPtiKeyQwertyQ, EPtiCaseUpper, 55, 1},
   230         {EPtiKeyQwertyPlus, EPtiCaseUpper, 46, 1},
   251         {EPtiKeyQwertyW, EPtiCaseUpper, 56, 1},
   231         {EPtiKeyQwertyQ, EPtiCaseUpper, 47, 1},
   252         {EPtiKeyQwertyE, EPtiCaseUpper, 57, 1},
   232         {EPtiKeyQwertyW, EPtiCaseUpper, 48, 1},
   253         {EPtiKeyQwertyR, EPtiCaseUpper, 58, 1},
   233         {EPtiKeyQwertyE, EPtiCaseUpper, 49, 1},
   254         {EPtiKeyQwertyT, EPtiCaseUpper, 59, 1},
   234         {EPtiKeyQwertyR, EPtiCaseUpper, 50, 2},
   255         {EPtiKeyQwertyY, EPtiCaseUpper, 60, 1},
   235         {EPtiKeyQwertyT, EPtiCaseUpper, 52, 1},
   256         {EPtiKeyQwertyU, EPtiCaseUpper, 61, 1},
   236         {EPtiKeyQwertyY, EPtiCaseUpper, 53, 1},
   257         {EPtiKeyQwertyI, EPtiCaseUpper, 62, 1},
   237         {EPtiKeyQwertyU, EPtiCaseUpper, 54, 1},
   258         {EPtiKeyQwertyO, EPtiCaseUpper, 63, 1},
   238         {EPtiKeyQwertyI, EPtiCaseUpper, 55, 1},
   259         {EPtiKeyQwertyP, EPtiCaseUpper, 64, 1},
   239         {EPtiKeyQwertyO, EPtiCaseUpper, 56, 1},
   260         {EPtiKeyQwertyMinus, EPtiCaseUpper, 65, 1},
   240         {EPtiKeyQwertyP, EPtiCaseUpper, 57, 1},
   261         {EPtiKeyQwertyHash, EPtiCaseUpper, 66, 1},
   241         {EPtiKeyQwertyMinus, EPtiCaseUpper, 58, 0},
   262         {EPtiKeyQwertyA, EPtiCaseUpper, 67, 1},
   242         {EPtiKeyQwertyHash, EPtiCaseUpper, 58, 1},
   263         {EPtiKeyQwertyS, EPtiCaseUpper, 68, 1},
   243         {EPtiKeyQwertyA, EPtiCaseUpper, 59, 1},
   264         {EPtiKeyQwertyD, EPtiCaseUpper, 69, 1},
   244         {EPtiKeyQwertyS, EPtiCaseUpper, 60, 1},
   265         {EPtiKeyQwertyF, EPtiCaseUpper, 70, 1},
   245         {EPtiKeyQwertyD, EPtiCaseUpper, 61, 1},
   266         {EPtiKeyQwertyG, EPtiCaseUpper, 71, 1},
   246         {EPtiKeyQwertyF, EPtiCaseUpper, 62, 2},
   267         {EPtiKeyQwertyH, EPtiCaseUpper, 72, 1},
   247         {EPtiKeyQwertyG, EPtiCaseUpper, 64, 1},
   268         {EPtiKeyQwertyJ, EPtiCaseUpper, 73, 1},
   248         {EPtiKeyQwertyH, EPtiCaseUpper, 65, 1},
   269         {EPtiKeyQwertyK, EPtiCaseUpper, 74, 1},
   249         {EPtiKeyQwertyJ, EPtiCaseUpper, 66, 1},
   270         {EPtiKeyQwertyL, EPtiCaseUpper, 75, 1},
   250         {EPtiKeyQwertyK, EPtiCaseUpper, 67, 1},
   271         {EPtiKeyQwertySemicolon, EPtiCaseUpper, 76, 1},
   251         {EPtiKeyQwertyL, EPtiCaseUpper, 68, 1},
   272         {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 77, 1},
   252         {EPtiKeyQwertySemicolon, EPtiCaseUpper, 69, 1},
   273         {EPtiKeyQwertyZ, EPtiCaseUpper, 78, 1},
   253         {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 70, 0},
   274         {EPtiKeyQwertyX, EPtiCaseUpper, 79, 1},
   254         {0x5b, EPtiCaseUpper, 70, 0},
   275         {EPtiKeyQwertyC, EPtiCaseUpper, 80, 1},
   255         {EPtiKeyQwertyZ, EPtiCaseUpper, 70, 0},
   276         {EPtiKeyQwertyV, EPtiCaseUpper, 81, 1},
   256         {EPtiKeyQwertyX, EPtiCaseUpper, 70, 0},
   277         {EPtiKeyQwertyB, EPtiCaseUpper, 82, 1},
   257         {EPtiKeyQwertyC, EPtiCaseUpper, 70, 0},
   278         {EPtiKeyQwertyN, EPtiCaseUpper, 83, 1},
   258         {EPtiKeyQwertyV, EPtiCaseUpper, 70, 0},
   279         {EPtiKeyQwertyM, EPtiCaseUpper, 84, 1},
   259         {EPtiKeyQwertyB, EPtiCaseUpper, 70, 0},
   280         {EPtiKeyQwertyComma, EPtiCaseUpper, 85, 1},
   260         {EPtiKeyQwertyN, EPtiCaseUpper, 70, 0},
   281         {EPtiKeyQwertyFullstop, EPtiCaseUpper, 86, 1},
   261         {EPtiKeyQwertyM, EPtiCaseUpper, 70, 0},
   282         {EPtiKeyQwertySlash, EPtiCaseUpper, 87, 1},
   262         {EPtiKeyQwertyComma, EPtiCaseUpper, 70, 0},
       
   263         {EPtiKeyQwertyFullstop, EPtiCaseUpper, 70, 0},
       
   264         {EPtiKeyQwertySlash, EPtiCaseUpper, 70, 0},
       
   265     };
   283     };
   266 
   284 
   267 const TInt KMaxStandardQwertyIndex_Arabic = 92;
   285 const TInt KMaxStandardQwertyIndex_Arabic = 88;
   268 
   286 
       
   287 
       
   288 //
       
   289 // Numeric key data table for StandardQwerty
       
   290 //
       
   291 const TPtiNumericKeyBinding StandardQwertyNumericKeysData_table_Arabic[] =
       
   292 	{
       
   293 	{'p',EPtiKeyQwertyP,EPtiCaseLower},
       
   294 	{'w',EPtiKeyQwertyW,EPtiCaseLower},
       
   295 	{';',EPtiKeyQwertySemicolon,EPtiCaseLower},
       
   296 	{',',EPtiKeyQwertyComma,EPtiCaseLower},
       
   297 	{'E',EPtiKeyQwertyE,EPtiCaseUpper},
       
   298 	{'?',EPtiKeyQwertySlash,EPtiCaseUpper},
       
   299 	{'/',EPtiKeyQwertySlash,EPtiCaseLower},
       
   300 	};
       
   301 
       
   302 const TInt KNumStandardQwertyNumericKeysEntries_Arabic = 7;
   269 //
   303 //
   270 // MiniQwerty keymap data table
   304 // MiniQwerty keymap data table
   271 //
   305 //
   272 const TUint16 MiniQwertyData_table_Arabic[] =
   306 const TUint16 MiniQwertyData_table_Arabic[] =
   273     {
   307     {
   740     }
   774     }
   741 
   775 
   742 
   776 
   743 const TPtiNumericKeyBinding* CPtiLangDataImplArabic::NumericModeKeysTable(TPtiKeyboardType aKeyboardType, TInt& aNumEntries) const
   777 const TPtiNumericKeyBinding* CPtiLangDataImplArabic::NumericModeKeysTable(TPtiKeyboardType aKeyboardType, TInt& aNumEntries) const
   744     {
   778     {
       
   779     if (aKeyboardType == EPtiKeyboardQwerty4x12)
       
   780         {
       
   781         aNumEntries = KNumStandardQwertyNumericKeysEntries_Arabic;
       
   782         return StandardQwertyNumericKeysData_table_Arabic;
       
   783         }
       
   784 
   745     if (aKeyboardType == EPtiKeyboardQwerty4x10)
   785     if (aKeyboardType == EPtiKeyboardQwerty4x10)
   746         {
   786         {
   747         aNumEntries = KNumMiniQwertyNumericKeysEntries_Arabic;
   787         aNumEntries = KNumMiniQwertyNumericKeysEntries_Arabic;
   748         return MiniQwertyNumericKeysData_table_Arabic;
   788         return MiniQwertyNumericKeysData_table_Arabic;
   749         }
   789         }
   757     aNumEntries = 0;
   797     aNumEntries = 0;
   758     return NULL;
   798     return NULL;
   759     }
   799     }
   760 
   800 
   761 
   801 
       
   802 
       
   803 TBool CPtiLangDataImplArabic::SuitableForLatinOnlyMode() const
       
   804     {
       
   805     return EFalse;
       
   806     }
       
   807 
       
   808