textinput/ptienginev2/languages/PtiKeymappings_ITUT_16.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_Russian[] =
    98 const TUint16 StandardQwertyData_table_Russian[] =
    99     {
    99     {
   100      0x31,
   100      0x0439,
   101      0x32,
   101      0x0446,
   102      0x33,
   102      0x0443,
   103      0x34,
   103      0x043A,
   104      0x35,
   104      0x0435,0x0451,
   105      0x36,
   105      0x043D,
   106      0x37,
   106      0x0433,
   107      0x38,
   107      0x0448,
   108      0x39,
   108      0x0449,
   109      0x30,
   109      0x0437,
   110      0x2d,
   110      0x0445,
   111      0x439,
   111      0x0444,
   112      0x446,
   112      0x044B,
   113      0x443,
   113      0x0432,
   114      0x43a,
   114      0x0430,
   115      0x435,
   115      0x043F,
   116      0x43d,
   116      0x0440,
   117      0x433,
   117      0x043E,
   118      0x448,
   118      0x043B,
   119      0x449,
   119      0x0434,
   120      0x437,
   120      0x0436,
   121      0x445,
   121      0x044D,
   122      0x2b,
   122      0x044F,
   123      0x444,
   123      0x0447,
   124      0x44b,
   124      0x0441,
   125      0x432,
   125      0x043C,
   126      0x430,
   126      0x0438,
   127      0x43f,
   127      0x0442,
   128      0x440,
   128      0x044C,
   129      0x43e,
   129      0x0431,
   130      0x43b,
   130      0x044E,
   131      0x434,
   131      0x044A,
   132      0x436,
   132      0x002E,
   133      0x44d,
   133      0x0419,
   134      0x44f,
   134      0x0426,
   135      0x447,
   135      0x0423,
   136      0x441,
   136      0x041A,
   137      0x43c,
   137      0x0415,0x0401,
   138      0x438,
   138      0x041D,
   139      0x442,
   139      0x0413,
   140      0x44c,
   140      0x0428,
   141      0x431,
   141      0x0429,
   142      0x44e,
   142      0x0417,
   143      0x2e,
   143      0x0425,
   144      0x21,
   144      0x0424,
   145      0x22,
   145      0x042B,
   146      0x40,
   146      0x0412,
   147      0x3b,
   147      0x0410,
   148      0x3d,
   148      0x041F,
   149      0x3a,
   149      0x0420,
   150      0x3f,
   150      0x041E,
   151      0x2a,
   151      0x041B,
   152      0x28,
   152      0x0414,
   153      0x29,
   153      0x0416,
   154      0x2f,
   154      0x042D,
   155      0x419,
   155      0x042F,
   156      0x426,
   156      0x0427,
   157      0x423,
   157      0x0421,
   158      0x41a,
   158      0x041C,
   159      0x415,
   159      0x0418,
   160      0x41d,
   160      0x0422,
   161      0x413,
   161      0x042C,
   162      0x428,
   162      0x0411,
   163      0x429,
   163      0x042E,
   164      0x417,
   164      0x042A,
   165      0x425,
   165      0x002C,
   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     };
   166     };
   189 
   167 
   190 const TInt KStandardQwertyDataSize_Russian = 88;
   168 const TInt KStandardQwertyDataSize_Russian = 68;
   191 
   169 
   192 
   170 
   193 const TPtiKeyBinding StandardQwertyKeyBindings_table_Russian[] =
   171 const TPtiKeyBinding StandardQwertyKeyBindings_table_Russian[] =
   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, 2},
   200         {EPtiKeyQwerty6, EPtiCaseLower, 5, 1},
   178         {EPtiKeyQwerty5, EPtiCaseLower, 6, 1},
   201         {EPtiKeyQwerty7, EPtiCaseLower, 6, 1},
   179         {EPtiKeyQwerty6, EPtiCaseLower, 7, 1},
   202         {EPtiKeyQwerty8, EPtiCaseLower, 7, 1},
   180         {EPtiKeyQwerty7, EPtiCaseLower, 8, 1},
   203         {EPtiKeyQwerty9, EPtiCaseLower, 8, 1},
   181         {EPtiKeyQwerty8, EPtiCaseLower, 9, 1},
   204         {EPtiKeyQwerty0, EPtiCaseLower, 9, 1},
   182         {EPtiKeyQwerty9, EPtiCaseLower, 10, 1},
   205         {EPtiKeyQwertyPlus, EPtiCaseLower, 10, 1},
   183         {EPtiKeyQwerty0, EPtiCaseLower, 11, 1},
   206         {EPtiKeyQwertyQ, EPtiCaseLower, 11, 1},
   184         {EPtiKeyQwertyPlus, EPtiCaseLower, 12, 1},
   207         {EPtiKeyQwertyW, EPtiCaseLower, 12, 1},
   185         {EPtiKeyQwertyQ, EPtiCaseLower, 13, 1},
   208         {EPtiKeyQwertyE, EPtiCaseLower, 13, 1},
   186         {EPtiKeyQwertyW, EPtiCaseLower, 14, 1},
   209         {EPtiKeyQwertyR, EPtiCaseLower, 14, 1},
   187         {EPtiKeyQwertyE, EPtiCaseLower, 15, 1},
   210         {EPtiKeyQwertyT, EPtiCaseLower, 15, 1},
   188         {EPtiKeyQwertyR, EPtiCaseLower, 16, 1},
   211         {EPtiKeyQwertyY, EPtiCaseLower, 16, 1},
   189         {EPtiKeyQwertyT, EPtiCaseLower, 17, 1},
   212         {EPtiKeyQwertyU, EPtiCaseLower, 17, 1},
   190         {EPtiKeyQwertyY, EPtiCaseLower, 18, 1},
   213         {EPtiKeyQwertyI, EPtiCaseLower, 18, 1},
   191         {EPtiKeyQwertyU, EPtiCaseLower, 19, 1},
   214         {EPtiKeyQwertyO, EPtiCaseLower, 19, 1},
   192         {EPtiKeyQwertyI, EPtiCaseLower, 20, 1},
   215         {EPtiKeyQwertyP, EPtiCaseLower, 20, 1},
   193         {EPtiKeyQwertyO, EPtiCaseLower, 21, 1},
   216         {EPtiKeyQwertyMinus, EPtiCaseLower, 21, 1},
   194         {EPtiKeyQwertyP, EPtiCaseLower, 22, 1},
   217         {EPtiKeyQwertyHash, EPtiCaseLower, 22, 1},
   195         {EPtiKeyQwertyMinus, EPtiCaseLower, 23, 0},
   218         {EPtiKeyQwertyA, EPtiCaseLower, 23, 1},
   196         {EPtiKeyQwertyHash, EPtiCaseLower, 23, 1},
   219         {EPtiKeyQwertyS, EPtiCaseLower, 24, 1},
   197         {EPtiKeyQwertyA, EPtiCaseLower, 24, 1},
   220         {EPtiKeyQwertyD, EPtiCaseLower, 25, 1},
   198         {EPtiKeyQwertyS, EPtiCaseLower, 25, 1},
   221         {EPtiKeyQwertyF, EPtiCaseLower, 26, 1},
   199         {EPtiKeyQwertyD, EPtiCaseLower, 26, 1},
   222         {EPtiKeyQwertyG, EPtiCaseLower, 27, 1},
   200         {EPtiKeyQwertyF, EPtiCaseLower, 27, 1},
   223         {EPtiKeyQwertyH, EPtiCaseLower, 28, 1},
   201         {EPtiKeyQwertyG, EPtiCaseLower, 28, 1},
   224         {EPtiKeyQwertyJ, EPtiCaseLower, 29, 1},
   202         {EPtiKeyQwertyH, EPtiCaseLower, 29, 1},
   225         {EPtiKeyQwertyK, EPtiCaseLower, 30, 1},
   203         {EPtiKeyQwertyJ, EPtiCaseLower, 30, 1},
   226         {EPtiKeyQwertyL, EPtiCaseLower, 31, 1},
   204         {EPtiKeyQwertyK, EPtiCaseLower, 31, 1},
   227         {EPtiKeyQwertySemicolon, EPtiCaseLower, 32, 1},
   205         {EPtiKeyQwertyL, EPtiCaseLower, 32, 1},
   228         {EPtiKeyQwertyApostrophe, EPtiCaseLower, 33, 1},
   206         {EPtiKeyQwertySemicolon, EPtiCaseLower, 33, 1},
   229         {EPtiKeyQwertyZ, EPtiCaseLower, 34, 1},
   207         {EPtiKeyQwertyApostrophe, EPtiCaseLower, 34, 0},
   230         {EPtiKeyQwertyX, EPtiCaseLower, 35, 1},
   208         {0x5b, EPtiCaseLower, 34, 0},
   231         {EPtiKeyQwertyC, EPtiCaseLower, 36, 1},
   209         {EPtiKeyQwertyZ, EPtiCaseLower, 34, 0},
   232         {EPtiKeyQwertyV, EPtiCaseLower, 37, 1},
   210         {EPtiKeyQwertyX, EPtiCaseLower, 34, 0},
   233         {EPtiKeyQwertyB, EPtiCaseLower, 38, 1},
   211         {EPtiKeyQwertyC, EPtiCaseLower, 34, 0},
   234         {EPtiKeyQwertyN, EPtiCaseLower, 39, 1},
   212         {EPtiKeyQwertyV, EPtiCaseLower, 34, 0},
   235         {EPtiKeyQwertyM, EPtiCaseLower, 40, 1},
   213         {EPtiKeyQwertyB, EPtiCaseLower, 34, 0},
   236         {EPtiKeyQwertyComma, EPtiCaseLower, 41, 1},
   214         {EPtiKeyQwertyN, EPtiCaseLower, 34, 0},
   237         {EPtiKeyQwertyFullstop, EPtiCaseLower, 42, 1},
   215         {EPtiKeyQwertyM, EPtiCaseLower, 34, 0},
   238         {EPtiKeyQwertySlash, EPtiCaseLower, 43, 1},
   216         {EPtiKeyQwertyComma, EPtiCaseLower, 34, 0},
   239         {EPtiKeyQwerty1, EPtiCaseUpper, 44, 1},
   217         {EPtiKeyQwertyFullstop, EPtiCaseLower, 34, 0},
   240         {EPtiKeyQwerty2, EPtiCaseUpper, 45, 1},
   218         {EPtiKeyQwertySlash, EPtiCaseLower, 34, 0},
   241         {EPtiKeyQwerty3, EPtiCaseUpper, 46, 1},
   219         {EPtiKeyQwertyAtCharacter, EPtiCaseUpper, 34, 1},
   242         {EPtiKeyQwerty4, EPtiCaseUpper, 47, 1},
   220         {EPtiKeyQwerty1, EPtiCaseUpper, 35, 1},
   243         {EPtiKeyQwerty5, EPtiCaseUpper, 48, 1},
   221         {EPtiKeyQwerty2, EPtiCaseUpper, 36, 1},
   244         {EPtiKeyQwerty6, EPtiCaseUpper, 49, 1},
   222         {EPtiKeyQwerty3, EPtiCaseUpper, 37, 1},
   245         {EPtiKeyQwerty7, EPtiCaseUpper, 50, 1},
   223         {EPtiKeyQwerty4, EPtiCaseUpper, 38, 2},
   246         {EPtiKeyQwerty8, EPtiCaseUpper, 51, 1},
   224         {EPtiKeyQwerty5, EPtiCaseUpper, 40, 1},
   247         {EPtiKeyQwerty9, EPtiCaseUpper, 52, 1},
   225         {EPtiKeyQwerty6, EPtiCaseUpper, 41, 1},
   248         {EPtiKeyQwerty0, EPtiCaseUpper, 53, 1},
   226         {EPtiKeyQwerty7, EPtiCaseUpper, 42, 1},
   249         {EPtiKeyQwertyPlus, EPtiCaseUpper, 54, 1},
   227         {EPtiKeyQwerty8, EPtiCaseUpper, 43, 1},
   250         {EPtiKeyQwertyQ, EPtiCaseUpper, 55, 1},
   228         {EPtiKeyQwerty9, EPtiCaseUpper, 44, 1},
   251         {EPtiKeyQwertyW, EPtiCaseUpper, 56, 1},
   229         {EPtiKeyQwerty0, EPtiCaseUpper, 45, 1},
   252         {EPtiKeyQwertyE, EPtiCaseUpper, 57, 1},
   230         {EPtiKeyQwertyPlus, EPtiCaseUpper, 46, 1},
   253         {EPtiKeyQwertyR, EPtiCaseUpper, 58, 1},
   231         {EPtiKeyQwertyQ, EPtiCaseUpper, 47, 1},
   254         {EPtiKeyQwertyT, EPtiCaseUpper, 59, 1},
   232         {EPtiKeyQwertyW, EPtiCaseUpper, 48, 1},
   255         {EPtiKeyQwertyY, EPtiCaseUpper, 60, 1},
   233         {EPtiKeyQwertyE, EPtiCaseUpper, 49, 1},
   256         {EPtiKeyQwertyU, EPtiCaseUpper, 61, 1},
   234         {EPtiKeyQwertyR, EPtiCaseUpper, 50, 1},
   257         {EPtiKeyQwertyI, EPtiCaseUpper, 62, 1},
   235         {EPtiKeyQwertyT, EPtiCaseUpper, 51, 1},
   258         {EPtiKeyQwertyO, EPtiCaseUpper, 63, 1},
   236         {EPtiKeyQwertyY, EPtiCaseUpper, 52, 1},
   259         {EPtiKeyQwertyP, EPtiCaseUpper, 64, 1},
   237         {EPtiKeyQwertyU, EPtiCaseUpper, 53, 1},
   260         {EPtiKeyQwertyMinus, EPtiCaseUpper, 65, 1},
   238         {EPtiKeyQwertyI, EPtiCaseUpper, 54, 1},
   261         {EPtiKeyQwertyHash, EPtiCaseUpper, 66, 1},
   239         {EPtiKeyQwertyO, EPtiCaseUpper, 55, 1},
   262         {EPtiKeyQwertyA, EPtiCaseUpper, 67, 1},
   240         {EPtiKeyQwertyP, EPtiCaseUpper, 56, 1},
   263         {EPtiKeyQwertyS, EPtiCaseUpper, 68, 1},
   241         {EPtiKeyQwertyMinus, EPtiCaseUpper, 57, 0},
   264         {EPtiKeyQwertyD, EPtiCaseUpper, 69, 1},
   242         {EPtiKeyQwertyHash, EPtiCaseUpper, 57, 1},
   265         {EPtiKeyQwertyF, EPtiCaseUpper, 70, 1},
   243         {EPtiKeyQwertyA, EPtiCaseUpper, 58, 1},
   266         {EPtiKeyQwertyG, EPtiCaseUpper, 71, 1},
   244         {EPtiKeyQwertyS, EPtiCaseUpper, 59, 1},
   267         {EPtiKeyQwertyH, EPtiCaseUpper, 72, 1},
   245         {EPtiKeyQwertyD, EPtiCaseUpper, 60, 1},
   268         {EPtiKeyQwertyJ, EPtiCaseUpper, 73, 1},
   246         {EPtiKeyQwertyF, EPtiCaseUpper, 61, 1},
   269         {EPtiKeyQwertyK, EPtiCaseUpper, 74, 1},
   247         {EPtiKeyQwertyG, EPtiCaseUpper, 62, 1},
   270         {EPtiKeyQwertyL, EPtiCaseUpper, 75, 1},
   248         {EPtiKeyQwertyH, EPtiCaseUpper, 63, 1},
   271         {EPtiKeyQwertySemicolon, EPtiCaseUpper, 76, 1},
   249         {EPtiKeyQwertyJ, EPtiCaseUpper, 64, 1},
   272         {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 77, 1},
   250         {EPtiKeyQwertyK, EPtiCaseUpper, 65, 1},
   273         {EPtiKeyQwertyZ, EPtiCaseUpper, 78, 1},
   251         {EPtiKeyQwertyL, EPtiCaseUpper, 66, 1},
   274         {EPtiKeyQwertyX, EPtiCaseUpper, 79, 1},
   252         {EPtiKeyQwertySemicolon, EPtiCaseUpper, 67, 1},
   275         {EPtiKeyQwertyC, EPtiCaseUpper, 80, 1},
   253         {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 68, 0},
   276         {EPtiKeyQwertyV, EPtiCaseUpper, 81, 1},
   254         {0x5b, EPtiCaseUpper, 68, 0},
   277         {EPtiKeyQwertyB, EPtiCaseUpper, 82, 1},
   255         {EPtiKeyQwertyZ, EPtiCaseUpper, 68, 0},
   278         {EPtiKeyQwertyN, EPtiCaseUpper, 83, 1},
   256         {EPtiKeyQwertyX, EPtiCaseUpper, 68, 0},
   279         {EPtiKeyQwertyM, EPtiCaseUpper, 84, 1},
   257         {EPtiKeyQwertyC, EPtiCaseUpper, 68, 0},
   280         {EPtiKeyQwertyComma, EPtiCaseUpper, 85, 1},
   258         {EPtiKeyQwertyV, EPtiCaseUpper, 68, 0},
   281         {EPtiKeyQwertyFullstop, EPtiCaseUpper, 86, 1},
   259         {EPtiKeyQwertyB, EPtiCaseUpper, 68, 0},
   282         {EPtiKeyQwertySlash, EPtiCaseUpper, 87, 1},
   260         {EPtiKeyQwertyN, EPtiCaseUpper, 68, 0},
       
   261         {EPtiKeyQwertyM, EPtiCaseUpper, 68, 0},
       
   262         {EPtiKeyQwertyComma, EPtiCaseUpper, 68, 0},
       
   263         {EPtiKeyQwertyFullstop, EPtiCaseUpper, 68, 0},
       
   264         {EPtiKeyQwertySlash, EPtiCaseUpper, 68, 0},
   283     };
   265     };
   284 
   266 
   285 const TInt KMaxStandardQwertyIndex_Russian = 88;
   267 const TInt KMaxStandardQwertyIndex_Russian = 92;
   286 
   268 
   287 
       
   288 //
       
   289 // Numeric key data table for StandardQwerty
       
   290 //
       
   291 const TPtiNumericKeyBinding StandardQwertyNumericKeysData_table_Russian[] =
       
   292 	{
       
   293 	{'p',EPtiKeyQwertyP,EPtiCaseLower},
       
   294 	{'w',EPtiKeyQwertyW,EPtiCaseLower},
       
   295 	{'E',EPtiKeyQwertyE,EPtiCaseUpper},
       
   296 	};
       
   297 
       
   298 const TInt KNumStandardQwertyNumericKeysEntries_Russian = 3;
       
   299 //
   269 //
   300 // MiniQwerty keymap data table
   270 // MiniQwerty keymap data table
   301 //
   271 //
   302 const TUint16 MiniQwertyData_table_Russian[] =
   272 const TUint16 MiniQwertyData_table_Russian[] =
   303     {
   273     {
   571     }
   541     }
   572 
   542 
   573 
   543 
   574 const TPtiNumericKeyBinding* CPtiLangDataImplRussian::NumericModeKeysTable(TPtiKeyboardType aKeyboardType, TInt& aNumEntries) const
   544 const TPtiNumericKeyBinding* CPtiLangDataImplRussian::NumericModeKeysTable(TPtiKeyboardType aKeyboardType, TInt& aNumEntries) const
   575     {
   545     {
   576     if (aKeyboardType == EPtiKeyboardQwerty4x12)
       
   577         {
       
   578         aNumEntries = KNumStandardQwertyNumericKeysEntries_Russian;
       
   579         return StandardQwertyNumericKeysData_table_Russian;
       
   580         }
       
   581 
       
   582     if (aKeyboardType == EPtiKeyboardQwerty4x10)
   546     if (aKeyboardType == EPtiKeyboardQwerty4x10)
   583         {
   547         {
   584         aNumEntries = KNumMiniQwertyNumericKeysEntries_Russian;
   548         aNumEntries = KNumMiniQwertyNumericKeysEntries_Russian;
   585         return MiniQwertyNumericKeysData_table_Russian;
   549         return MiniQwertyNumericKeysData_table_Russian;
   586         }
   550         }
   588     aNumEntries = 0;
   552     aNumEntries = 0;
   589     return NULL;
   553     return NULL;
   590     }
   554     }
   591 
   555 
   592 
   556 
   593 
       
   594 TBool CPtiLangDataImplRussian::SuitableForLatinOnlyMode() const
       
   595     {
       
   596     return EFalse;
       
   597     }
       
   598 
       
   599