|
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 |