|
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_37.h" |
|
34 |
|
35 // |
|
36 // Multitap keymap data table |
|
37 // |
|
38 const TUint16 MultitapData_table_Arabic[] = |
|
39 { |
|
40 0x5f,0x3a,0x2f,0x40,0x29,0x28,0x2d,0x31,0x22,0x27,0x21,0x61f,0x60c,0x2e,0x61b, |
|
41 0x628,0x62a,0x629,0x62b,0x32, |
|
42 0x627,0x623,0x625,0x622,0x649,0x624,0x626,0x621,0x33, |
|
43 0x633,0x634,0x635,0x636,0x34, |
|
44 0x62f,0x630,0x631,0x632,0x35, |
|
45 0x62c,0x62d,0x62e,0x36, |
|
46 0x646,0x647,0x648,0x64a,0x37, |
|
47 0x641,0x642,0x643,0x644,0x645,0x38, |
|
48 0x637,0x638,0x639,0x63a,0x39, |
|
49 0x20,0x30,0x21b3, |
|
50 0x5f,0x3a,0x2f,0x40,0x29,0x28,0x2d,0x31,0x22,0x27,0x21,0x61f,0x60c,0x2e,0x61b, |
|
51 0x628,0x62a,0x629,0x62b,0x32, |
|
52 0x627,0x623,0x625,0x622,0x649,0x624,0x626,0x621,0x33, |
|
53 0x633,0x634,0x635,0x636,0x34, |
|
54 0x62f,0x630,0x631,0x632,0x35, |
|
55 0x62c,0x62d,0x62e,0x36, |
|
56 0x646,0x647,0x648,0x64a,0x37, |
|
57 0x641,0x642,0x643,0x644,0x645,0x38, |
|
58 0x637,0x638,0x639,0x63a,0x39, |
|
59 0x20,0x30,0x21b3, |
|
60 }; |
|
61 |
|
62 const TInt KMultitapDataSize_Arabic = 124; |
|
63 |
|
64 |
|
65 const TPtiKeyBinding MultitapKeyBindings_table_Arabic[] = |
|
66 { |
|
67 {EPtiKey1, EPtiCaseLower, 0, 15}, |
|
68 {EPtiKey2, EPtiCaseLower, 15, 5}, |
|
69 {EPtiKey3, EPtiCaseLower, 20, 9}, |
|
70 {EPtiKey4, EPtiCaseLower, 29, 5}, |
|
71 {EPtiKey5, EPtiCaseLower, 34, 5}, |
|
72 {EPtiKey6, EPtiCaseLower, 39, 4}, |
|
73 {EPtiKey7, EPtiCaseLower, 43, 5}, |
|
74 {EPtiKey8, EPtiCaseLower, 48, 6}, |
|
75 {EPtiKey9, EPtiCaseLower, 54, 5}, |
|
76 {EPtiKeyStar, EPtiCaseLower, 59, 0}, |
|
77 {EPtiKey0, EPtiCaseLower, 59, 3}, |
|
78 {EPtiKeyHash, EPtiCaseLower, 62, 0}, |
|
79 {EPtiKey1, EPtiCaseUpper, 62, 15}, |
|
80 {EPtiKey2, EPtiCaseUpper, 77, 5}, |
|
81 {EPtiKey3, EPtiCaseUpper, 82, 9}, |
|
82 {EPtiKey4, EPtiCaseUpper, 91, 5}, |
|
83 {EPtiKey5, EPtiCaseUpper, 96, 5}, |
|
84 {EPtiKey6, EPtiCaseUpper, 101, 4}, |
|
85 {EPtiKey7, EPtiCaseUpper, 105, 5}, |
|
86 {EPtiKey8, EPtiCaseUpper, 110, 6}, |
|
87 {EPtiKey9, EPtiCaseUpper, 116, 5}, |
|
88 {EPtiKeyStar, EPtiCaseUpper, 121, 0}, |
|
89 {EPtiKey0, EPtiCaseUpper, 121, 3}, |
|
90 {EPtiKeyHash, EPtiCaseUpper, 124, 0}, |
|
91 }; |
|
92 |
|
93 const TInt KMaxMultitapIndex_Arabic = 24; |
|
94 |
|
95 // |
|
96 // StandardQwerty keymap data table |
|
97 // |
|
98 const TUint16 StandardQwertyData_table_Arabic[] = |
|
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, |
|
112 0x0635, |
|
113 0x062b, |
|
114 0x0642, |
|
115 0x0641, |
|
116 0x063a, |
|
117 0x0639, |
|
118 0x0647, |
|
119 0x062e, |
|
120 0x062d, |
|
121 0x062c, |
|
122 0x002b, |
|
123 0x0634, |
|
124 0x0633, |
|
125 0x064a, |
|
126 0x0628, |
|
127 0x0644, |
|
128 0x0627, |
|
129 0x062a, |
|
130 0x0646, |
|
131 0x0645, |
|
132 0x0643, |
|
133 0x0637, |
|
134 0x0626, |
|
135 0x0621, |
|
136 0x0624, |
|
137 0x0631, |
|
138 0xfefb, |
|
139 0x0649, |
|
140 0x0629, |
|
141 0x0648, |
|
142 0x0632, |
|
143 0x0638, |
|
144 0x0021, |
|
145 0x0022, |
|
146 0x20ac, |
|
147 0x0024, |
|
148 0x0025, |
|
149 0x0026, |
|
150 0x002a, |
|
151 0x0029, |
|
152 0x0028, |
|
153 0x003d, |
|
154 0x0040, |
|
155 0x0636, |
|
156 0x0635, |
|
157 0x062b, |
|
158 0x0642, |
|
159 0xfef9, |
|
160 0x0625, |
|
161 0x0639, |
|
162 0x0647, |
|
163 0x062e, |
|
164 0x061b, |
|
165 0x062f, |
|
166 0x0023, |
|
167 0x0634, |
|
168 0x0633, |
|
169 0x064a, |
|
170 0x0628, |
|
171 0x0fef7, |
|
172 0x0623, |
|
173 0x062a, |
|
174 0x0646, |
|
175 0x0645, |
|
176 0x003a, |
|
177 0x0630, |
|
178 0x0626, |
|
179 0x0621, |
|
180 0x0624, |
|
181 0x0631, |
|
182 0xfef5, |
|
183 0x0622, |
|
184 0x0629, |
|
185 0x060c, |
|
186 0x002e, |
|
187 0x061f, |
|
188 }; |
|
189 |
|
190 const TInt KStandardQwertyDataSize_Arabic = 88; |
|
191 |
|
192 |
|
193 const TPtiKeyBinding StandardQwertyKeyBindings_table_Arabic[] = |
|
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, 1}, |
|
243 {EPtiKeyQwerty5, EPtiCaseUpper, 48, 1}, |
|
244 {EPtiKeyQwerty6, EPtiCaseUpper, 49, 1}, |
|
245 {EPtiKeyQwerty7, EPtiCaseUpper, 50, 1}, |
|
246 {EPtiKeyQwerty8, EPtiCaseUpper, 51, 1}, |
|
247 {EPtiKeyQwerty9, EPtiCaseUpper, 52, 1}, |
|
248 {EPtiKeyQwerty0, EPtiCaseUpper, 53, 1}, |
|
249 {EPtiKeyQwertyPlus, EPtiCaseUpper, 54, 1}, |
|
250 {EPtiKeyQwertyQ, EPtiCaseUpper, 55, 1}, |
|
251 {EPtiKeyQwertyW, EPtiCaseUpper, 56, 1}, |
|
252 {EPtiKeyQwertyE, EPtiCaseUpper, 57, 1}, |
|
253 {EPtiKeyQwertyR, EPtiCaseUpper, 58, 1}, |
|
254 {EPtiKeyQwertyT, EPtiCaseUpper, 59, 1}, |
|
255 {EPtiKeyQwertyY, EPtiCaseUpper, 60, 1}, |
|
256 {EPtiKeyQwertyU, EPtiCaseUpper, 61, 1}, |
|
257 {EPtiKeyQwertyI, EPtiCaseUpper, 62, 1}, |
|
258 {EPtiKeyQwertyO, EPtiCaseUpper, 63, 1}, |
|
259 {EPtiKeyQwertyP, EPtiCaseUpper, 64, 1}, |
|
260 {EPtiKeyQwertyMinus, EPtiCaseUpper, 65, 1}, |
|
261 {EPtiKeyQwertyHash, EPtiCaseUpper, 66, 1}, |
|
262 {EPtiKeyQwertyA, EPtiCaseUpper, 67, 1}, |
|
263 {EPtiKeyQwertyS, EPtiCaseUpper, 68, 1}, |
|
264 {EPtiKeyQwertyD, EPtiCaseUpper, 69, 1}, |
|
265 {EPtiKeyQwertyF, EPtiCaseUpper, 70, 1}, |
|
266 {EPtiKeyQwertyG, EPtiCaseUpper, 71, 1}, |
|
267 {EPtiKeyQwertyH, EPtiCaseUpper, 72, 1}, |
|
268 {EPtiKeyQwertyJ, EPtiCaseUpper, 73, 1}, |
|
269 {EPtiKeyQwertyK, EPtiCaseUpper, 74, 1}, |
|
270 {EPtiKeyQwertyL, EPtiCaseUpper, 75, 1}, |
|
271 {EPtiKeyQwertySemicolon, EPtiCaseUpper, 76, 1}, |
|
272 {EPtiKeyQwertyApostrophe, EPtiCaseUpper, 77, 1}, |
|
273 {EPtiKeyQwertyZ, EPtiCaseUpper, 78, 1}, |
|
274 {EPtiKeyQwertyX, EPtiCaseUpper, 79, 1}, |
|
275 {EPtiKeyQwertyC, EPtiCaseUpper, 80, 1}, |
|
276 {EPtiKeyQwertyV, EPtiCaseUpper, 81, 1}, |
|
277 {EPtiKeyQwertyB, EPtiCaseUpper, 82, 1}, |
|
278 {EPtiKeyQwertyN, EPtiCaseUpper, 83, 1}, |
|
279 {EPtiKeyQwertyM, EPtiCaseUpper, 84, 1}, |
|
280 {EPtiKeyQwertyComma, EPtiCaseUpper, 85, 1}, |
|
281 {EPtiKeyQwertyFullstop, EPtiCaseUpper, 86, 1}, |
|
282 {EPtiKeyQwertySlash, EPtiCaseUpper, 87, 1}, |
|
283 }; |
|
284 |
|
285 const TInt KMaxStandardQwertyIndex_Arabic = 88; |
|
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; |
|
303 // |
|
304 // MiniQwerty keymap data table |
|
305 // |
|
306 const TUint16 MiniQwertyData_table_Arabic[] = |
|
307 { |
|
308 0x0636, |
|
309 0x0635, |
|
310 0x062B, |
|
311 0x0642, |
|
312 0x0641, |
|
313 0x063A, |
|
314 0x0639, |
|
315 0x062E, |
|
316 0x062D, |
|
317 0x062C, |
|
318 0x0634, |
|
319 0x0633, |
|
320 0x064A, |
|
321 0x0628, |
|
322 0x0644, |
|
323 0x0627, |
|
324 0x062A, |
|
325 0x0646, |
|
326 0x0645, |
|
327 0x0621, |
|
328 0x062F, |
|
329 0x0647, |
|
330 0x0631, |
|
331 0xFEFB, |
|
332 0x0649, |
|
333 0x0643, |
|
334 0x0648, |
|
335 0x0637, |
|
336 0x0040, |
|
337 0x0026, |
|
338 0x060C, |
|
339 0x061B, |
|
340 0x0636, |
|
341 0x0635, |
|
342 0x062B, |
|
343 0x0642, |
|
344 0xFEF9, |
|
345 0x0625, |
|
346 0x0639, |
|
347 0x062E, |
|
348 0x062D, |
|
349 0x062C, |
|
350 0x0634, |
|
351 0x0633, |
|
352 0x0626, |
|
353 0x0628, |
|
354 0xFEF7, |
|
355 0x0623, |
|
356 0x062A, |
|
357 0x0646, |
|
358 0x0645, |
|
359 0x0621, |
|
360 0x0630, |
|
361 0x0629, |
|
362 0x0632, |
|
363 0xFEF5, |
|
364 0x0622, |
|
365 0x0643, |
|
366 0x0624, |
|
367 0x0638, |
|
368 0x002C, |
|
369 0x002E, |
|
370 0x0021, |
|
371 0x0022, |
|
372 0x0031, |
|
373 0x0031, |
|
374 0x0032, |
|
375 0x0032, |
|
376 0x0033, |
|
377 0x0033, |
|
378 0x002B, |
|
379 0x002F, |
|
380 0x0027, |
|
381 0x0034, |
|
382 0x0034, |
|
383 0x0035, |
|
384 0x0035, |
|
385 0x0036, |
|
386 0x0036, |
|
387 0x002D, |
|
388 0x0028, |
|
389 0x0029, |
|
390 0x0037, |
|
391 0x0037, |
|
392 0x0038, |
|
393 0x0038, |
|
394 0x0039, |
|
395 0x0039, |
|
396 0x061F, |
|
397 0x002A, |
|
398 0x002A, |
|
399 0x0030, |
|
400 0x0030, |
|
401 0x0023, |
|
402 0x0023, |
|
403 }; |
|
404 |
|
405 const TInt KMiniQwertyDataSize_Arabic = 95; |
|
406 |
|
407 |
|
408 const TPtiKeyBinding MiniQwertyKeyBindings_table_Arabic[] = |
|
409 { |
|
410 {EPtiKeyQwerty1, EPtiCaseLower, 0, 1}, |
|
411 {EPtiKeyQwerty2, EPtiCaseLower, 1, 1}, |
|
412 {EPtiKeyQwerty3, EPtiCaseLower, 2, 1}, |
|
413 {EPtiKeyQwerty4, EPtiCaseLower, 3, 1}, |
|
414 {EPtiKeyQwerty5, EPtiCaseLower, 4, 1}, |
|
415 {EPtiKeyQwerty6, EPtiCaseLower, 5, 1}, |
|
416 {EPtiKeyQwerty7, EPtiCaseLower, 6, 1}, |
|
417 {EPtiKeyQwerty8, EPtiCaseLower, 7, 1}, |
|
418 {EPtiKeyQwerty9, EPtiCaseLower, 8, 1}, |
|
419 {EPtiKeyQwerty0, EPtiCaseLower, 9, 1}, |
|
420 {EPtiKeyQwertyA, EPtiCaseLower, 10, 1}, |
|
421 {EPtiKeyQwertyS, EPtiCaseLower, 11, 1}, |
|
422 {EPtiKeyQwertyD, EPtiCaseLower, 12, 1}, |
|
423 {EPtiKeyQwertyF, EPtiCaseLower, 13, 1}, |
|
424 {EPtiKeyQwertyG, EPtiCaseLower, 14, 1}, |
|
425 {EPtiKeyQwertyH, EPtiCaseLower, 15, 1}, |
|
426 {EPtiKeyQwertyJ, EPtiCaseLower, 16, 1}, |
|
427 {EPtiKeyQwertyK, EPtiCaseLower, 17, 1}, |
|
428 {EPtiKeyQwertyL, EPtiCaseLower, 18, 1}, |
|
429 {EPtiKeyQwertyZ, EPtiCaseLower, 19, 1}, |
|
430 {EPtiKeyQwertyX, EPtiCaseLower, 20, 1}, |
|
431 {EPtiKeyQwertyC, EPtiCaseLower, 21, 1}, |
|
432 {EPtiKeyQwertyV, EPtiCaseLower, 22, 1}, |
|
433 {EPtiKeyQwertyB, EPtiCaseLower, 23, 1}, |
|
434 {EPtiKeyQwertyN, EPtiCaseLower, 24, 1}, |
|
435 {EPtiKeyQwertyM, EPtiCaseLower, 25, 1}, |
|
436 {EPtiKeyQwertyComma, EPtiCaseLower, 26, 1}, |
|
437 {EPtiKeyQwertyFullstop, EPtiCaseLower, 27, 1}, |
|
438 {EPtiKeyQwerty1, EPtiCaseUpper, 32, 1}, |
|
439 {EPtiKeyQwerty2, EPtiCaseUpper, 33, 1}, |
|
440 {EPtiKeyQwerty3, EPtiCaseUpper, 34, 1}, |
|
441 {EPtiKeyQwerty4, EPtiCaseUpper, 35, 1}, |
|
442 {EPtiKeyQwerty5, EPtiCaseUpper, 36, 1}, |
|
443 {EPtiKeyQwerty6, EPtiCaseUpper, 37, 1}, |
|
444 {EPtiKeyQwerty7, EPtiCaseUpper, 38, 1}, |
|
445 {EPtiKeyQwerty8, EPtiCaseUpper, 39, 1}, |
|
446 {EPtiKeyQwerty9, EPtiCaseUpper, 40, 1}, |
|
447 {EPtiKeyQwerty0, EPtiCaseUpper, 41, 1}, |
|
448 {EPtiKeyQwertyA, EPtiCaseUpper, 42, 1}, |
|
449 {EPtiKeyQwertyS, EPtiCaseUpper, 43, 1}, |
|
450 {EPtiKeyQwertyD, EPtiCaseUpper, 44, 1}, |
|
451 {EPtiKeyQwertyF, EPtiCaseUpper, 45, 1}, |
|
452 {EPtiKeyQwertyG, EPtiCaseUpper, 46, 1}, |
|
453 {EPtiKeyQwertyH, EPtiCaseUpper, 47, 1}, |
|
454 {EPtiKeyQwertyJ, EPtiCaseUpper, 48, 1}, |
|
455 {EPtiKeyQwertyK, EPtiCaseUpper, 49, 1}, |
|
456 {EPtiKeyQwertyL, EPtiCaseUpper, 50, 1}, |
|
457 {EPtiKeyQwertyZ, EPtiCaseUpper, 51, 1}, |
|
458 {EPtiKeyQwertyX, EPtiCaseUpper, 52, 1}, |
|
459 {EPtiKeyQwertyC, EPtiCaseUpper, 53, 1}, |
|
460 {EPtiKeyQwertyV, EPtiCaseUpper, 54, 1}, |
|
461 {EPtiKeyQwertyB, EPtiCaseUpper, 55, 1}, |
|
462 {EPtiKeyQwertyN, EPtiCaseUpper, 56, 1}, |
|
463 {EPtiKeyQwertyM, EPtiCaseUpper, 57, 1}, |
|
464 {EPtiKeyQwertyComma, EPtiCaseUpper, 58, 1}, |
|
465 {EPtiKeyQwertyFullstop, EPtiCaseUpper, 59, 1}, |
|
466 {EPtiKeyQwerty1, EPtiCaseFnLower, 62, 1}, |
|
467 {EPtiKeyQwerty2, EPtiCaseFnLower, 63, 1}, |
|
468 {EPtiKeyQwerty3, EPtiCaseFnLower, 64, 1}, |
|
469 {EPtiKeyQwerty4, EPtiCaseFnLower, 65, 1}, |
|
470 {EPtiKeyQwerty5, EPtiCaseFnLower, 66, 1}, |
|
471 {EPtiKeyQwerty6, EPtiCaseFnLower, 67, 1}, |
|
472 {EPtiKeyQwerty7, EPtiCaseFnLower, 68, 1}, |
|
473 {EPtiKeyQwerty8, EPtiCaseFnLower, 69, 1}, |
|
474 {EPtiKeyQwerty9, EPtiCaseFnLower, 70, 1}, |
|
475 {EPtiKeyQwertyA, EPtiCaseFnLower, 71, 1}, |
|
476 {EPtiKeyQwertyS, EPtiCaseFnLower, 72, 1}, |
|
477 {EPtiKeyQwertyD, EPtiCaseFnLower, 73, 1}, |
|
478 {EPtiKeyQwertyF, EPtiCaseFnLower, 74, 1}, |
|
479 {EPtiKeyQwertyG, EPtiCaseFnLower, 75, 1}, |
|
480 {EPtiKeyQwertyH, EPtiCaseFnLower, 76, 1}, |
|
481 {EPtiKeyQwertyJ, EPtiCaseFnLower, 77, 1}, |
|
482 {EPtiKeyQwertyK, EPtiCaseFnLower, 78, 1}, |
|
483 {EPtiKeyQwertyL, EPtiCaseFnLower, 79, 1}, |
|
484 {EPtiKeyQwertyZ, EPtiCaseFnLower, 80, 1}, |
|
485 {EPtiKeyQwertyX, EPtiCaseFnLower, 81, 1}, |
|
486 {EPtiKeyQwertyC, EPtiCaseFnLower, 82, 1}, |
|
487 {EPtiKeyQwertyV, EPtiCaseFnLower, 83, 1}, |
|
488 {EPtiKeyQwertyB, EPtiCaseFnLower, 84, 1}, |
|
489 {EPtiKeyQwertyN, EPtiCaseFnLower, 85, 1}, |
|
490 {EPtiKeyQwertyM, EPtiCaseFnLower, 86, 1}, |
|
491 {EPtiKeyQwertyComma, EPtiCaseFnLower, 87, 1}, |
|
492 {EPtiKeyQwertyFullstop, EPtiCaseFnLower, 88, 1}, |
|
493 }; |
|
494 |
|
495 const TInt KMaxMiniQwertyIndex_Arabic = 83; |
|
496 |
|
497 |
|
498 // |
|
499 // Numeric key data table for MiniQwerty |
|
500 // |
|
501 const TPtiNumericKeyBinding MiniQwertyNumericKeysData_table_Arabic[] = |
|
502 { |
|
503 {'p',EPtiKeyQwerty0,EPtiCaseLower}, |
|
504 {'w',EPtiKeyQwerty2,EPtiCaseLower}, |
|
505 {'E',EPtiKeyQwerty3,EPtiCaseUpper}, |
|
506 }; |
|
507 |
|
508 const TInt KNumMiniQwertyNumericKeysEntries_Arabic = 3; |
|
509 // |
|
510 // MiniQwerty3x11 keymap data table |
|
511 // |
|
512 const TUint16 MiniQwerty3x11Data_table_Arabic[] = |
|
513 { |
|
514 0x0636, |
|
515 0x0635, |
|
516 0x062B, |
|
517 0x0642, |
|
518 0x0641, |
|
519 0x063A, |
|
520 0x0639, |
|
521 0x0647, |
|
522 0x062D, |
|
523 0x062C, |
|
524 0x0634, |
|
525 0x0633, |
|
526 0x064A, |
|
527 0x0628, |
|
528 0x0644, |
|
529 0x0627, |
|
530 0x0646, |
|
531 0x0643, |
|
532 0x0637, |
|
533 0x060C, |
|
534 0x0621, |
|
535 0x062F, |
|
536 0x0631, |
|
537 0xFEFB, |
|
538 0x0649, |
|
539 0x0648, |
|
540 0x0632, |
|
541 0x0636, |
|
542 0x0635, |
|
543 0x062B, |
|
544 0x0642, |
|
545 0xFEF9, |
|
546 0x0625, |
|
547 0x0639, |
|
548 0x0647, |
|
549 0x062E, |
|
550 0x062C, |
|
551 0x0634, |
|
552 0x0633, |
|
553 0x064A, |
|
554 0x0628, |
|
555 0xFEF7, |
|
556 0x0623, |
|
557 0x062A, |
|
558 0x0645, |
|
559 0x0638, |
|
560 0x061B, |
|
561 0x0626, |
|
562 0x0630, |
|
563 0x0624, |
|
564 0xFEF5, |
|
565 0x0622, |
|
566 0x0629, |
|
567 0x061F, |
|
568 0x0031, |
|
569 0x0032, |
|
570 0x0033, |
|
571 0x0034, |
|
572 0x0035, |
|
573 0x0036, |
|
574 0x0037, |
|
575 0x0038, |
|
576 0x0039, |
|
577 0x0030, |
|
578 0x0040, |
|
579 0x002F, |
|
580 0x0027, |
|
581 0x0022, |
|
582 0x002A, |
|
583 0x0023, |
|
584 0x002B, |
|
585 0x002D, |
|
586 0x003D, |
|
587 0x002E, |
|
588 0x0028, |
|
589 0x0029, |
|
590 0x0026, |
|
591 0x0021, |
|
592 0x003F, |
|
593 0x003B, |
|
594 0x003A, |
|
595 }; |
|
596 |
|
597 const TInt KMiniQwerty3x11DataSize_Arabic = 81; |
|
598 |
|
599 |
|
600 const TPtiKeyBinding MiniQwerty3x11KeyBindings_table_Arabic[] = |
|
601 { |
|
602 {EPtiKeyQwertyQ, EPtiCaseLower, 0, 1}, |
|
603 {EPtiKeyQwertyW, EPtiCaseLower, 1, 1}, |
|
604 {EPtiKeyQwertyE, EPtiCaseLower, 2, 1}, |
|
605 {EPtiKeyQwertyR, EPtiCaseLower, 3, 1}, |
|
606 {EPtiKeyQwertyT, EPtiCaseLower, 4, 1}, |
|
607 {EPtiKeyQwertyY, EPtiCaseLower, 5, 1}, |
|
608 {EPtiKeyQwertyU, EPtiCaseLower, 6, 1}, |
|
609 {EPtiKeyQwertyI, EPtiCaseLower, 7, 1}, |
|
610 {EPtiKeyQwertyO, EPtiCaseLower, 8, 1}, |
|
611 {EPtiKeyQwertyP, EPtiCaseLower, 9, 1}, |
|
612 {EPtiKeyQwertyA, EPtiCaseLower, 10, 1}, |
|
613 {EPtiKeyQwertyS, EPtiCaseLower, 11, 1}, |
|
614 {EPtiKeyQwertyD, EPtiCaseLower, 12, 1}, |
|
615 {EPtiKeyQwertyF, EPtiCaseLower, 13, 1}, |
|
616 {EPtiKeyQwertyG, EPtiCaseLower, 14, 1}, |
|
617 {EPtiKeyQwertyH, EPtiCaseLower, 15, 1}, |
|
618 {EPtiKeyQwertyJ, EPtiCaseLower, 16, 1}, |
|
619 {EPtiKeyQwertyK, EPtiCaseLower, 17, 1}, |
|
620 {EPtiKeyQwertyL, EPtiCaseLower, 18, 1}, |
|
621 {EPtiKeyQwertyComma, EPtiCaseLower, 19, 1}, |
|
622 {EPtiKeyQwertyZ, EPtiCaseLower, 20, 1}, |
|
623 {EPtiKeyQwertyX, EPtiCaseLower, 21, 1}, |
|
624 {EPtiKeyQwertyC, EPtiCaseLower, 22, 1}, |
|
625 {EPtiKeyQwertyV, EPtiCaseLower, 23, 1}, |
|
626 {EPtiKeyQwertyB, EPtiCaseLower, 24, 1}, |
|
627 {EPtiKeyQwertyN, EPtiCaseLower, 25, 1}, |
|
628 {EPtiKeyQwertyM, EPtiCaseLower, 26, 1}, |
|
629 {EStdKeySpace, EPtiCaseLower, 27, 0}, |
|
630 {EPtiKeyQwertyQ, EPtiCaseUpper, 27, 1}, |
|
631 {EPtiKeyQwertyW, EPtiCaseUpper, 28, 1}, |
|
632 {EPtiKeyQwertyE, EPtiCaseUpper, 29, 1}, |
|
633 {EPtiKeyQwertyR, EPtiCaseUpper, 30, 1}, |
|
634 {EPtiKeyQwertyT, EPtiCaseUpper, 31, 1}, |
|
635 {EPtiKeyQwertyY, EPtiCaseUpper, 32, 1}, |
|
636 {EPtiKeyQwertyU, EPtiCaseUpper, 33, 1}, |
|
637 {EPtiKeyQwertyI, EPtiCaseUpper, 34, 1}, |
|
638 {EPtiKeyQwertyO, EPtiCaseUpper, 35, 1}, |
|
639 {EPtiKeyQwertyP, EPtiCaseUpper, 36, 1}, |
|
640 {EPtiKeyQwertyA, EPtiCaseUpper, 37, 1}, |
|
641 {EPtiKeyQwertyS, EPtiCaseUpper, 38, 1}, |
|
642 {EPtiKeyQwertyD, EPtiCaseUpper, 39, 1}, |
|
643 {EPtiKeyQwertyF, EPtiCaseUpper, 40, 1}, |
|
644 {EPtiKeyQwertyG, EPtiCaseUpper, 41, 1}, |
|
645 {EPtiKeyQwertyH, EPtiCaseUpper, 42, 1}, |
|
646 {EPtiKeyQwertyJ, EPtiCaseUpper, 43, 1}, |
|
647 {EPtiKeyQwertyK, EPtiCaseUpper, 44, 1}, |
|
648 {EPtiKeyQwertyL, EPtiCaseUpper, 45, 1}, |
|
649 {EPtiKeyQwertyComma, EPtiCaseUpper, 46, 1}, |
|
650 {EPtiKeyQwertyZ, EPtiCaseUpper, 47, 1}, |
|
651 {EPtiKeyQwertyX, EPtiCaseUpper, 48, 1}, |
|
652 {EPtiKeyQwertyC, EPtiCaseUpper, 49, 1}, |
|
653 {EPtiKeyQwertyV, EPtiCaseUpper, 50, 1}, |
|
654 {EPtiKeyQwertyB, EPtiCaseUpper, 51, 1}, |
|
655 {EPtiKeyQwertyN, EPtiCaseUpper, 52, 1}, |
|
656 {EPtiKeyQwertyM, EPtiCaseUpper, 53, 1}, |
|
657 {EStdKeySpace, EPtiCaseUpper, 54, 0}, |
|
658 {EPtiKeyQwertyQ, EPtiCaseFnLower, 54, 1}, |
|
659 {EPtiKeyQwertyW, EPtiCaseFnLower, 55, 1}, |
|
660 {EPtiKeyQwertyE, EPtiCaseFnLower, 56, 1}, |
|
661 {EPtiKeyQwertyR, EPtiCaseFnLower, 57, 1}, |
|
662 {EPtiKeyQwertyT, EPtiCaseFnLower, 58, 1}, |
|
663 {EPtiKeyQwertyY, EPtiCaseFnLower, 59, 1}, |
|
664 {EPtiKeyQwertyU, EPtiCaseFnLower, 60, 1}, |
|
665 {EPtiKeyQwertyI, EPtiCaseFnLower, 61, 1}, |
|
666 {EPtiKeyQwertyO, EPtiCaseFnLower, 62, 1}, |
|
667 {EPtiKeyQwertyP, EPtiCaseFnLower, 63, 1}, |
|
668 {EPtiKeyQwertyA, EPtiCaseFnLower, 64, 1}, |
|
669 {EPtiKeyQwertyS, EPtiCaseFnLower, 65, 1}, |
|
670 {EPtiKeyQwertyD, EPtiCaseFnLower, 66, 1}, |
|
671 {EPtiKeyQwertyF, EPtiCaseFnLower, 67, 1}, |
|
672 {EPtiKeyQwertyG, EPtiCaseFnLower, 68, 1}, |
|
673 {EPtiKeyQwertyH, EPtiCaseFnLower, 69, 1}, |
|
674 {EPtiKeyQwertyJ, EPtiCaseFnLower, 70, 1}, |
|
675 {EPtiKeyQwertyK, EPtiCaseFnLower, 71, 1}, |
|
676 {EPtiKeyQwertyL, EPtiCaseFnLower, 72, 1}, |
|
677 {EPtiKeyQwertyComma, EPtiCaseFnLower, 73, 1}, |
|
678 {EPtiKeyQwertyZ, EPtiCaseFnLower, 74, 1}, |
|
679 {EPtiKeyQwertyX, EPtiCaseFnLower, 75, 1}, |
|
680 {EPtiKeyQwertyC, EPtiCaseFnLower, 76, 1}, |
|
681 {EPtiKeyQwertyV, EPtiCaseFnLower, 77, 1}, |
|
682 {EPtiKeyQwertyB, EPtiCaseFnLower, 78, 1}, |
|
683 {EPtiKeyQwertyN, EPtiCaseFnLower, 79, 1}, |
|
684 {EPtiKeyQwertyM, EPtiCaseFnLower, 80, 1}, |
|
685 }; |
|
686 |
|
687 const TInt KMaxMiniQwerty3x11Index_Arabic = 83; |
|
688 |
|
689 |
|
690 // |
|
691 // Numeric key data table for MiniQwerty3x11 |
|
692 // |
|
693 const TPtiNumericKeyBinding MiniQwerty3x11NumericKeysData_table_Arabic[] = |
|
694 { |
|
695 {'p',EPtiKeyQwertyP,EPtiCaseLower}, |
|
696 {'w',EPtiKeyQwertyW,EPtiCaseLower}, |
|
697 {',',EPtiKeyQwertyComma,EPtiCaseLower}, |
|
698 {'E',EPtiKeyQwertyE,EPtiCaseUpper}, |
|
699 {'/',EPtiKeyQwertyS,EPtiCaseFnLower}, |
|
700 }; |
|
701 |
|
702 const TInt KNumMiniQwerty3x11NumericKeysEntries_Arabic = 5; |
|
703 // |
|
704 // Class implementation. |
|
705 // |
|
706 |
|
707 CPtiLangDataImplArabic* CPtiLangDataImplArabic::NewL() |
|
708 { |
|
709 return new (ELeave) CPtiLangDataImplArabic(); |
|
710 } |
|
711 |
|
712 |
|
713 TInt CPtiLangDataImplArabic::LanguageCode() const |
|
714 { |
|
715 return ELangArabic; |
|
716 } |
|
717 |
|
718 |
|
719 const TUint16* CPtiLangDataImplArabic::KeyData(TPtiKeyboardType aKeyboardType, TInt& aDataSize) const |
|
720 { |
|
721 if (aKeyboardType == EPtiKeyboard12Key) |
|
722 { |
|
723 aDataSize = KMultitapDataSize_Arabic; |
|
724 return MultitapData_table_Arabic; |
|
725 } |
|
726 if (aKeyboardType == EPtiKeyboardQwerty4x12) |
|
727 { |
|
728 aDataSize = KStandardQwertyDataSize_Arabic; |
|
729 return StandardQwertyData_table_Arabic; |
|
730 } |
|
731 |
|
732 if (aKeyboardType == EPtiKeyboardQwerty4x10) |
|
733 { |
|
734 aDataSize = KMiniQwertyDataSize_Arabic; |
|
735 return MiniQwertyData_table_Arabic; |
|
736 } |
|
737 |
|
738 if (aKeyboardType == EPtiKeyboardQwerty3x11) |
|
739 { |
|
740 aDataSize = KMiniQwerty3x11DataSize_Arabic; |
|
741 return MiniQwerty3x11Data_table_Arabic; |
|
742 } |
|
743 |
|
744 aDataSize = 0; |
|
745 return NULL; |
|
746 } |
|
747 |
|
748 |
|
749 const TPtiKeyBinding* CPtiLangDataImplArabic::KeyBindingTable(TPtiKeyboardType aKeyboardType, TInt& aNumItems) const |
|
750 { |
|
751 if (aKeyboardType == EPtiKeyboard12Key) |
|
752 { |
|
753 aNumItems = KMaxMultitapIndex_Arabic; |
|
754 return MultitapKeyBindings_table_Arabic; |
|
755 } |
|
756 if (aKeyboardType == EPtiKeyboardQwerty4x12) |
|
757 { |
|
758 aNumItems = KMaxStandardQwertyIndex_Arabic; |
|
759 return StandardQwertyKeyBindings_table_Arabic; |
|
760 } |
|
761 if (aKeyboardType == EPtiKeyboardQwerty4x10) |
|
762 { |
|
763 aNumItems = KMaxMiniQwertyIndex_Arabic; |
|
764 return MiniQwertyKeyBindings_table_Arabic; |
|
765 } |
|
766 if (aKeyboardType == EPtiKeyboardQwerty3x11) |
|
767 { |
|
768 aNumItems = KMaxMiniQwerty3x11Index_Arabic; |
|
769 return MiniQwerty3x11KeyBindings_table_Arabic; |
|
770 } |
|
771 |
|
772 aNumItems = 0; |
|
773 return NULL; |
|
774 } |
|
775 |
|
776 |
|
777 const TPtiNumericKeyBinding* CPtiLangDataImplArabic::NumericModeKeysTable(TPtiKeyboardType aKeyboardType, TInt& aNumEntries) const |
|
778 { |
|
779 if (aKeyboardType == EPtiKeyboardQwerty4x12) |
|
780 { |
|
781 aNumEntries = KNumStandardQwertyNumericKeysEntries_Arabic; |
|
782 return StandardQwertyNumericKeysData_table_Arabic; |
|
783 } |
|
784 |
|
785 if (aKeyboardType == EPtiKeyboardQwerty4x10) |
|
786 { |
|
787 aNumEntries = KNumMiniQwertyNumericKeysEntries_Arabic; |
|
788 return MiniQwertyNumericKeysData_table_Arabic; |
|
789 } |
|
790 |
|
791 if (aKeyboardType == EPtiKeyboardQwerty3x11) |
|
792 { |
|
793 aNumEntries = KNumMiniQwerty3x11NumericKeysEntries_Arabic; |
|
794 return MiniQwerty3x11NumericKeysData_table_Arabic; |
|
795 } |
|
796 |
|
797 aNumEntries = 0; |
|
798 return NULL; |
|
799 } |
|
800 |
|
801 |
|
802 |
|
803 TBool CPtiLangDataImplArabic::SuitableForLatinOnlyMode() const |
|
804 { |
|
805 return EFalse; |
|
806 } |
|
807 |
|
808 |