Upstream version 11.40.271.0
[platform/framework/web/crosswalk.git] / src / third_party / google_input_tools / src / chrome / os / inputview / config / compact_letter_characters.js
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
7 //
8 //      http://www.apache.org/licenses/LICENSE-2.0
9 //
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");
13 //
14 goog.provide('i18n.input.chrome.inputview.content.compact.letter');
15
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');
19
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;
24
25
26 /**
27  * Common qwerty Letter keyset characters.
28  *
29  * @return {!Array.<!Object>}
30  */
31 i18n.input.chrome.inputview.content.compact.letter.keyQwertyCharacters =
32     function() {
33   return [
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',
47         '\u014D', '\u00F5']},
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',
52         '\u00E5', '\u0101']},
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',
89         '\u0027', '\u0040']},
90     /* 39 */ NonLetterKeys.HIDE
91   ];
92 };
93
94
95 /**
96  * Belgian Letter keyset characters.
97  *
98  * @return {!Array.<!Object>}
99  */
100 i18n.input.chrome.inputview.content.compact.letter.keyBelgianCharacters =
101     function() {
102   var data =
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'];
112   return data;
113 };
114
115
116 /**
117  * Icelandic Letter keyset characters.
118  *
119  * @return {!Array.<!Object>}
120  */
121 i18n.input.chrome.inputview.content.compact.letter.keyIcelandicCharacters =
122     function() {
123   var data =
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',
130                          '\u012B'];  // i
131   data[12]['moreKeys'] = undefined;
132   data[13]['moreKeys'] = ['\u00F0'];
133   data[24]['moreKeys'] = undefined;
134   return data;
135 };
136
137
138 /**
139  * Qwertz Germany Letter keyset characters.
140  *
141  * @return {!Array.<!Object>}
142  */
143 i18n.input.chrome.inputview.content.compact.letter.keyQwertzCharacters =
144     function() {
145   var data =
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'];
152
153   data[5].text = 'z';
154   data[22].text = 'y';
155   return data;
156 };
157
158
159 /**
160  * Common azerty Letter keyset characters.
161  *
162  * @return {!Array.<!Object>}
163  */
164 i18n.input.chrome.inputview.content.compact.letter.keyAzertyCharacters =
165     function() {
166   return [
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',
182         '\u012B']},
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
224   ];
225 };
226
227
228 /**
229  * Basic nordic Letter keyset characters(based on Finish).
230  *
231  * @return {!Array.<!Object>}
232  */
233 i18n.input.chrome.inputview.content.compact.letter.keyNordicCharacters =
234     function() {
235   return [
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',
247         '\u014D']},
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',
253         '\u0101']},
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
292   ];
293 };
294
295
296 /**
297  * Sweden nordic Letter keyset characters.
298  *
299  * @return {!Array.<!Object>}
300  */
301 i18n.input.chrome.inputview.content.compact.letter.keySwedenCharacters =
302     function() {
303   var data =
304       i18n.input.chrome.inputview.content.compact.letter.keyNordicCharacters();
305   data[2]['moreKeys'] = ['\u00E9', '\u00E8', '\u00EA', '\u00EB',
306                          '\u0119'];  // e
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',
311                          '\u016B'];  // u
312   data[7]['moreKeys'] = ['\u00ED', '\u00EC', '\u00EE', '\u00EF'];  // i
313   data[8]['moreKeys'] = ['\u00F3', '\u00F2', '\u00F4', '\u00F5',
314                          '\u014D'];  // o
315   data[12]['moreKeys'] = ['\u00E1', '\u00E0', '\u00E2', '\u0105',
316                           '\u00E3'];  // a
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
325
326   return data;
327 };
328
329
330 /**
331  * Norway nordic Letter keyset characters.
332  *
333  * @return {!Array.<!Object>}
334  */
335 i18n.input.chrome.inputview.content.compact.letter.keyNorwayCharacters =
336     function() {
337   var data =
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',
342                          '\u016B'];  // u
343   data[8]['moreKeys'] = ['\u00F4', '\u00F2', '\u00F3', '\u00F6', '\u00F5',
344                          '\u0153', '\u014D'];  // o
345   data[12]['moreKeys'] = ['\u00E0', '\u00E4', '\u00E1', '\u00E2', '\u00E3',
346                           '\u0101'];  // a
347   data[13]['moreKeys'] = undefined;  //s
348   data[21]['moreKeys'] = ['\u00F6'];
349   data[22]['moreKeys'] = ['\u00E4'];
350   data[25]['moreKeys'] = undefined;  //z
351
352   data[21]['text'] = '\u00f8';
353   data[22]['text'] = '\u00e6';
354
355   return data;
356 };
357
358
359 /**
360  * Denmark nordic Letter keyset characters.
361  *
362  * @return {!Array.<!Object>}
363  */
364 i18n.input.chrome.inputview.content.compact.letter.keyDenmarkCharacters =
365     function() {
366   var data =
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',
371                          '\u016B'];  // u
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',
376                           '\u0101'];  // a
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
384
385   data[21]['text'] = '\u00e6';
386   data[22]['text'] = '\u00f8';
387
388   return data;
389 };
390
391
392 /**
393  * Pinyin keyset characters.
394  *
395  * @return {!Array.<!Object>}
396  */
397 i18n.input.chrome.inputview.content.compact.letter.keyPinyinCharacters =
398     function() {
399   var data = [
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
468   ];
469   for (var i = 0; i <= 9; i++) {
470     data[i]['moreKeysShiftOperation'] = MoreKeysShiftOperation.TO_LOWER_CASE;
471   }
472   for (var i = 11; i <= 19; i++) {
473     data[i]['moreKeysShiftOperation'] = MoreKeysShiftOperation.TO_LOWER_CASE;
474   }
475   for (var i = 22; i <= 28; i++) {
476     data[i]['moreKeysShiftOperation'] = MoreKeysShiftOperation.TO_LOWER_CASE;
477   }
478   return data;
479 };
480
481
482 /**
483  * English mode of pinyin keyset characters.
484  *
485  * @return {!Array.<!Object>}
486  */
487 i18n.input.chrome.inputview.content.compact.letter.keyEnCharacters =
488     function() {
489   var data =
490       i18n.input.chrome.inputview.content.compact.letter.keyPinyinCharacters();
491   for (var i = 0; i <= 9; i++) {
492     data[i]['moreKeys'].pop();
493   }
494   for (var i = 11; i <= 19; i++) {
495     data[i]['moreKeys'].pop();
496   }
497   for (var i = 22; i <= 28; i++) {
498     data[i]['moreKeys'].pop();
499   }
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'] = '.';
515   return data;
516 };
517
518 /**
519  * Zhuyin keyset characters.
520  *
521  * @return {!Array.<!Object>}
522  */
523 i18n.input.chrome.inputview.content.compact.letter.keyZhuyinCharacters =
524     function() {
525   var data = [
526     /* 0 */ { 'text': '\u3105', 'hintText': '1',
527       'moreKeys': ['\uff01']},
528     /* 1 */ { 'text': '\u3109', 'hintText': '2',
529       'moreKeys': ['@']},
530     /* 2 */ { 'text': '\u02c7', 'hintText': '3',
531       'moreKeys': ['#']},
532     /* 3 */ { 'text': '\u02cb', 'hintText': '4',
533       'moreKeys': ['$']},
534     /* 4 */ { 'text': '\u3113', 'hintText': '5',
535       'moreKeys': ['%']},
536     /* 5 */ { 'text': '\u02ca', 'hintText': '6',
537       'moreKeys': ['^']},
538     /* 6 */ { 'text': '\u02d9', 'hintText': '7',
539       'moreKeys': ['&']},
540     /* 7 */ { 'text': '\u311a', 'hintText': '8',
541       'moreKeys': ['*'] },
542     /* 8 */ { 'text': '\u311e', 'hintText': '9',
543       'moreKeys': ['\uff08']},
544     /* 9 */ { 'text': '\u3122', 'hintText': '0',
545       'moreKeys': ['\uff09']},
546
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',
554       'moreKeys': ['R']},
555     /* 14 */ { 'text': '\u3114', 'hintText': 't',
556       'moreKeys': ['T']},
557     /* 15 */ { 'text': '\u3117', 'hintText': 'y',
558       'moreKeys': ['Y']},
559     /* 16 */ { 'text': '\u3127', 'hintText': 'u',
560       'moreKeys': ['U']},
561     /* 17 */ { 'text': '\u311b', 'hintText': 'i',
562       'moreKeys': ['I']},
563     /* 18 */ { 'text': '\u311f', 'hintText': 'o',
564       'moreKeys': ['O']},
565     /* 19 */ { 'text': '\u3123', 'hintText': 'p',
566       'moreKeys': ['P']},
567
568     /* 20 */ { 'text': '\u3107', 'hintText': 'a',
569       'moreKeys': ['A']},
570     /* 21 */ { 'text': '\u310B', 'hintText': 's',
571       'moreKeys': ['S']},
572     /* 22 */ { 'text': '\u310e', 'hintText': 'd',
573       'moreKeys': ['D']},
574     /* 23 */ { 'text': '\u3111', 'hintText': 'f',
575       'moreKeys': ['F']},
576     /* 24 */ { 'text': '\u3115', 'hintText': 'g',
577       'moreKeys': ['G']},
578     /* 25 */ { 'text': '\u3118', 'hintText': 'h',
579       'moreKeys': ['H']},
580     /* 26 */ { 'text': '\u3128', 'hintText': 'j',
581       'moreKeys': ['J']},
582     /* 27 */ { 'text': '\u311c', 'hintText': 'k',
583       'moreKeys': ['K']},
584     /* 28 */ { 'text': '\u3120', 'hintText': 'l',
585       'moreKeys': ['L']},
586     /* 29 */ { 'text': '\u3124', 'hintText': '\uff1a'},
587
588     /* 30 */ { 'text': '\u3108', 'hintText': 'z',
589       'moreKeys': ['Z']},
590     /* 31 */ { 'text': '\u310c', 'hintText': 'x',
591       'moreKeys': ['X']},
592     /* 32 */ { 'text': '\u310f', 'hintText': 'c',
593       'moreKeys': ['C']},
594     /* 33 */ { 'text': '\u3112', 'hintText': 'v',
595       'moreKeys': ['V']},
596     /* 34 */ { 'text': '\u3116', 'hintText': 'b',
597       'moreKeys': ['B'] },
598     /* 35 */ { 'text': '\u3119', 'hintText': 'n',
599       'moreKeys': ['N']},
600     /* 36 */ { 'text': '\u3129', 'hintText': 'm',
601       'moreKeys': ['M']},
602     /* 37 */ { 'text': '\u311d', 'hintText': '\u2026'},
603     /* 38 */ { 'text': '\u3121', 'hintText': '\uff01'},
604     /* 39 */ { 'text': '\u3125', 'hintText': '\uff1f'},
605
606     /* 40 */ NonLetterKeys.BACKSPACE,
607     /* 41 */ NonLetterKeys.ENTER,
608     /* 42 */ NonLetterKeys.RIGHT_SHIFT,
609
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
619   ];
620   for (var i = 0; i <= 39; i++) {
621     data[i]['moreKeysShiftOperation'] = MoreKeysShiftOperation.TO_LOWER_CASE;
622   }
623   for (var i = 0; i <= 39; i++) {
624     data[i]['onShift'] = (data[i]['hintText']).toUpperCase();
625   }
626   return data;
627 };
628 });  // goog.scope