textinput/ptienginev2/languages/PtiKeymappings_ITUT_37.cpp
branchRCL_3
changeset 11 c8fb4cf7b3ae
parent 0 eb1f2e154e89
child 20 ebd48d2de13c
equal deleted inserted replaced
9:e6a39382bb9c 11:c8fb4cf7b3ae
     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_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,
       
   111      0x0636,
   100      0x0636,
   112      0x0635,
   101      0x0635,
   113      0x062b,
   102      0x062B,
   114      0x0642,
   103      0x0642,
   115      0x0641,
   104      0x0641,
   116      0x063a,
   105      0x063A,
   117      0x0639,
   106      0x0639,
   118      0x0647,
   107      0x0647,
   119      0x062e,
   108      0x062E,
   120      0x062d,
   109      0x062D,
   121      0x062c,
   110      0x062C,
   122      0x002b,
       
   123      0x0634,
   111      0x0634,
   124      0x0633,
   112      0x0633,
   125      0x064a,
   113      0x064A,
   126      0x0628,
   114      0x0628,
   127      0x0644,
   115      0x0644,
   128      0x0627,
   116      0x0627,
   129      0x062a,
   117      0x062A,
   130      0x0646,
   118      0x0646,
   131      0x0645,
   119      0x0645,
   132      0x0643,
   120      0x0643,
   133      0x0637,
   121      0x062F,
   134      0x0626,
   122      0x0626,
   135      0x0621,
   123      0x0621,
   136      0x0624,
   124      0x0624,
   137      0x0631,
   125      0x0631,
   138      0xfefb,
       
   139      0x0649,
   126      0x0649,
   140      0x0629,
   127      0x0629,
   141      0x0648,
   128      0x0648,
   142      0x0632,
   129      0x0632,
   143      0x0638,
   130      0x0638,
   144      0x0021,
   131      0x0637,
   145      0x0022,
   132      0x0630,
   146      0x20ac,
       
   147      0x0024,
       
   148      0x0025,
       
   149      0x0026,
       
   150      0x002a,
       
   151      0x0029,
   133      0x0029,
   152      0x0028,
   134      0x0028,
   153      0x003d,
   135      0x005C,
   154      0x0040,
   136      0x0644,0x0622,
   155      0x0636,
   137      0x0644,0x0627,
   156      0x0635,
       
   157      0x062b,
       
   158      0x0642,
       
   159      0xfef9,
       
   160      0x0625,
   138      0x0625,
   161      0x0639,
   139      0x0022,
   162      0x0647,
   140      0x0027,
   163      0x062e,
   141      0x061B,
   164      0x061b,
   142      0x060C,
   165      0x062f,
   143      0x002E,
   166      0x0023,
   144      0x005D,
   167      0x0634,
   145      0x005B,
   168      0x0633,
   146      0x002D,
   169      0x064a,
   147      0x002B,
   170      0x0628,
   148      0x0644,0x0625,
   171      0x0fef7,
       
   172      0x0623,
   149      0x0623,
   173      0x062a,
   150      0x201D,
   174      0x0646,
   151      0x201E,
   175      0x0645,
   152      0x003B,
   176      0x003a,
   153      0x003A,
   177      0x0630,
   154      0x002C,
   178      0x0626,
   155      0x003E,
   179      0x0621,
   156      0x003C,
   180      0x0624,
   157      0x00A7,
   181      0x0631,
   158      0x003D,
   182      0xfef5,
   159      0x0644,0x0623,
   183      0x0622,
   160      0x0622,
   184      0x0629,
   161      0x0026,
   185      0x060c,
   162      0x0640,
   186      0x002e,
   163      0x003F,
   187      0x061f,
   164      0x0021,
       
   165      0x061F,
   188     };
   166     };
   189 
   167 
   190 const TInt KStandardQwertyDataSize_Arabic = 88;
   168 const TInt KStandardQwertyDataSize_Arabic = 70;
   191 
   169 
   192 
   170 
   193 const TPtiKeyBinding StandardQwertyKeyBindings_table_Arabic[] =
   171 const TPtiKeyBinding StandardQwertyKeyBindings_table_Arabic[] =
   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, 2},
   244         {EPtiKeyQwerty6, EPtiCaseUpper, 49, 1},
   223         {EPtiKeyQwerty4, EPtiCaseUpper, 38, 2},
   245         {EPtiKeyQwerty7, EPtiCaseUpper, 50, 1},
   224         {EPtiKeyQwerty5, EPtiCaseUpper, 40, 1},
   246         {EPtiKeyQwerty8, EPtiCaseUpper, 51, 1},
   225         {EPtiKeyQwerty6, EPtiCaseUpper, 41, 1},
   247         {EPtiKeyQwerty9, EPtiCaseUpper, 52, 1},
   226         {EPtiKeyQwerty7, EPtiCaseUpper, 42, 1},
   248         {EPtiKeyQwerty0, EPtiCaseUpper, 53, 1},
   227         {EPtiKeyQwerty8, EPtiCaseUpper, 43, 1},
   249         {EPtiKeyQwertyPlus, EPtiCaseUpper, 54, 1},
   228         {EPtiKeyQwerty9, EPtiCaseUpper, 44, 1},
   250         {EPtiKeyQwertyQ, EPtiCaseUpper, 55, 1},
   229         {EPtiKeyQwerty0, EPtiCaseUpper, 45, 1},
   251         {EPtiKeyQwertyW, EPtiCaseUpper, 56, 1},
   230         {EPtiKeyQwertyPlus, EPtiCaseUpper, 46, 1},
   252         {EPtiKeyQwertyE, EPtiCaseUpper, 57, 1},
   231         {EPtiKeyQwertyQ, EPtiCaseUpper, 47, 1},
   253         {EPtiKeyQwertyR, EPtiCaseUpper, 58, 1},
   232         {EPtiKeyQwertyW, EPtiCaseUpper, 48, 1},
   254         {EPtiKeyQwertyT, EPtiCaseUpper, 59, 1},
   233         {EPtiKeyQwertyE, EPtiCaseUpper, 49, 1},
   255         {EPtiKeyQwertyY, EPtiCaseUpper, 60, 1},
   234         {EPtiKeyQwertyR, EPtiCaseUpper, 50, 2},
   256         {EPtiKeyQwertyU, EPtiCaseUpper, 61, 1},
   235         {EPtiKeyQwertyT, EPtiCaseUpper, 52, 1},
   257         {EPtiKeyQwertyI, EPtiCaseUpper, 62, 1},
   236         {EPtiKeyQwertyY, EPtiCaseUpper, 53, 1},
   258         {EPtiKeyQwertyO, EPtiCaseUpper, 63, 1},
   237         {EPtiKeyQwertyU, EPtiCaseUpper, 54, 1},
   259         {EPtiKeyQwertyP, EPtiCaseUpper, 64, 1},
   238         {EPtiKeyQwertyI, EPtiCaseUpper, 55, 1},
   260         {EPtiKeyQwertyMinus, EPtiCaseUpper, 65, 1},
   239         {EPtiKeyQwertyO, EPtiCaseUpper, 56, 1},
   261         {EPtiKeyQwertyHash, EPtiCaseUpper, 66, 1},
   240         {EPtiKeyQwertyP, EPtiCaseUpper, 57, 1},
   262         {EPtiKeyQwertyA, EPtiCaseUpper, 67, 1},
   241         {EPtiKeyQwertyMinus, EPtiCaseUpper, 58, 0},
   263         {EPtiKeyQwertyS, EPtiCaseUpper, 68, 1},
   242         {EPtiKeyQwertyHash, EPtiCaseUpper, 58, 1},
   264         {EPtiKeyQwertyD, EPtiCaseUpper, 69, 1},
   243         {EPtiKeyQwertyA, EPtiCaseUpper, 59, 1},
   265         {EPtiKeyQwertyF, EPtiCaseUpper, 70, 1},
   244         {EPtiKeyQwertyS, EPtiCaseUpper, 60, 1},
   266         {EPtiKeyQwertyG, EPtiCaseUpper, 71, 1},
   245         {EPtiKeyQwertyD, EPtiCaseUpper, 61, 1},
   267         {EPtiKeyQwertyH, EPtiCaseUpper, 72, 1},
   246         {EPtiKeyQwertyF, EPtiCaseUpper, 62, 2},
   268         {EPtiKeyQwertyJ, EPtiCaseUpper, 73, 1},
   247         {EPtiKeyQwertyG, EPtiCaseUpper, 64, 1},
   269         {EPtiKeyQwertyK, EPtiCaseUpper, 74, 1},
   248         {EPtiKeyQwertyH, EPtiCaseUpper, 65, 1},
   270         {EPtiKeyQwertyL, EPtiCaseUpper, 75, 1},
   249         {EPtiKeyQwertyJ, EPtiCaseUpper, 66, 1},
   271         {EPtiKeyQwertySemicolon, EPtiCaseUpper, 76, 1},
   250         {EPtiKeyQwertyK, EPtiCaseUpper, 67, 1},
   272         {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 77, 1},
   251         {EPtiKeyQwertyL, EPtiCaseUpper, 68, 1},
   273         {EPtiKeyQwertyZ, EPtiCaseUpper, 78, 1},
   252         {EPtiKeyQwertySemicolon, EPtiCaseUpper, 69, 1},
   274         {EPtiKeyQwertyX, EPtiCaseUpper, 79, 1},
   253         {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 70, 0},
   275         {EPtiKeyQwertyC, EPtiCaseUpper, 80, 1},
   254         {0x5b, EPtiCaseUpper, 70, 0},
   276         {EPtiKeyQwertyV, EPtiCaseUpper, 81, 1},
   255         {EPtiKeyQwertyZ, EPtiCaseUpper, 70, 0},
   277         {EPtiKeyQwertyB, EPtiCaseUpper, 82, 1},
   256         {EPtiKeyQwertyX, EPtiCaseUpper, 70, 0},
   278         {EPtiKeyQwertyN, EPtiCaseUpper, 83, 1},
   257         {EPtiKeyQwertyC, EPtiCaseUpper, 70, 0},
   279         {EPtiKeyQwertyM, EPtiCaseUpper, 84, 1},
   258         {EPtiKeyQwertyV, EPtiCaseUpper, 70, 0},
   280         {EPtiKeyQwertyComma, EPtiCaseUpper, 85, 1},
   259         {EPtiKeyQwertyB, EPtiCaseUpper, 70, 0},
   281         {EPtiKeyQwertyFullstop, EPtiCaseUpper, 86, 1},
   260         {EPtiKeyQwertyN, EPtiCaseUpper, 70, 0},
   282         {EPtiKeyQwertySlash, EPtiCaseUpper, 87, 1},
   261         {EPtiKeyQwertyM, EPtiCaseUpper, 70, 0},
       
   262         {EPtiKeyQwertyComma, EPtiCaseUpper, 70, 0},
       
   263         {EPtiKeyQwertyFullstop, EPtiCaseUpper, 70, 0},
       
   264         {EPtiKeyQwertySlash, EPtiCaseUpper, 70, 0},
   283     };
   265     };
   284 
   266 
   285 const TInt KMaxStandardQwertyIndex_Arabic = 88;
   267 const TInt KMaxStandardQwertyIndex_Arabic = 92;
   286 
   268 
   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;
       
   303 //
   269 //
   304 // MiniQwerty keymap data table
   270 // MiniQwerty keymap data table
   305 //
   271 //
   306 const TUint16 MiniQwertyData_table_Arabic[] =
   272 const TUint16 MiniQwertyData_table_Arabic[] =
   307     {
   273     {
   774     }
   740     }
   775 
   741 
   776 
   742 
   777 const TPtiNumericKeyBinding* CPtiLangDataImplArabic::NumericModeKeysTable(TPtiKeyboardType aKeyboardType, TInt& aNumEntries) const
   743 const TPtiNumericKeyBinding* CPtiLangDataImplArabic::NumericModeKeysTable(TPtiKeyboardType aKeyboardType, TInt& aNumEntries) const
   778     {
   744     {
   779     if (aKeyboardType == EPtiKeyboardQwerty4x12)
       
   780         {
       
   781         aNumEntries = KNumStandardQwertyNumericKeysEntries_Arabic;
       
   782         return StandardQwertyNumericKeysData_table_Arabic;
       
   783         }
       
   784 
       
   785     if (aKeyboardType == EPtiKeyboardQwerty4x10)
   745     if (aKeyboardType == EPtiKeyboardQwerty4x10)
   786         {
   746         {
   787         aNumEntries = KNumMiniQwertyNumericKeysEntries_Arabic;
   747         aNumEntries = KNumMiniQwertyNumericKeysEntries_Arabic;
   788         return MiniQwertyNumericKeysData_table_Arabic;
   748         return MiniQwertyNumericKeysData_table_Arabic;
   789         }
   749         }
   797     aNumEntries = 0;
   757     aNumEntries = 0;
   798     return NULL;
   758     return NULL;
   799     }
   759     }
   800 
   760 
   801 
   761 
   802 
       
   803 TBool CPtiLangDataImplArabic::SuitableForLatinOnlyMode() const
       
   804     {
       
   805     return EFalse;
       
   806     }
       
   807 
       
   808