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 ['\u00b2', '\u00b3', '\u00ac', '\u00ac'], // TLDE
29 ['\u0026', '\u0031', '\u007c', '\u00a1'], // AE01
30 ['\u00e9', '\u0032', '\u0040', '\u215b'], // AE02
31 ['\u0022', '\u0033', '\u0023', '\u00a3'], // AE03
32 ['\u0027', '\u0034', '\u00bc', '\u0024'], // AE04
33 ['\u0028', '\u0035', '\u00bd', '\u215c'], // AE05
34 ['\u00a7', '\u0036', '\u005e', '\u215d'], // AE06
35 ['\u00e8', '\u0037', '\u007b', '\u215e'], // AE07
36 ['\u0021', '\u0038', '\u005b', '\u2122'], // AE08
37 ['\u00e7', '\u0039', '\u007b', '\u00b1'], // AE09
38 ['\u00e0', '\u0030', '\u007d', '\u00b0'], // AE10
39 ['\u0029', '\u00b0', '\u005c', '\u00bf'], // AE11
40 ['\u002d', '\u005f', '\u0327', '\u0328'], // AE12
41 ['\u0061', '\u0041', '\u0040', '\u03a9'], // AD01
42 ['\u007a', '\u005a', '\u0142', '\u0141'], // AD02
43 ['\u0065', '\u0045', '\u20ac', '\u00a2'], // AD03
44 ['\u0072', '\u0052', '\u00b6', '\u00ae'], // AD04
45 ['\u0074', '\u0054', '\u0167', '\u0166'], // AD05
46 ['\u0079', '\u0059', '\u2190', '\u00a5'], // AD06
47 ['\u0075', '\u0055', '\u2193', '\u2191'], // AD07
48 ['\u0069', '\u0049', '\u2192', '\u0131'], // AD08
49 ['\u006f', '\u004f', '\u0153', '\u0152'], // AD09
50 ['\u0070', '\u0050', '\u00fe', '\u00de'], // AD10
51 ['\u0302', '\u0308', '\u005b', '\u030a'], // AD11
52 ['\u0024', '\u002a', '\u005d', '\u0304'], // AD12
53 ['\u0071', '\u0051', '\u00e6', '\u00c6'], // AC01
54 ['\u0073', '\u0053', '\u00df', '\u00a7'], // AC02
55 ['\u0064', '\u0044', '\u00f0', '\u00d0'], // AC03
56 ['\u0066', '\u0046', '\u0111', '\u00aa'], // AC04
57 ['\u0067', '\u0047', '\u014b', '\u014a'], // AC05
58 ['\u0068', '\u0048', '\u0127', '\u0126'], // AC06
59 ['\u006a', '\u004a', '\u0309', '\u031b'], // AC07
60 ['\u006b', '\u004b', '\u0138', '\u0026'], // AC08
61 ['\u006c', '\u004c', '\u0142', '\u0141'], // AC09
62 ['\u006d', '\u004d', '\u0301', '\u030b'], // AC10
63 ['\u00f9', '\u0025', '\u0301', '\u030c'], // AC11
64 ['\u00b5', '\u00a3', '\u0300', '\u0306'], // BKSL
65 ['\u003c', '\u003e', '\u005c', '\u005c'], // LSGT
66 ['\u0077', '\u0057', '\u00ab', '\u003c'], // AB01
67 ['\u0078', '\u0058', '\u00bb', '\u003e'], // AB02
68 ['\u0063', '\u0043', '\u00a2', '\u00a9'], // AB03
69 ['\u0076', '\u0056', '\u201c', '\u2018'], // AB04
70 ['\u0062', '\u0042', '\u201d', '\u2019'], // AB05
71 ['\u006e', '\u004e'], // AB06
72 ['\u002c', '\u003f', '\u0327', '\u00ba'], // AB07
73 ['\u003b', '\u002e', '\u0000', '\u00d7'], // AB08
74 ['\u003a', '\u002f', '\u00b7', '\u00f7'], // AB09
75 ['\u003d', '\u002b', '\u0303', '\u0307'], // AB10
76 ['\u0020', '\u0020'] // SPCE
131 var data = i18n.input.chrome.inputview.content.util.createData(
132 keyCharacters, viewIdPrefix_, true, true, keyCodes, 'be.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] = 'be.compact.qwerty';
140 letterKeysetSpec[keysetSpecNode.LAYOUT] = 'compactkbd-qwerty';
141 letterKeysetSpec[keysetSpecNode.DATA] =
142 i18n.input.chrome.inputview.content.compact.letter.keyBelgianCharacters();
144 var symbolKeysetSpec = {};
145 symbolKeysetSpec[keysetSpecNode.ID] = 'be.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] = 'be.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] = 'be.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] = 'be.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);