1 // Copyright 2014 The ChromeOS IME Authors. All Rights Reserved.
2 // limitations under the License.
3 // See the License for the specific language governing permissions and
4 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
5 // distributed under the License is distributed on an "AS-IS" BASIS,
6 // Unless required by applicable law or agreed to in writing, software
8 // http://www.apache.org/licenses/LICENSE-2.0
10 // You may obtain a copy of the License at
11 // you may not use this file except in compliance with the License.
12 // Licensed under the Apache License, Version 2.0 (the "License");
14 goog.provide('i18n.input.chrome.inputview.content.compact.letter');
16 goog.require('i18n.input.chrome.inputview.Css');
17 goog.require('i18n.input.chrome.inputview.MoreKeysShiftOperation');
18 goog.require('i18n.input.chrome.inputview.content.constants');
20 goog.scope(function() {
21 var NonLetterKeys = i18n.input.chrome.inputview.content.constants.NonLetterKeys;
22 var MoreKeysShiftOperation = i18n.input.chrome.inputview.MoreKeysShiftOperation;
23 var Css = i18n.input.chrome.inputview.Css;
27 * Common qwerty Letter keyset characters.
29 * @return {!Array.<!Object>}
31 i18n.input.chrome.inputview.content.compact.letter.keyQwertyCharacters =
34 /* 0 */ { 'text': 'q', 'hintText': '1' },
35 /* 1 */ { 'text': 'w', 'hintText': '2' },
36 /* 2 */ { 'text': 'e', 'hintText': '3',
37 'moreKeys': ['\u00E8', '\u00E9', '\u00EA', '\u00EB', '\u0113']},
38 /* 3 */ { 'text': 'r', 'hintText': '4' },
39 /* 4 */ { 'text': 't', 'hintText': '5' },
40 /* 5 */ { 'text': 'y', 'hintText': '6' },
41 /* 6 */ { 'text': 'u', 'hintText': '7',
42 'moreKeys': ['\u00FB', '\u00FC', '\u00F9', '\u00FA', '\u016B']},
43 /* 7 */ { 'text': 'i', 'hintText': '8',
44 'moreKeys': ['\u00EE', '\u00EF', '\u00ED', '\u012B', '\u00EC']},
45 /* 8 */ { 'text': 'o', 'hintText': '9',
46 'moreKeys': ['\u00F4', '\u00F6', '\u00F2', '\u00F3', '\u0153', '\u00F8',
48 /* 9 */ { 'text': 'p', 'hintText': '0' },
49 /* 10 */ NonLetterKeys.BACKSPACE,
50 /* 11 */ { 'text': 'a', 'marginLeftPercent': 0.33,
51 'moreKeys': ['\u00E0', '\u00E1', '\u00E2', '\u00E4', '\u00E6', '\u00E3',
53 /* 12 */ { 'text': 's',
54 'moreKeys': ['\u00DF']},
55 /* 13 */ { 'text': 'd' },
56 /* 14 */ { 'text': 'f' },
57 /* 15 */ { 'text': 'g' },
58 /* 16 */ { 'text': 'h' },
59 /* 17 */ { 'text': 'j' },
60 /* 18 */ { 'text': 'k' },
61 /* 19 */ { 'text': 'l' },
62 /* 20 */ NonLetterKeys.ENTER,
63 /* 21 */ NonLetterKeys.LEFT_SHIFT,
64 /* 22 */ { 'text': 'z' },
65 /* 23 */ { 'text': 'x' },
66 /* 24 */ { 'text': 'c',
67 'moreKeys': ['\u00E7']},
68 /* 25 */ { 'text': 'v' },
69 /* 26 */ { 'text': 'b' },
70 /* 27 */ { 'text': 'n',
71 'moreKeys': ['\u00F1']},
72 /* 28 */ { 'text': 'm' },
73 /* 29 */ { 'text': '!',
74 'moreKeys': ['\u00A1']},
75 /* 30 */ { 'text': '?',
76 'moreKeys': ['\u00BF']},
77 /* 31 */ NonLetterKeys.RIGHT_SHIFT,
78 /* 32 */ NonLetterKeys.SWITCHER,
79 /* 33 */ NonLetterKeys.GLOBE,
80 /* 34 */ NonLetterKeys.MENU,
81 /* 35 */ { 'text': '/', 'isGrey': true, 'onContext':
82 { 'email' : { 'text' : '@' }}},
83 /* 36 */ NonLetterKeys.SPACE,
84 /* 37 */ { 'text': ',', 'isGrey': true, 'onContext':
85 { 'email' : {'text' : '.com', 'textCssClass' : Css.FONT_SMALL },
86 'url' : {'text' : '.com', 'textCssClass' : Css.FONT_SMALL }}},
87 /* 38 */ { 'text': '.', 'isGrey': true,
88 'moreKeys': ['\u0023', '\u0021', '\u005C', '\u003F', '\u002D', '\u003A',
90 /* 39 */ NonLetterKeys.HIDE
96 * Belgian Letter keyset characters.
98 * @return {!Array.<!Object>}
100 i18n.input.chrome.inputview.content.compact.letter.keyBelgianCharacters =
103 i18n.input.chrome.inputview.content.compact.letter.keyQwertyCharacters();
104 data[2]['moreKeys'] =
105 ['\u0117', '\u00E8', '\u0119', '\u00E9', '\u00EA', '\u00EB', '\u0113'];
106 data[5]['moreKeys'] = ['\u0133'];
107 data[7]['moreKeys'] =
108 ['\u00EE', '\u00EF', '\u012F', '\u0133', '\u00ED', '\u012B', '\u00EC'];
109 data[12]['moreKeys'] = undefined;
110 data[24]['moreKeys'] = undefined;
111 data[27]['moreKeys'] = ['\u00F1', '\u0144'];
117 * Icelandic Letter keyset characters.
119 * @return {!Array.<!Object>}
121 i18n.input.chrome.inputview.content.compact.letter.keyIcelandicCharacters =
124 i18n.input.chrome.inputview.content.compact.letter.keyQwertyCharacters();
125 data[2]['moreKeys'] = ['\u00E9', '\u00EB', '\u00E8', '\u00EA', '\u0119',
126 '\u0117', '\u0113']; // e
127 data[4]['moreKeys'] = ['\u00FE']; // t
128 data[5]['moreKeys'] = ['\u00FD', '\u00FF']; // y
129 data[7]['moreKeys'] = ['\u00ED', '\u00EF', '\u00EE', '\u00EC', '\u012F',
131 data[12]['moreKeys'] = undefined;
132 data[13]['moreKeys'] = ['\u00F0'];
133 data[24]['moreKeys'] = undefined;
139 * Qwertz Germany Letter keyset characters.
141 * @return {!Array.<!Object>}
143 i18n.input.chrome.inputview.content.compact.letter.keyQwertzCharacters =
146 i18n.input.chrome.inputview.content.compact.letter.keyQwertyCharacters();
147 data[2]['moreKeys'] = ['\u00E9', '\u00E8', '\u00EA', '\u00EB', '\u0117'];
148 data[7]['moreKeys'] = undefined;
149 data[12]['moreKeys'] = ['\u00DF', '\u015B', '\u0161'];
150 data[24]['moreKeys'] = undefined;
151 data[27]['moreKeys'] = ['\u00F1', '\u0144'];
160 * Common azerty Letter keyset characters.
162 * @return {!Array.<!Object>}
164 i18n.input.chrome.inputview.content.compact.letter.keyAzertyCharacters =
167 /* 0 */ { 'text': 'a', 'hintText': '1',
168 'moreKeys': ['\u00E0', '\u00E2', '\u00E6', '\u00E1', '\u00E4',
169 '\u00E3', '\u00E5', '\u0101', '\u00AA']},
170 /* 1 */ { 'text': 'z', 'hintText': '2' },
171 /* 2 */ { 'text': 'e', 'hintText': '3',
172 'moreKeys': ['\u00E9', '\u00E8', '\u00EA', '\u00EB', '\u0119',
173 '\u0117', '\u0113']},
174 /* 3 */ { 'text': 'r', 'hintText': '4' },
175 /* 4 */ { 'text': 't', 'hintText': '5' },
176 /* 5 */ { 'text': 'y', 'hintText': '6',
177 'moreKeys': ['\u00FF']},
178 /* 6 */ { 'text': 'u', 'hintText': '7',
179 'moreKeys': ['\u00F9', '\u00FB', '\u00FC', '\u00FA', '\u016B']},
180 /* 7 */ { 'text': 'i', 'hintText': '8',
181 'moreKeys': ['\u00EE', '\u00EF', '\u00EC', '\u00ED', '\u012F',
183 /* 8 */ { 'text': 'o', 'hintText': '9',
184 'moreKeys': ['\u00F4', '\u0153', '\u00F6', '\u00F2', '\u00F3', '\u00F5',
185 '\u00F8', '\u014D', '\u00BA']},
186 /* 9 */ { 'text': 'p', 'hintText': '0' },
187 /* 10 */ NonLetterKeys.BACKSPACE,
188 /* 11 */ { 'text': 'q' },
189 /* 12 */ { 'text': 's' },
190 /* 13 */ { 'text': 'd' },
191 /* 14 */ { 'text': 'f' },
192 /* 15 */ { 'text': 'g' },
193 /* 16 */ { 'text': 'h' },
194 /* 17 */ { 'text': 'j' },
195 /* 18 */ { 'text': 'k' },
196 /* 19 */ { 'text': 'l' },
197 /* 20 */ { 'text': 'm' },
198 /* 21 */ NonLetterKeys.ENTER,
199 /* 22 */ NonLetterKeys.LEFT_SHIFT,
200 /* 23 */ { 'text': 'w' },
201 /* 24 */ { 'text': 'x' },
202 /* 25 */ { 'text': 'c',
203 'moreKeys': ['\u00E7', '\u0107', '\u010D']},
204 /* 26 */ { 'text': 'v' },
205 /* 27 */ { 'text': 'b' },
206 /* 28 */ { 'text': 'n' },
207 /* 29 */ { 'text': '\'',
208 'moreKeys': ['\u2018', '\u201A', '\u2019', '\u2039', '\u203A']},
209 /* 30 */ { 'text': '!',
210 'moreKeys': ['\u00A1']},
211 /* 31 */ { 'text': '?',
212 'moreKeys': ['\u00BF']},
213 /* 32 */ NonLetterKeys.RIGHT_SHIFT,
214 /* 33 */ NonLetterKeys.SWITCHER,
215 /* 34 */ NonLetterKeys.GLOBE,
216 /* 35 */ NonLetterKeys.MENU,
217 /* 36 */ { 'text': '/', 'isGrey': true },
218 /* 37 */ NonLetterKeys.SPACE,
219 /* 38 */ { 'text': ',', 'isGrey': true },
220 /* 39 */ { 'text': '.', 'isGrey': true,
221 'moreKeys': ['\u0023', '\u0021', '\u005C', '\u003F', '\u002D', '\u003A',
222 '\u0027', '\u0040']},
223 /* 40 */ NonLetterKeys.HIDE
229 * Basic nordic Letter keyset characters(based on Finish).
231 * @return {!Array.<!Object>}
233 i18n.input.chrome.inputview.content.compact.letter.keyNordicCharacters =
236 /* 0 */ { 'text': 'q', 'hintText': '1' },
237 /* 1 */ { 'text': 'w', 'hintText': '2' },
238 /* 2 */ { 'text': 'e', 'hintText': '3' },
239 /* 3 */ { 'text': 'r', 'hintText': '4' },
240 /* 4 */ { 'text': 't', 'hintText': '5' },
241 /* 5 */ { 'text': 'y', 'hintText': '6' },
242 /* 6 */ { 'text': 'u', 'hintText': '7',
243 'moreKeys': ['\u00FC']},
244 /* 7 */ { 'text': 'i', 'hintText': '8' },
245 /* 8 */ { 'text': 'o', 'hintText': '9',
246 'moreKeys': ['\u00F8', '\u00F4', '\u00F2', '\u00F3', '\u00F5', '\u0153',
248 /* 9 */ { 'text': 'p', 'hintText': '0' },
249 /* 10 */ { 'text': '\u00e5' },
250 /* 11 */ NonLetterKeys.BACKSPACE,
251 /* 12 */ { 'text': 'a',
252 'moreKeys': ['\u00E6', '\u00E0', '\u00E1', '\u00E2', '\u00E3',
254 /* 13 */ { 'text': 's',
255 'moreKeys': ['\u0161', '\u00DF', '\u015B']},
256 /* 14 */ { 'text': 'd' },
257 /* 15 */ { 'text': 'f' },
258 /* 16 */ { 'text': 'g' },
259 /* 17 */ { 'text': 'h' },
260 /* 18 */ { 'text': 'j' },
261 /* 19 */ { 'text': 'k' },
262 /* 20 */ { 'text': 'l' },
263 /* 21 */ { 'text': '\u00f6',
264 'moreKeys': ['\u00F8']},
265 /* 22 */ { 'text': '\u00e4',
266 'moreKeys': ['\u00E6']},
267 /* 23 */ NonLetterKeys.ENTER,
268 /* 24 */ NonLetterKeys.LEFT_SHIFT,
269 /* 25 */ { 'text': 'z', 'marginLeftPercent': 0.33,
270 'moreKeys': ['\u017E', '\u017A', '\u017C']},
271 /* 26 */ { 'text': 'x' },
272 /* 27 */ { 'text': 'c' },
273 /* 28 */ { 'text': 'v' },
274 /* 29 */ { 'text': 'b' },
275 /* 30 */ { 'text': 'n' },
276 /* 31 */ { 'text': 'm' },
277 /* 32 */ { 'text': '!',
278 'moreKeys': ['\u00A1']},
279 /* 33 */ { 'text': '?', 'marginRightPercent': 0.33,
280 'moreKeys': ['\u00BF']},
281 /* 34 */ NonLetterKeys.RIGHT_SHIFT,
282 /* 35 */ NonLetterKeys.SWITCHER,
283 /* 36 */ NonLetterKeys.GLOBE,
284 /* 37 */ NonLetterKeys.MENU,
285 /* 38 */ { 'text': '/', 'isGrey': true },
286 /* 39 */ NonLetterKeys.SPACE,
287 /* 40 */ { 'text': ',', 'isGrey': true },
288 /* 41 */ { 'text': '.', 'isGrey': true,
289 'moreKeys': ['\u0023', '\u0021', '\u005C', '\u003F', '\u002D', '\u003A',
290 '\u0027', '\u0040']},
291 /* 42 */ NonLetterKeys.HIDE
297 * Sweden nordic Letter keyset characters.
299 * @return {!Array.<!Object>}
301 i18n.input.chrome.inputview.content.compact.letter.keySwedenCharacters =
304 i18n.input.chrome.inputview.content.compact.letter.keyNordicCharacters();
305 data[2]['moreKeys'] = ['\u00E9', '\u00E8', '\u00EA', '\u00EB',
307 data[3]['moreKeys'] = ['\u0159']; // r
308 data[4]['moreKeys'] = ['\u0165', '\u00FE']; // t
309 data[5]['moreKeys'] = ['\u00FD', '\u00FF']; // y
310 data[6]['moreKeys'] = ['\u00FC', '\u00FA', '\u00F9', '\u00FB',
312 data[7]['moreKeys'] = ['\u00ED', '\u00EC', '\u00EE', '\u00EF']; // i
313 data[8]['moreKeys'] = ['\u00F3', '\u00F2', '\u00F4', '\u00F5',
315 data[12]['moreKeys'] = ['\u00E1', '\u00E0', '\u00E2', '\u0105',
317 data[13]['moreKeys'] = ['\u015B', '\u0161', '\u015F', '\u00DF']; // s
318 data[14]['moreKeys'] = ['\u00F0', '\u010F']; // d
319 data[20]['moreKeys'] = ['\u0142']; // l
320 data[21]['moreKeys'] = ['\u00F8', '\u0153'];
321 data[22]['moreKeys'] = ['\u00E6'];
322 data[25]['moreKeys'] = ['\u017A', '\u017E', '\u017C']; //z
323 data[27]['moreKeys'] = ['\u00E7', '\u0107', '\u010D']; //c
324 data[30]['moreKeys'] = ['\u0144', '\u00F1', '\u0148']; //n
331 * Norway nordic Letter keyset characters.
333 * @return {!Array.<!Object>}
335 i18n.input.chrome.inputview.content.compact.letter.keyNorwayCharacters =
338 i18n.input.chrome.inputview.content.compact.letter.keyNordicCharacters();
339 data[2]['moreKeys'] = ['\u00E9', '\u00E8', '\u00EA', '\u00EB', '\u0119',
340 '\u0117', '\u0113']; // e
341 data[6]['moreKeys'] = ['\u00FC', '\u00FB', '\u00F9', '\u00FA',
343 data[8]['moreKeys'] = ['\u00F4', '\u00F2', '\u00F3', '\u00F6', '\u00F5',
344 '\u0153', '\u014D']; // o
345 data[12]['moreKeys'] = ['\u00E0', '\u00E4', '\u00E1', '\u00E2', '\u00E3',
347 data[13]['moreKeys'] = undefined; //s
348 data[21]['moreKeys'] = ['\u00F6'];
349 data[22]['moreKeys'] = ['\u00E4'];
350 data[25]['moreKeys'] = undefined; //z
352 data[21]['text'] = '\u00f8';
353 data[22]['text'] = '\u00e6';
360 * Denmark nordic Letter keyset characters.
362 * @return {!Array.<!Object>}
364 i18n.input.chrome.inputview.content.compact.letter.keyDenmarkCharacters =
367 i18n.input.chrome.inputview.content.compact.letter.keyNordicCharacters();
368 data[2]['moreKeys'] = ['\u00E9', '\u00EB']; // e
369 data[5]['moreKeys'] = ['\u00FD', '\u00FF']; // y
370 data[6]['moreKeys'] = ['\u00FA', '\u00FC', '\u00FB', '\u00F9',
372 data[7]['moreKeys'] = ['\u00ED', '\u00EF']; // i
373 data[8]['moreKeys'] = ['\u00F3', '\u00F4', '\u00F2', '\u00F5',
374 '\u0153', '\u014D']; // o
375 data[12]['moreKeys'] = ['\u00E1', '\u00E4', '\u00E0', '\u00E2', '\u00E3',
377 data[13]['moreKeys'] = ['\u00DF', '\u015B', '\u0161']; // s
378 data[14]['moreKeys'] = ['\u00F0']; // d
379 data[20]['moreKeys'] = ['\u0142']; // l
380 data[21]['moreKeys'] = ['\u00E4'];
381 data[22]['moreKeys'] = ['\u00F6'];
382 data[25]['moreKeys'] = undefined; //z
383 data[30]['moreKeys'] = ['\u00F1', '\u0144']; //n
385 data[21]['text'] = '\u00e6';
386 data[22]['text'] = '\u00f8';
393 * Pinyin keyset characters.
395 * @return {!Array.<!Object>}
397 i18n.input.chrome.inputview.content.compact.letter.keyPinyinCharacters =
400 /* 0 */ { 'text': 'q', 'hintText': '1',
401 'moreKeys': ['\u0051', '\u0071']},
402 /* 1 */ { 'text': 'w', 'hintText': '2',
403 'moreKeys': ['\u0057', '\u0077']},
404 /* 2 */ { 'text': 'e', 'hintText': '3',
405 'moreKeys': ['\u0045', '\u0065']},
406 /* 3 */ { 'text': 'r', 'hintText': '4',
407 'moreKeys': ['\u0052', '\u0072']},
408 /* 4 */ { 'text': 't', 'hintText': '5',
409 'moreKeys': ['\u0054', '\u0074']},
410 /* 5 */ { 'text': 'y', 'hintText': '6',
411 'moreKeys': ['\u0059', '\u0079']},
412 /* 6 */ { 'text': 'u', 'hintText': '7',
413 'moreKeys': ['\u0055', '\u0075']},
414 /* 7 */ { 'text': 'i', 'hintText': '8',
415 'moreKeys': ['\u0049', '\u0069'] },
416 /* 8 */ { 'text': 'o', 'hintText': '9',
417 'moreKeys': ['\u004F', '\u006F']},
418 /* 9 */ { 'text': 'p', 'hintText': '0',
419 'moreKeys': ['\u0050', '\u0070']},
420 /* 10 */ NonLetterKeys.BACKSPACE,
421 /* 11 */ { 'text': 'a', 'hintText': '@', 'marginLeftPercent': 0.33,
422 'moreKeys': ['\u0041', '\u0061']},
423 /* 12 */ { 'text': 's', 'hintText': '*',
424 'moreKeys': ['\u0053', '\u0073']},
425 /* 13 */ { 'text': 'd', 'hintText': '+',
426 'moreKeys': ['\u0044', '\u0064']},
427 /* 14 */ { 'text': 'f', 'hintText': '-',
428 'moreKeys': ['\u0046', '\u0066']},
429 /* 15 */ { 'text': 'g', 'hintText': '=',
430 'moreKeys': ['\u0047', '\u0067']},
431 /* 16 */ { 'text': 'h', 'hintText': '/',
432 'moreKeys': ['\u0048', '\u0068']},
433 /* 17 */ { 'text': 'j', 'hintText': '#',
434 'moreKeys': ['\u004a', '\u006a']},
435 /* 18 */ { 'text': 'k', 'hintText': '\uff08',
436 'moreKeys': ['\u004b', '\u006b']},
437 /* 19 */ { 'text': 'l', 'hintText': '\uff09',
438 'moreKeys': ['\u004c', '\u006c']},
439 /* 20 */ NonLetterKeys.ENTER,
440 /* 21 */ NonLetterKeys.LEFT_SHIFT,
441 /* 22 */ { 'text': 'z', 'hintText': '\u3001',
442 'moreKeys': ['\u005a', '\u007a']},
443 /* 23 */ { 'text': 'x', 'hintText': '\uff1a',
444 'moreKeys': ['\u0058', '\u0078']},
445 /* 24 */ { 'text': 'c', 'hintText': '\"',
446 'moreKeys': ['\u0043', '\u0063']},
447 /* 25 */ { 'text': 'v', 'hintText': '\uff1f',
448 'moreKeys': ['\u0056', '\u0076']},
449 /* 26 */ { 'text': 'b', 'hintText': '\uff01',
450 'moreKeys': ['\u0042', '\u0062']},
451 /* 27 */ { 'text': 'n', 'hintText': '\uff5e',
452 'moreKeys': ['\u004e', '\u006e']},
453 /* 28 */ { 'text': 'm', 'hintText': '.',
454 'moreKeys': ['\u004d', '\u006d']},
455 /* 29 */ { 'text': '\uff01',
456 'moreKeys': ['\u00A1']},
457 /* 30 */ { 'text': '\uff1f',
458 'moreKeys': ['\u00BF']},
459 /* 31 */ NonLetterKeys.RIGHT_SHIFT,
460 /* 32 */ NonLetterKeys.SWITCHER,
461 /* 33 */ NonLetterKeys.GLOBE,
462 /* 34 */ NonLetterKeys.MENU,
463 /* 35 */ { 'text': '\uff0c', 'isGrey': true },
464 /* 36 */ NonLetterKeys.SPACE,
465 /* 37 */ { 'text': '\u3002', 'isGrey': true },
466 /* 38 */ NonLetterKeys.SWITCHER,
467 /* 39 */ NonLetterKeys.HIDE
469 for (var i = 0; i <= 9; i++) {
470 data[i]['moreKeysShiftOperation'] = MoreKeysShiftOperation.TO_LOWER_CASE;
472 for (var i = 11; i <= 19; i++) {
473 data[i]['moreKeysShiftOperation'] = MoreKeysShiftOperation.TO_LOWER_CASE;
475 for (var i = 22; i <= 28; i++) {
476 data[i]['moreKeysShiftOperation'] = MoreKeysShiftOperation.TO_LOWER_CASE;
483 * English mode of pinyin keyset characters.
485 * @return {!Array.<!Object>}
487 i18n.input.chrome.inputview.content.compact.letter.keyEnCharacters =
490 i18n.input.chrome.inputview.content.compact.letter.keyPinyinCharacters();
491 for (var i = 0; i <= 9; i++) {
492 data[i]['moreKeys'].pop();
494 for (var i = 11; i <= 19; i++) {
495 data[i]['moreKeys'].pop();
497 for (var i = 22; i <= 28; i++) {
498 data[i]['moreKeys'].pop();
500 data[12]['hintText'] = '*';
501 data[14]['hintText'] = '\u002d';
502 data[16]['hintText'] = '/';
503 data[18]['hintText'] = '\u0028';
504 data[19]['hintText'] = '\u0029';
505 data[22]['hintText'] = '\u0027';
506 data[23]['hintText'] = '\u003a';
507 data[25]['hintText'] = '\u003f';
508 data[26]['hintText'] = '\u0021';
509 data[27]['hintText'] = '\u007e';
510 data[28]['hintText'] = '\u2026';
511 data[29]['text'] = '\u0021';
512 data[30]['text'] = '\u003f';
513 data[35]['text'] = '\u002c';
514 data[37]['text'] = '.';
519 * Zhuyin keyset characters.
521 * @return {!Array.<!Object>}
523 i18n.input.chrome.inputview.content.compact.letter.keyZhuyinCharacters =
526 /* 0 */ { 'text': '\u3105', 'hintText': '1',
527 'moreKeys': ['\uff01']},
528 /* 1 */ { 'text': '\u3109', 'hintText': '2',
530 /* 2 */ { 'text': '\u02c7', 'hintText': '3',
532 /* 3 */ { 'text': '\u02cb', 'hintText': '4',
534 /* 4 */ { 'text': '\u3113', 'hintText': '5',
536 /* 5 */ { 'text': '\u02ca', 'hintText': '6',
538 /* 6 */ { 'text': '\u02d9', 'hintText': '7',
540 /* 7 */ { 'text': '\u311a', 'hintText': '8',
542 /* 8 */ { 'text': '\u311e', 'hintText': '9',
543 'moreKeys': ['\uff08']},
544 /* 9 */ { 'text': '\u3122', 'hintText': '0',
545 'moreKeys': ['\uff09']},
547 /* 10 */ { 'text': '\u3106', 'hintText': 'q',
548 'moreKeys': ['Q'], 'textCode': ['Q']},
549 /* 11 */ { 'text': '\u310a', 'hintText': 'w',
550 'moreKeys': ['W'], 'codeKeys': ['Q']},
551 /* 12 */ { 'text': '\u310d', 'hintText': 'e',
552 'moreKeys': ['E'], 'textCode': ['Q']},
553 /* 13 */ { 'text': '\u3110', 'hintText': 'r',
555 /* 14 */ { 'text': '\u3114', 'hintText': 't',
557 /* 15 */ { 'text': '\u3117', 'hintText': 'y',
559 /* 16 */ { 'text': '\u3127', 'hintText': 'u',
561 /* 17 */ { 'text': '\u311b', 'hintText': 'i',
563 /* 18 */ { 'text': '\u311f', 'hintText': 'o',
565 /* 19 */ { 'text': '\u3123', 'hintText': 'p',
568 /* 20 */ { 'text': '\u3107', 'hintText': 'a',
570 /* 21 */ { 'text': '\u310B', 'hintText': 's',
572 /* 22 */ { 'text': '\u310e', 'hintText': 'd',
574 /* 23 */ { 'text': '\u3111', 'hintText': 'f',
576 /* 24 */ { 'text': '\u3115', 'hintText': 'g',
578 /* 25 */ { 'text': '\u3118', 'hintText': 'h',
580 /* 26 */ { 'text': '\u3128', 'hintText': 'j',
582 /* 27 */ { 'text': '\u311c', 'hintText': 'k',
584 /* 28 */ { 'text': '\u3120', 'hintText': 'l',
586 /* 29 */ { 'text': '\u3124', 'hintText': '\uff1a'},
588 /* 30 */ { 'text': '\u3108', 'hintText': 'z',
590 /* 31 */ { 'text': '\u310c', 'hintText': 'x',
592 /* 32 */ { 'text': '\u310f', 'hintText': 'c',
594 /* 33 */ { 'text': '\u3112', 'hintText': 'v',
596 /* 34 */ { 'text': '\u3116', 'hintText': 'b',
598 /* 35 */ { 'text': '\u3119', 'hintText': 'n',
600 /* 36 */ { 'text': '\u3129', 'hintText': 'm',
602 /* 37 */ { 'text': '\u311d', 'hintText': '\u2026'},
603 /* 38 */ { 'text': '\u3121', 'hintText': '\uff01'},
604 /* 39 */ { 'text': '\u3125', 'hintText': '\uff1f'},
606 /* 40 */ NonLetterKeys.BACKSPACE,
607 /* 41 */ NonLetterKeys.ENTER,
608 /* 42 */ NonLetterKeys.RIGHT_SHIFT,
610 /* 43 */ NonLetterKeys.SWITCHER,
611 /* 44 */ NonLetterKeys.GLOBE,
612 /* 45 */ NonLetterKeys.MENU,
613 /* 46 */ { 'text': '\uff0c', 'isGrey': true },
614 /* 47 */ NonLetterKeys.SPACE,
615 /* 48 */ { 'text': '\u3126', 'isGrey': false },
616 /* 49 */ { 'text': '\u3002', 'isGrey': true },
617 /* 50 */ NonLetterKeys.SWITCHER,
618 /* 51 */ NonLetterKeys.HIDE
620 for (var i = 0; i <= 39; i++) {
621 data[i]['moreKeysShiftOperation'] = MoreKeysShiftOperation.TO_LOWER_CASE;
623 for (var i = 0; i <= 39; i++) {
624 data[i]['onShift'] = (data[i]['hintText']).toUpperCase();