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.require('i18n.input.chrome.inputview.content.ContextlayoutUtil');
15 goog.require('i18n.input.chrome.inputview.content.compact.letter');
16 goog.require('i18n.input.chrome.inputview.content.compact.more');
17 goog.require('i18n.input.chrome.inputview.content.compact.numberpad');
18 goog.require('i18n.input.chrome.inputview.content.compact.symbol');
19 goog.require('i18n.input.chrome.inputview.content.compact.util');
20 goog.require('i18n.input.chrome.inputview.content.util');
21 goog.require('i18n.input.chrome.message.ContextType');
24 var ContextType = i18n.input.chrome.message.ContextType;
25 var viewIdPrefix_ = '102kbd-k-';
28 ['\u00a7', '\u00bd', '\u0000', '\u0000'], // TLDE
29 ['\u0031', '\u0021', '\u0000', '\u00a1'], // AE01
30 ['\u0032', '\u0022', '\u0040', '\u201d'], // AE02
31 ['\u0033', '\u0023', '\u00a3', '\u00bb'], // AE03
32 ['\u0034', '\u00a4', '\u0024', '\u00ab'], // AE04
33 ['\u0035', '\u0025', '\u2030', '\u201c'], // AE05
34 ['\u0036', '\u0026', '\u201a', '\u201e'], // AE06
35 ['\u0037', '\u002f', '\u007b', '\u0000'], // AE07
36 ['\u0038', '\u0028', '\u005b', '\u003c'], // AE08
37 ['\u0039', '\u0029', '\u005d', '\u003e'], // AE09
38 ['\u0030', '\u003d', '\u007d', '\u00b0'], // AE10
39 ['\u002b', '\u003f', '\u005c', '\u00bf'], // AE11
40 ['\u0301', '\u0300', '\u0327', '\u0328'], // AE12
41 ['\u0071', '\u0051'], // AD01
42 ['\u0077', '\u0057'], // AD02
43 ['\u0065', '\u0045', '\u20ac', '\u0000'], // AD03
44 ['\u0072', '\u0052'], // AD04
45 ['\u0074', '\u0054', '\u00fe', '\u00de'], // AD05
46 ['\u0079', '\u0059'], // AD06
47 ['\u0075', '\u0055'], // AD07
48 ['\u0069', '\u0049', '\u0131', '\u007c'], // AD08
49 ['\u006f', '\u004f', '\u0153', '\u0152'], // AD09
50 ['\u0070', '\u0050', '\u031b', '\u0309'], // AD10
51 ['\u00e5', '\u00c5', '\u030b', '\u030a'], // AD11
52 ['\u0308', '\u0302', '\u0303', '\u0304'], // AD12
53 ['\u0061', '\u0041', '\u0259', '\u018f'], // AC01
54 ['\u0073', '\u0053', '\u00df', '\u0000'], // AC02
55 ['\u0064', '\u0044', '\u00f0', '\u00d0'], // AC03
56 ['\u0066', '\u0046'], // AC04
57 ['\u0067', '\u0047'], // AC05
58 ['\u0068', '\u0048'], // AC06
59 ['\u006a', '\u004a'], // AC07
60 ['\u006b', '\u004b', '\u0138', '\u0000'], // AC08
61 ['\u006c', '\u004c', '\u0000', '\u0000'], // AC09
62 ['\u00f6', '\u00d6', '\u00f8', '\u00d8'], // AC10
63 ['\u00e4', '\u00c4', '\u00e6', '\u00c6'], // AC11
64 ['\u0027', '\u002a', '\u030c', '\u0306'], // BKSL
65 ['\u003c', '\u003e', '\u007c', '\u00a6'], // LSGT
66 ['\u007a', '\u005a', '\u0292', '\u01b7'], // AB01
67 ['\u0078', '\u0058', '\u00d7', '\u00b7'], // AB02
68 ['\u0063', '\u0043'], // AB03
69 ['\u0076', '\u0056'], // AB04
70 ['\u0062', '\u0042'], // AB05
71 ['\u006e', '\u004e', '\u014b', '\u014a'], // AB06
72 ['\u006d', '\u004d', '\u00b5', '\u2014'], // AB07
73 ['\u002c', '\u003b', '\u2019', '\u2018'], // AB08
74 ['\u002e', '\u003a', '\u0323', '\u0307'], // AB09
75 ['\u002d', '\u005f', '\u2013', '\u0000'], // AB10
76 ['\u0020', '\u0020', '\u00a0', '\u00a0'] // SPCE
131 var data = i18n.input.chrome.inputview.content.util.createData(
132 keyCharacters, viewIdPrefix_, true, true, keyCodes, 'fi.compact.qwerty');
134 google.ime.chrome.inputview.onConfigLoaded(data);
137 i18n.input.chrome.inputview.content.compact.util.CompactKeysetSpec;
138 var letterKeysetSpec = {};
139 letterKeysetSpec[keysetSpecNode.ID] = 'fi.compact.qwerty';
140 letterKeysetSpec[keysetSpecNode.LAYOUT] = 'compactkbd-nordic';
141 letterKeysetSpec[keysetSpecNode.DATA] =
142 i18n.input.chrome.inputview.content.compact.letter.keyNordicCharacters();
144 var symbolKeysetSpec = {};
145 symbolKeysetSpec[keysetSpecNode.ID] = 'fi.compact.symbol';
146 symbolKeysetSpec[keysetSpecNode.LAYOUT] = 'compactkbd-qwerty';
147 symbolKeysetSpec[keysetSpecNode.DATA] = i18n.input.chrome.inputview.content.
148 compact.symbol.keyEUSymbolCharacters();
150 var moreKeysetSpec = {};
151 moreKeysetSpec[keysetSpecNode.ID] = 'fi.compact.more';
152 moreKeysetSpec[keysetSpecNode.LAYOUT] = 'compactkbd-qwerty';
153 moreKeysetSpec[keysetSpecNode.DATA] =
154 i18n.input.chrome.inputview.content.compact.more.keyEUMoreCharacters();
156 i18n.input.chrome.inputview.content.compact.util.generateCompactKeyboard(
157 letterKeysetSpec, symbolKeysetSpec, moreKeysetSpec,
158 google.ime.chrome.inputview.onConfigLoaded);
160 var inputTypeToKeysetSpecMap = {};
162 var numberKeysetSpec = {};
163 numberKeysetSpec[keysetSpecNode.ID] = 'fi.compact.numberpad';
164 numberKeysetSpec[keysetSpecNode.LAYOUT] = 'compactkbd-numberpad';
165 numberKeysetSpec[keysetSpecNode.DATA] = i18n.input.chrome.inputview.content.
166 compact.numberpad.keyNumberpadCharacters();
167 inputTypeToKeysetSpecMap[ContextType.NUMBER] = numberKeysetSpec;
169 var phoneKeysetSpec = {};
170 phoneKeysetSpec[keysetSpecNode.ID] = 'fi.compact.phonepad';
171 phoneKeysetSpec[keysetSpecNode.LAYOUT] = 'compactkbd-numberpad';
172 phoneKeysetSpec[keysetSpecNode.DATA] = i18n.input.chrome.inputview.content.
173 compact.numberpad.keyPhonepadCharacters();
174 inputTypeToKeysetSpecMap[ContextType.PHONE] = phoneKeysetSpec;
176 i18n.input.chrome.inputview.content.ContextlayoutUtil.generateContextLayouts(
177 inputTypeToKeysetSpecMap, google.ime.chrome.inputview.onConfigLoaded);