| Index: third_party/google_input_tools/src/chrome/os/inputview/config/util.js
|
| diff --git a/third_party/google_input_tools/src/chrome/os/inputview/config/util.js b/third_party/google_input_tools/src/chrome/os/inputview/config/util.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..098e4aa3c1fd35f0b2bf339c8789b9046ad1ab4c
|
| --- /dev/null
|
| +++ b/third_party/google_input_tools/src/chrome/os/inputview/config/util.js
|
| @@ -0,0 +1,605 @@
|
| +// Copyright 2014 The ChromeOS IME Authors. All Rights Reserved.
|
| +// limitations under the License.
|
| +// See the License for the specific language governing permissions and
|
| +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
| +// distributed under the License is distributed on an "AS-IS" BASIS,
|
| +// Unless required by applicable law or agreed to in writing, software
|
| +//
|
| +// http://www.apache.org/licenses/LICENSE-2.0
|
| +//
|
| +// You may obtain a copy of the License at
|
| +// you may not use this file except in compliance with the License.
|
| +// Licensed under the Apache License, Version 2.0 (the "License");
|
| +//
|
| +goog.provide('i18n.input.chrome.inputview.content.util');
|
| +
|
| +goog.require('goog.array');
|
| +goog.require('i18n.input.chrome.inputview.Css');
|
| +goog.require('i18n.input.chrome.inputview.Direction');
|
| +goog.require('i18n.input.chrome.inputview.SpecNodeName');
|
| +goog.require('i18n.input.chrome.inputview.StateType');
|
| +goog.require('i18n.input.chrome.inputview.elements.ElementType');
|
| +
|
| +goog.scope(function() {
|
| +var ElementType = i18n.input.chrome.inputview.elements.ElementType;
|
| +var SpecNodeName = i18n.input.chrome.inputview.SpecNodeName;
|
| +
|
| +
|
| +/**
|
| + * The prefix of the key id.
|
| + *
|
| + * @type {string}
|
| + * @private
|
| + */
|
| +i18n.input.chrome.inputview.content.util.keyIdPrefix_ = 'sk-';
|
| +
|
| +
|
| +/**
|
| + * Creates the hide keyboard key.
|
| + *
|
| + * @return {!Object} The hide keyboard key.
|
| + */
|
| +i18n.input.chrome.inputview.content.util.createHideKeyboardKey = function() {
|
| + var spec = {};
|
| + spec[SpecNodeName.ICON_CSS_CLASS] =
|
| + i18n.input.chrome.inputview.Css.HIDE_KEYBOARD_ICON;
|
| + spec[SpecNodeName.TYPE] = ElementType.HIDE_KEYBOARD_KEY;
|
| + spec[SpecNodeName.ID] = 'HideKeyboard';
|
| + return i18n.input.chrome.inputview.content.util.createKey(spec);
|
| +};
|
| +
|
| +
|
| +/**
|
| + * Creates a shift key.
|
| + *
|
| + * @param {boolean} isLeft True if this is the left shift key.
|
| + * @param {boolean=} opt_supportSticky True if support sticky shift key.
|
| + * @return {!Object} The shift key.
|
| + */
|
| +i18n.input.chrome.inputview.content.util.createShiftKey = function(isLeft,
|
| + opt_supportSticky) {
|
| + var spec = {};
|
| + spec[SpecNodeName.TO_STATE] = i18n.input.chrome.inputview.StateType.SHIFT;
|
| + spec[SpecNodeName.ICON_CSS_CLASS] =
|
| + i18n.input.chrome.inputview.Css.SHIFT_ICON;
|
| + spec[SpecNodeName.TYPE] = ElementType.MODIFIER_KEY;
|
| + spec[SpecNodeName.ID] = isLeft ? 'ShiftLeft' : 'ShiftRight';
|
| + spec[SpecNodeName.SUPPORT_STICKY] = !!opt_supportSticky;
|
| + return i18n.input.chrome.inputview.content.util.createKey(spec);
|
| +};
|
| +
|
| +
|
| +/**
|
| + * Creates a globe key.
|
| + *
|
| + * @return {!Object} The globe key.
|
| + */
|
| +i18n.input.chrome.inputview.content.util.createGlobeKey = function() {
|
| + var spec = {};
|
| + spec[SpecNodeName.ICON_CSS_CLASS] =
|
| + i18n.input.chrome.inputview.Css.GLOBE_ICON;
|
| + spec[SpecNodeName.TYPE] = ElementType.GLOBE_KEY;
|
| + spec[SpecNodeName.ID] = 'Globe';
|
| + return i18n.input.chrome.inputview.content.util.createKey(spec);
|
| +};
|
| +
|
| +
|
| +/**
|
| + * Creates a menu key.
|
| + *
|
| + * @param {string=} opt_toKeyset The compact keyboard id.
|
| + * @return {!Object} The menu key.
|
| + */
|
| +i18n.input.chrome.inputview.content.util.createMenuKey = function(
|
| + opt_toKeyset) {
|
| + var spec = {};
|
| + spec[SpecNodeName.ICON_CSS_CLASS] =
|
| + i18n.input.chrome.inputview.Css.MENU_ICON;
|
| + spec[SpecNodeName.TO_KEYSET] = opt_toKeyset;
|
| + spec[SpecNodeName.TYPE] = ElementType.MENU_KEY;
|
| + spec[SpecNodeName.ID] = 'Menu';
|
| + return i18n.input.chrome.inputview.content.util.createKey(spec);
|
| +};
|
| +
|
| +
|
| +/**
|
| + * Create the Emoji switch key.
|
| + *
|
| + * @param {string} id The emoji key id.
|
| + * @param {number} toKeyset The keyset that the tabbar represents.
|
| + * @param {i18n.input.chrome.inputview.Css}
|
| + * iconCssClass The icon css for the tabbar.
|
| + * @return {!Object} The emoji key.
|
| + */
|
| +i18n.input.chrome.inputview.content.util.createTabBarKey =
|
| + function(id, toKeyset, iconCssClass) {
|
| + var spec = {};
|
| + spec[SpecNodeName.ICON_CSS_CLASS] = iconCssClass;
|
| + spec[SpecNodeName.TYPE] = ElementType.TAB_BAR_KEY;
|
| + spec[SpecNodeName.ID] = id;
|
| + spec[SpecNodeName.TO_KEYSET] = toKeyset;
|
| + return i18n.input.chrome.inputview.content.util.createKey(spec);
|
| +};
|
| +
|
| +
|
| +/**
|
| + * Create the indicator
|
| + *
|
| + * @param {string} id The indicator id.
|
| + * @return {!Object} The indicator.
|
| + */
|
| +i18n.input.chrome.inputview.content.util.createPageIndicator =
|
| + function(id) {
|
| + var spec = {};
|
| + spec[SpecNodeName.TYPE] = ElementType.PAGE_INDICATOR;
|
| + spec[SpecNodeName.ID] = id;
|
| + return i18n.input.chrome.inputview.content.util.createKey(spec);
|
| +};
|
| +
|
| +
|
| +/**
|
| + * Create the back key for emoji
|
| + *
|
| + * @return {!Object} The back key.
|
| + */
|
| +i18n.input.chrome.inputview.content.util.createBackKey = function() {
|
| + var spec = {};
|
| + spec[SpecNodeName.ICON_CSS_CLASS] =
|
| + i18n.input.chrome.inputview.Css.EMOJI_BACK;
|
| + spec[SpecNodeName.TYPE] = ElementType.BACK_BUTTON;
|
| + spec[SpecNodeName.ID] = 'backkey';
|
| + return i18n.input.chrome.inputview.content.util.createKey(spec);
|
| +};
|
| +
|
| +
|
| +/**
|
| + * Creates a ctrl key.
|
| + *
|
| + * @return {!Object} The ctrl key.
|
| + */
|
| +i18n.input.chrome.inputview.content.util.createCtrlKey = function() {
|
| + var spec = {};
|
| + spec[SpecNodeName.TO_STATE] = i18n.input.chrome.inputview.StateType.CTRL;
|
| + spec[SpecNodeName.NAME] = 'ctrl';
|
| + spec[SpecNodeName.TYPE] = ElementType.MODIFIER_KEY;
|
| + spec[SpecNodeName.ID] = 'ControlLeft';
|
| + return i18n.input.chrome.inputview.content.util.createKey(spec);
|
| +};
|
| +
|
| +
|
| +/**
|
| + * Creates a alt key.
|
| + *
|
| + * @return {!Object} The alt key.
|
| + */
|
| +i18n.input.chrome.inputview.content.util.createAltKey = function() {
|
| + var spec = {};
|
| + spec[SpecNodeName.TO_STATE] = i18n.input.chrome.inputview.StateType.ALT;
|
| + spec[SpecNodeName.NAME] = 'alt';
|
| + spec[SpecNodeName.TYPE] = ElementType.MODIFIER_KEY;
|
| + spec[SpecNodeName.ID] = 'AltLeft';
|
| + return i18n.input.chrome.inputview.content.util.createKey(spec);
|
| +};
|
| +
|
| +
|
| +/**
|
| + * Creates a altgr key.
|
| + *
|
| + * @return {!Object} The altgr key.
|
| + */
|
| +i18n.input.chrome.inputview.content.util.createAltgrKey = function() {
|
| + var spec = {};
|
| + spec[SpecNodeName.TO_STATE] = i18n.input.chrome.inputview.StateType.ALTGR;
|
| + spec[SpecNodeName.NAME] = 'alt gr';
|
| + spec[SpecNodeName.TYPE] = ElementType.MODIFIER_KEY;
|
| + spec[SpecNodeName.ID] = 'AltRight';
|
| + return i18n.input.chrome.inputview.content.util.createKey(spec);
|
| +};
|
| +
|
| +
|
| +/**
|
| + * Creates a key used to switch to english.
|
| + *
|
| + * @return {!Object} The enSwitcher key.
|
| + */
|
| +i18n.input.chrome.inputview.content.util.createEnSwitcherKey =
|
| + function() {
|
| + var spec = {};
|
| + spec[SpecNodeName.TYPE] = ElementType.EN_SWITCHER;
|
| + spec[SpecNodeName.ID] = 'enSwitcher';
|
| + return i18n.input.chrome.inputview.content.util.createKey(spec);
|
| +};
|
| +
|
| +
|
| +/**
|
| + * Creates a capslock key.
|
| + *
|
| + * @return {!Object} The capslock key.
|
| + */
|
| +i18n.input.chrome.inputview.content.util.createCapslockKey = function() {
|
| + var spec = {};
|
| + spec[SpecNodeName.TO_STATE] = i18n.input.chrome.inputview.StateType.CAPSLOCK;
|
| + spec[SpecNodeName.NAME] = 'caps lock';
|
| + spec[SpecNodeName.TYPE] = ElementType.MODIFIER_KEY;
|
| + spec[SpecNodeName.ID] = 'OsLeft';
|
| + return i18n.input.chrome.inputview.content.util.createKey(spec);
|
| +};
|
| +
|
| +
|
| +/**
|
| + * Creates a enter key.
|
| + *
|
| + * @return {!Object} The enter key.
|
| + */
|
| +i18n.input.chrome.inputview.content.util.createEnterKey = function() {
|
| + var spec = {};
|
| + spec[SpecNodeName.ICON_CSS_CLASS] =
|
| + i18n.input.chrome.inputview.Css.ENTER_ICON;
|
| + spec[SpecNodeName.TYPE] = ElementType.ENTER_KEY;
|
| + spec[SpecNodeName.ID] = 'Enter';
|
| + return i18n.input.chrome.inputview.content.util.createKey(spec);
|
| +};
|
| +
|
| +
|
| +/**
|
| + * Creates a tab key.
|
| + *
|
| + * @return {!Object} The tab key.
|
| + */
|
| +i18n.input.chrome.inputview.content.util.createTabKey = function() {
|
| + var spec = {};
|
| + spec[SpecNodeName.ICON_CSS_CLASS] = i18n.input.chrome.inputview.Css.TAB_ICON;
|
| + spec[SpecNodeName.TYPE] = ElementType.TAB_KEY;
|
| + spec[SpecNodeName.ID] = 'Tab';
|
| + return i18n.input.chrome.inputview.content.util.createKey(spec);
|
| +};
|
| +
|
| +
|
| +/**
|
| + * Creates a backspace key.
|
| + *
|
| + * @return {!Object} The backspace key.
|
| + */
|
| +i18n.input.chrome.inputview.content.util.createBackspaceKey = function() {
|
| + var spec = {};
|
| + spec[SpecNodeName.ICON_CSS_CLASS] =
|
| + i18n.input.chrome.inputview.Css.BACKSPACE_ICON;
|
| + spec[SpecNodeName.TYPE] = ElementType.BACKSPACE_KEY;
|
| + spec[SpecNodeName.ID] = 'Backspace';
|
| + return i18n.input.chrome.inputview.content.util.createKey(spec);
|
| +};
|
| +
|
| +
|
| +/**
|
| + * Creates a space key.
|
| + *
|
| + * @return {!Object} The space key.
|
| + */
|
| +i18n.input.chrome.inputview.content.util.createSpaceKey = function() {
|
| + var spec = {};
|
| + spec[SpecNodeName.NAME] = ' ';
|
| + spec[SpecNodeName.TYPE] = ElementType.SPACE_KEY;
|
| + spec[SpecNodeName.ID] = 'Space';
|
| + return i18n.input.chrome.inputview.content.util.createKey(spec);
|
| +};
|
| +
|
| +
|
| +/**
|
| + * Create an IME switch key.
|
| + *
|
| + * @param {string} id .
|
| + * @param {string} name .
|
| + * @param {string} css .
|
| + * @return {!Object} The JP IME switch key.
|
| + */
|
| +i18n.input.chrome.inputview.content.util.createIMESwitchKey =
|
| + function(id, name, css) {
|
| + var spec = {};
|
| + spec[SpecNodeName.NAME] = name;
|
| + spec[SpecNodeName.TYPE] = ElementType.IME_SWITCH;
|
| + spec[SpecNodeName.ID] = id;
|
| + spec[SpecNodeName.TEXT_CSS_CLASS] = css;
|
| + return i18n.input.chrome.inputview.content.util.createKey(spec);
|
| +};
|
| +
|
| +
|
| +/**
|
| + * Creates a normal key.
|
| + *
|
| + * @param {!Object} spec The specification.
|
| + * @return {!Object} The normal key.
|
| + */
|
| +i18n.input.chrome.inputview.content.util.createNormalKey = function(spec) {
|
| + spec[SpecNodeName.TYPE] = ElementType.CHARACTER_KEY;
|
| + return i18n.input.chrome.inputview.content.util.createKey(spec);
|
| +};
|
| +
|
| +
|
| +/**
|
| + * Creates an arrow key.
|
| + *
|
| + * @param {!i18n.input.chrome.inputview.Direction} direction The direction.
|
| + * @return {!Object} The arrow key.
|
| + */
|
| +i18n.input.chrome.inputview.content.util.createArrowKey = function(direction) {
|
| + var spec = {};
|
| + spec[SpecNodeName.ICON_CSS_CLASS] =
|
| + i18n.input.chrome.inputview.Css.ARROW_KEY + ' ';
|
| + if (direction == i18n.input.chrome.inputview.Direction.UP) {
|
| + spec[SpecNodeName.ID] = 'ArrowUp';
|
| + spec[SpecNodeName.ICON_CSS_CLASS] += i18n.input.chrome.inputview.Css.UP_KEY;
|
| + spec[SpecNodeName.TYPE] = ElementType.ARROW_UP;
|
| + } else if (direction == i18n.input.chrome.inputview.Direction.DOWN) {
|
| + spec[SpecNodeName.ID] = 'ArrowDown';
|
| + spec[SpecNodeName.ICON_CSS_CLASS] +=
|
| + i18n.input.chrome.inputview.Css.DOWN_KEY;
|
| + spec[SpecNodeName.TYPE] = ElementType.ARROW_DOWN;
|
| + } else if (direction == i18n.input.chrome.inputview.Direction.LEFT) {
|
| + spec[SpecNodeName.ID] = 'ArrowLeft';
|
| + spec[SpecNodeName.ICON_CSS_CLASS] +=
|
| + i18n.input.chrome.inputview.Css.LEFT_KEY;
|
| + spec[SpecNodeName.TYPE] = ElementType.ARROW_LEFT;
|
| + } else if (direction == i18n.input.chrome.inputview.Direction.RIGHT) {
|
| + spec[SpecNodeName.ID] = 'ArrowRight';
|
| + spec[SpecNodeName.ICON_CSS_CLASS] +=
|
| + i18n.input.chrome.inputview.Css.RIGHT_KEY;
|
| + spec[SpecNodeName.TYPE] = ElementType.ARROW_RIGHT;
|
| + }
|
| + return i18n.input.chrome.inputview.content.util.createKey(spec);
|
| +};
|
| +
|
| +
|
| +/**
|
| + * Creates a soft key.
|
| + *
|
| + * @param {!Object} spec The specification.
|
| + * @return {!Object} The soft key.
|
| + */
|
| +i18n.input.chrome.inputview.content.util.createKey = function(spec) {
|
| + var newSpec = {};
|
| + for (var key in spec) {
|
| + newSpec[key] = spec[key];
|
| + }
|
| + return {
|
| + 'spec': newSpec
|
| + };
|
| +};
|
| +
|
| +
|
| +/**
|
| + * The physical key codes.
|
| + *
|
| + * @type {!Array.<string>}
|
| + */
|
| +i18n.input.chrome.inputview.content.util.KEY_CODES_101 = [
|
| + 'Backquote',
|
| + 'Digit1',
|
| + 'Digit2',
|
| + 'Digit3',
|
| + 'Digit4',
|
| + 'Digit5',
|
| + 'Digit6',
|
| + 'Digit7',
|
| + 'Digit8',
|
| + 'Digit9',
|
| + 'Digit0',
|
| + 'Minus',
|
| + 'Equal',
|
| + 'KeyQ',
|
| + 'KeyW',
|
| + 'KeyE',
|
| + 'KeyR',
|
| + 'KeyT',
|
| + 'KeyY',
|
| + 'KeyU',
|
| + 'KeyI',
|
| + 'KeyO',
|
| + 'KeyP',
|
| + 'BracketLeft',
|
| + 'BracketRight',
|
| + 'Backslash',
|
| + 'KeyA',
|
| + 'KeyS',
|
| + 'KeyD',
|
| + 'KeyF',
|
| + 'KeyG',
|
| + 'KeyH',
|
| + 'KeyJ',
|
| + 'KeyK',
|
| + 'KeyL',
|
| + 'Semicolon',
|
| + 'Quote',
|
| + 'KeyZ',
|
| + 'KeyX',
|
| + 'KeyC',
|
| + 'KeyV',
|
| + 'KeyB',
|
| + 'KeyN',
|
| + 'KeyM',
|
| + 'Comma',
|
| + 'Period',
|
| + 'Slash'
|
| +];
|
| +
|
| +
|
| +/**
|
| + * The physical key codes for 102 keyboard.
|
| + *
|
| + * @type {!Array.<string>}
|
| + */
|
| +i18n.input.chrome.inputview.content.util.KEY_CODES_102 = [
|
| + 'Backquote',
|
| + 'Digit1',
|
| + 'Digit2',
|
| + 'Digit3',
|
| + 'Digit4',
|
| + 'Digit5',
|
| + 'Digit6',
|
| + 'Digit7',
|
| + 'Digit8',
|
| + 'Digit9',
|
| + 'Digit0',
|
| + 'Minus',
|
| + 'Equal',
|
| + 'KeyQ',
|
| + 'KeyW',
|
| + 'KeyE',
|
| + 'KeyR',
|
| + 'KeyT',
|
| + 'KeyY',
|
| + 'KeyU',
|
| + 'KeyI',
|
| + 'KeyO',
|
| + 'KeyP',
|
| + 'BracketLeft',
|
| + 'BracketRight',
|
| + 'KeyA',
|
| + 'KeyS',
|
| + 'KeyD',
|
| + 'KeyF',
|
| + 'KeyG',
|
| + 'KeyH',
|
| + 'KeyJ',
|
| + 'KeyK',
|
| + 'KeyL',
|
| + 'Semicolon',
|
| + 'Quote',
|
| + 'Backslash',
|
| + 'IntlBackslash',
|
| + 'KeyZ',
|
| + 'KeyX',
|
| + 'KeyC',
|
| + 'KeyV',
|
| + 'KeyB',
|
| + 'KeyN',
|
| + 'KeyM',
|
| + 'Comma',
|
| + 'Period',
|
| + 'Slash'
|
| +];
|
| +
|
| +
|
| +/**
|
| + * Creates the key data.
|
| + *
|
| + * @param {!Array.<!Array.<string>>} keyCharacters The key characters.
|
| + * @param {string} viewIdPrefix The prefix of the view.
|
| + * @param {boolean} is102 True if it is a 102 keyboard.
|
| + * @param {boolean} hasAltGrKey True if there is altgr key.
|
| + * @param {!Array.<!Array.<number>>=} opt_keyCodes The key codes.
|
| + * @param {string=} opt_compactKeyboardId The compact keyboard id.
|
| + * @return {!Object} The key data.
|
| + */
|
| +i18n.input.chrome.inputview.content.util.createData = function(keyCharacters,
|
| + viewIdPrefix, is102, hasAltGrKey, opt_keyCodes, opt_compactKeyboardId) {
|
| + var keyList = [];
|
| + var mapping = {};
|
| + var keyCodes = opt_keyCodes || [];
|
| + var keyIds = is102 ? i18n.input.chrome.inputview.content.util.KEY_CODES_102 :
|
| + i18n.input.chrome.inputview.content.util.KEY_CODES_101;
|
| + for (var i = 0; i < keyCharacters.length - 1; i++) {
|
| + var spec = {};
|
| + spec[SpecNodeName.ID] = keyIds[i];
|
| + spec[SpecNodeName.TYPE] = ElementType.CHARACTER_KEY;
|
| + spec[SpecNodeName.CHARACTERS] = keyCharacters[i];
|
| + spec[SpecNodeName.KEY_CODE] = keyCodes[i];
|
| + var key = i18n.input.chrome.inputview.content.util.createKey(spec);
|
| + keyList.push(key);
|
| + }
|
| +
|
| + i18n.input.chrome.inputview.content.util.insertModifierKeys_(keyList,
|
| + is102, opt_compactKeyboardId);
|
| + for (var i = 0; i < keyList.length; i++) {
|
| + var key = keyList[i];
|
| + mapping[key['spec'][SpecNodeName.ID]] = viewIdPrefix + i;
|
| + }
|
| + var layout = is102 ? '102kbd' : '101kbd';
|
| + var result = [];
|
| + result[SpecNodeName.KEY_LIST] = keyList;
|
| + result[SpecNodeName.MAPPING] = mapping;
|
| + result[SpecNodeName.LAYOUT] = layout;
|
| + result[SpecNodeName.HAS_ALTGR_KEY] = hasAltGrKey;
|
| + result[SpecNodeName.HAS_COMPACT_KEYBOARD] = !!opt_compactKeyboardId;
|
| + result[SpecNodeName.SHOW_MENU_KEY] = true;
|
| + return result;
|
| +};
|
| +
|
| +
|
| +/**
|
| + * Creates a switcher key which will switch between keyboards.
|
| + *
|
| + * @param {string} id The id.
|
| + * @param {string} name The name.
|
| + * @param {string|undefined} toKeyset The id of keyset this swicher key should
|
| + * switch to.
|
| + * @param {string} toKeysetName The name of the keyset.
|
| + * @param {string=} opt_iconCssClass The css class for the icon.
|
| + * @param {boolean=} opt_record True to record and next time the keyset will
|
| + * be recalled.
|
| + * @return {!Object} The switcher key.
|
| + */
|
| +i18n.input.chrome.inputview.content.util.createSwitcherKey = function(
|
| + id, name, toKeyset, toKeysetName, opt_iconCssClass, opt_record) {
|
| + var spec = {};
|
| + spec[SpecNodeName.ID] = id;
|
| + spec[SpecNodeName.NAME] = name;
|
| + spec[SpecNodeName.TO_KEYSET] = toKeyset;
|
| + spec[SpecNodeName.TO_KEYSET_NAME] = toKeysetName;
|
| + spec[SpecNodeName.ICON_CSS_CLASS] = opt_iconCssClass;
|
| + spec[SpecNodeName.TYPE] = ElementType.SWITCHER_KEY;
|
| + spec[SpecNodeName.RECORD] = !!opt_record;
|
| + return i18n.input.chrome.inputview.content.util.createKey(spec);
|
| +};
|
| +
|
| +
|
| +/**
|
| + * Inserts modifier keys into the key list.
|
| + *
|
| + * @param {!Array.<!Object>} keyList The key list.
|
| + * @param {boolean} is102 True if it is a 102 keyboard.
|
| + * @param {string=} opt_compactKeyboardId The compact keyboard id.
|
| + * @private
|
| + */
|
| +i18n.input.chrome.inputview.content.util.insertModifierKeys_ = function(
|
| + keyList, is102, opt_compactKeyboardId) {
|
| + goog.array.insertAt(keyList, i18n.input.chrome.inputview.content.util.
|
| + createBackspaceKey(), 13);
|
| + goog.array.insertAt(keyList, i18n.input.chrome.inputview.content.util.
|
| + createTabKey(), 14);
|
| + goog.array.insertAt(keyList, i18n.input.chrome.inputview.content.util.
|
| + createCapslockKey(), is102 ? 27 : 28);
|
| + goog.array.insertAt(keyList, i18n.input.chrome.inputview.content.util.
|
| + createEnterKey(), 40);
|
| + goog.array.insertAt(keyList, i18n.input.chrome.inputview.content.util.
|
| + createShiftKey(true), 41);
|
| + keyList.push(i18n.input.chrome.inputview.content.util.createShiftKey(false));
|
| + i18n.input.chrome.inputview.content.util.addLastRowKeys(
|
| + keyList, is102, opt_compactKeyboardId);
|
| +};
|
| +
|
| +
|
| +/**
|
| + * Inserts modifier keys into the key list.
|
| + *
|
| + * @param {!Array.<!Object>} keyList The key list.
|
| + * @param {boolean} is102 True if it is a 102 keyboard.
|
| + * @param {string=} opt_compactKeyboardId The compact keyboard id.
|
| + */
|
| +i18n.input.chrome.inputview.content.util.addLastRowKeys =
|
| + function(keyList, is102, opt_compactKeyboardId) {
|
| + keyList.push(i18n.input.chrome.inputview.content.util.createGlobeKey());
|
| + keyList.push(i18n.input.chrome.inputview.content.util.createMenuKey(
|
| + opt_compactKeyboardId));
|
| + keyList.push(i18n.input.chrome.inputview.content.util.createCtrlKey());
|
| + keyList.push(i18n.input.chrome.inputview.content.util.createAltKey());
|
| + keyList.push(i18n.input.chrome.inputview.content.util.createSpaceKey());
|
| + keyList.push(i18n.input.chrome.inputview.content.util.createEnSwitcherKey());
|
| + keyList.push(i18n.input.chrome.inputview.content.util.createAltgrKey());
|
| + keyList.push(i18n.input.chrome.inputview.content.util.createArrowKey(
|
| + i18n.input.chrome.inputview.Direction.LEFT));
|
| + keyList.push(i18n.input.chrome.inputview.content.util.createArrowKey(
|
| + i18n.input.chrome.inputview.Direction.RIGHT));
|
| + keyList.push(i18n.input.chrome.inputview.content.util.
|
| + createHideKeyboardKey());
|
| +};
|
| +}); // goog.scope
|
|
|