Update to google-input-tools version 1.0.5.0
[chromium-blink-merge.git] / third_party / google_input_tools / src / chrome / os / inputview / layouts / rowsofcompact.js
blobffb29c592e23e0400081e1a07a4da24595a62de3
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");
14 goog.provide('i18n.input.chrome.inputview.layouts.RowsOfCompact');
15 goog.provide('i18n.input.chrome.inputview.layouts.RowsOfCompactAzerty');
16 goog.provide('i18n.input.chrome.inputview.layouts.RowsOfCompactNordic');
17 goog.provide('i18n.input.chrome.inputview.layouts.RowsOfCompactZhuyin');
19 goog.require('i18n.input.chrome.inputview.layouts.util');
22 /**
23  * Creates the top three rows for compact qwerty keyboard.
24  *
25  * @return {!Array.<!Object>} The rows.
26  */
27 i18n.input.chrome.inputview.layouts.RowsOfCompact.create = function() {
28   var baseKeySpec = {
29     'widthInWeight': 1,
30     'heightInWeight': 1
31   };
33   // Row1
34   var keySequenceOf10 = i18n.input.chrome.inputview.layouts.util.
35       createKeySequence(baseKeySpec, 10);
36   var backspaceKey = i18n.input.chrome.inputview.layouts.util.createKey({
37     'widthInWeight': 1.2
38   });
39   var row1 = i18n.input.chrome.inputview.layouts.util.createLinearLayout({
40     'id': 'row1',
41     'children': [keySequenceOf10, backspaceKey]
42   });
44   // Row2
45   // How to add padding
46   var leftKeyWithPadding = i18n.input.chrome.inputview.layouts.util.createKey({
47       'widthInWeight': 1.5
48   });
49   var keySequenceOf8 = i18n.input.chrome.inputview.layouts.util.
50       createKeySequence(baseKeySpec, 8);
51   var enterKey = i18n.input.chrome.inputview.layouts.util.createKey({
52     'widthInWeight': 1.7
53   });
54   var row2 = i18n.input.chrome.inputview.layouts.util.createLinearLayout({
55     'id': 'row2',
56     'children': [leftKeyWithPadding, keySequenceOf8, enterKey]
57   });
59   // Row3
60   var shiftLeftKey = i18n.input.chrome.inputview.layouts.util.createKey({
61     'widthInWeight': 1.1
62   });
63   var keySequenceOf9 = i18n.input.chrome.inputview.layouts.util.
64       createKeySequence(baseKeySpec, 9);
65   var shiftRightKey = i18n.input.chrome.inputview.layouts.util.createKey({
66     'widthInWeight': 1.1
67   });
68   var row3 = i18n.input.chrome.inputview.layouts.util.createLinearLayout({
69     'id': 'row3',
70     'children': [shiftLeftKey, keySequenceOf9, shiftRightKey]
71   });
73   return [row1, row2, row3];
76 /**
77  * Creates the top three rows for compact azerty keyboard.
78  *
79  * @return {!Array.<!Object>} The rows.
80  */
81 i18n.input.chrome.inputview.layouts.RowsOfCompactAzerty.create = function() {
82   var baseKeySpec = {
83     'widthInWeight': 1,
84     'heightInWeight': 1
85   };
87   // Row1
88   var keySequenceOf10 = i18n.input.chrome.inputview.layouts.util.
89       createKeySequence(baseKeySpec, 10);
90   var backspaceKey = i18n.input.chrome.inputview.layouts.util.createKey({
91     'widthInWeight': 1.2
92   });
93   var row1 = i18n.input.chrome.inputview.layouts.util.createLinearLayout({
94     'id': 'row1',
95     'children': [keySequenceOf10, backspaceKey]
96   });
98   // Row2
99   keySequenceOf10 = i18n.input.chrome.inputview.layouts.util.
100       createKeySequence(baseKeySpec, 10);
101   var enterKey = i18n.input.chrome.inputview.layouts.util.createKey({
102     'widthInWeight': 1.2
103   });
104   var row2 = i18n.input.chrome.inputview.layouts.util.createLinearLayout({
105     'id': 'row2',
106     'children': [keySequenceOf10, enterKey]
107   });
109   // Row3
110   var shiftLeftKey = i18n.input.chrome.inputview.layouts.util.createKey({
111     'widthInWeight': 1.1
112   });
113   var keySequenceOf9 = i18n.input.chrome.inputview.layouts.util.
114       createKeySequence(baseKeySpec, 9);
115   var shiftRightKey = i18n.input.chrome.inputview.layouts.util.createKey({
116     'widthInWeight': 1.1
117   });
118   var row3 = i18n.input.chrome.inputview.layouts.util.createLinearLayout({
119     'id': 'row3',
120     'children': [shiftLeftKey, keySequenceOf9, shiftRightKey]
121   });
123   return [row1, row2, row3];
127  * Creates the top three rows for compact nordic keyboard.
129  * @return {!Array.<!Object>} The rows.
130  */
131 i18n.input.chrome.inputview.layouts.RowsOfCompactNordic.create = function() {
132   var baseKeySpec = {
133     'widthInWeight': 1,
134     'heightInWeight': 1
135   };
137   // Row1
138   var keySequenceOf11 = i18n.input.chrome.inputview.layouts.util.
139       createKeySequence(baseKeySpec, 11);
140   var backspaceKey = i18n.input.chrome.inputview.layouts.util.createKey({
141     'widthInWeight': 1.2
142   });
143   var row1 = i18n.input.chrome.inputview.layouts.util.createLinearLayout({
144     'id': 'row1',
145     'children': [keySequenceOf11, backspaceKey]
146   });
148   // Row2
149   keySequenceOf11 = i18n.input.chrome.inputview.layouts.util.
150       createKeySequence(baseKeySpec, 11);
151   var enterKey = i18n.input.chrome.inputview.layouts.util.createKey({
152     'widthInWeight': 1.2
153   });
154   var row2 = i18n.input.chrome.inputview.layouts.util.createLinearLayout({
155     'id': 'row2',
156     'children': [keySequenceOf11, enterKey]
157   });
159   // Row3
160   var shiftLeftKey = i18n.input.chrome.inputview.layouts.util.createKey({
161     'widthInWeight': 1.1
162   });
163   var leftKeyWithPadding = i18n.input.chrome.inputview.layouts.util.createKey({
164       'widthInWeight': 1.5
165   });
166   var keySequenceOf7 = i18n.input.chrome.inputview.layouts.util.
167       createKeySequence(baseKeySpec, 7);
168   var rightKeyWithPadding = i18n.input.chrome.inputview.layouts.util.createKey({
169       'widthInWeight': 1.5
170   });
171   var shiftRightKey = i18n.input.chrome.inputview.layouts.util.createKey({
172     'widthInWeight': 1.1
173   });
174   var row3 = i18n.input.chrome.inputview.layouts.util.createLinearLayout({
175     'id': 'row3',
176     'children': [shiftLeftKey, leftKeyWithPadding, keySequenceOf7,
177         rightKeyWithPadding, shiftRightKey]
178   });
179   return [row1, row2, row3];
184  * Creates the top rows of compact zhuyin.
186  * @return {!Array.<!Object>} The rows.
187  */
188 i18n.input.chrome.inputview.layouts.RowsOfCompactZhuyin.create = function() {
189    var baseKeySpec = {
190     'widthInWeight': 1.01,
191     'heightInWeight': 3
192   };
194   // Row1
195   var keysOfRow1 = i18n.input.chrome.inputview.layouts.util.
196       createKeySequence(baseKeySpec, 10);
197   var row1 = i18n.input.chrome.inputview.layouts.util.createLinearLayout({
198     'id': 'row1',
199     'children': [keysOfRow1]
200   });
202   // Row2
203   var keysOfRow2 = i18n.input.chrome.inputview.layouts.util.
204       createKeySequence(baseKeySpec, 10);
205   var row2 = i18n.input.chrome.inputview.layouts.util.createLinearLayout({
206     'id': 'row2',
207     'children': [keysOfRow2]
208   });
210   //Row3
211   var keysOfRow3 = i18n.input.chrome.inputview.layouts.util.
212       createKeySequence(baseKeySpec, 10);
213   var row3 = i18n.input.chrome.inputview.layouts.util.createLinearLayout({
214     'id': 'row3',
215     'children': [keysOfRow3]
216   });
218   // Row4
219   var keysOfRow4 = i18n.input.chrome.inputview.layouts.util.
220       createKeySequence(baseKeySpec, 10);
221   var row4 = i18n.input.chrome.inputview.layouts.util.createLinearLayout({
222     'id': 'row4',
223     'children': [keysOfRow4]
224   });
226   var topFourRows =
227       i18n.input.chrome.inputview.layouts.util.createVerticalLayout({
228     'id': 'topFourRows',
229     'children': [row1, row2, row3, row4]
230   });
232   var sideKeySpec = {
233     'widthInWeight': 1.1,
234     'heightInWeight': 4
235   };
236   var backspaceKey =
237       i18n.input.chrome.inputview.layouts.util.createKey(sideKeySpec);
238   var enterKey =
239       i18n.input.chrome.inputview.layouts.util.createKey(sideKeySpec);
240   var shiftKey =
241       i18n.input.chrome.inputview.layouts.util.createKey(sideKeySpec);
243   var sideKeys = i18n.input.chrome.inputview.layouts.util.createVerticalLayout({
244     'id': 'sideKeys',
245     'children': [backspaceKey, enterKey, shiftKey]
246   });
248   var topRows = i18n.input.chrome.inputview.layouts.util.createLinearLayout({
249     'id': 'topRows',
250     'children': [topFourRows, sideKeys]
251   });
252   return [topRows];