Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(151)

Unified Diff: third_party/google_input_tools/src/chrome/os/inputview/config/jp_data.js

Issue 697653003: Add google-input-tools resources (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Defer build patch for later CL. Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/google_input_tools/src/chrome/os/inputview/config/jp_data.js
diff --git a/third_party/google_input_tools/src/chrome/os/inputview/config/jp_data.js b/third_party/google_input_tools/src/chrome/os/inputview/config/jp_data.js
new file mode 100644
index 0000000000000000000000000000000000000000..9899cb5661213564f977927c37fac21d182ddad9
--- /dev/null
+++ b/third_party/google_input_tools/src/chrome/os/inputview/config/jp_data.js
@@ -0,0 +1,315 @@
+// 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.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.content.util');
+goog.require('i18n.input.chrome.inputview.elements.ElementType');
+
+(function() {
+ var Css = i18n.input.chrome.inputview.Css;
+ var Direction = i18n.input.chrome.inputview.Direction;
+ var ElementType = i18n.input.chrome.inputview.elements.ElementType;
+ var SpecNodeName = i18n.input.chrome.inputview.SpecNodeName;
+ var util = i18n.input.chrome.inputview.content.util;
+
+
+ /**
+ * The physical key codes for Japanese keyboard.
+ *
+ * @type {!Array.<string>}
+ */
+ var keyIds = [
+ 'Digit1',
+ 'Digit2',
+ 'Digit3',
+ 'Digit4',
+ 'Digit5',
+ 'Digit6',
+ 'Digit7',
+ 'Digit8',
+ 'Digit9',
+ 'Digit0',
+ 'Minus',
+ 'Equal',
+ 'IntlYen',
+
+ 'KeyQ',
+ 'KeyW',
+ 'KeyE',
+ 'KeyR',
+ 'KeyT',
+ 'KeyY',
+ 'KeyU',
+ 'KeyI',
+ 'KeyO',
+ 'KeyP',
+ 'BracketLeft',
+ 'BracketRight',
+
+ 'KeyA',
+ 'KeyS',
+ 'KeyD',
+ 'KeyF',
+ 'KeyG',
+ 'KeyH',
+ 'KeyJ',
+ 'KeyK',
+ 'KeyL',
+ 'Semicolon',
+ 'Quote',
+ 'Backslash',
+
+ 'KeyZ',
+ 'KeyX',
+ 'KeyC',
+ 'KeyV',
+ 'KeyB',
+ 'KeyN',
+ 'KeyM',
+ 'Comma',
+ 'Period',
+ 'Slash',
+ 'IntlRo'
+ ];
+
+
+ /**
+ * Creates the Japanese keyset data.
+ *
+ * @param {!Array.<!Array.<string>>} keyCharacters The key characters.
+ * @param {string} viewIdPrefix The prefix of the view.
+ * @param {!Array.<!Array.<number>>} keyCodes The key codes.
+ * @return {!Object} The key data.
+ */
+ var createData = function(keyCharacters, viewIdPrefix, keyCodes) {
+ var keyList = [];
+ keyList.push(util.createIMESwitchKey('Toggle', '英漢', Css.JP_IME_SWITCH));
+ goog.array.forEach(keyCharacters, function(c, i) {
+ var spec = {};
+ spec[SpecNodeName.ID] = keyIds[i];
+ spec[SpecNodeName.TYPE] = ElementType.CHARACTER_KEY;
+ spec[SpecNodeName.CHARACTERS] = c;
+ spec[SpecNodeName.KEY_CODE] = keyCodes[i];
+ var key = util.createKey(spec);
+ keyList.push(key);
+ });
+
+ goog.array.insertAt(keyList, util.createBackspaceKey(), 14);
+ goog.array.insertAt(keyList, util.createTabKey(), 15);
+ goog.array.insertAt(keyList, util.createCapslockKey(), 28);
+ goog.array.insertAt(keyList, util.createEnterKey(), 41);
+ goog.array.insertAt(keyList, util.createShiftKey(true), 42);
+ keyList.push(util.createShiftKey(false));
+ keyList.push(util.createGlobeKey());
+ keyList.push(util.createMenuKey());
+ keyList.push(util.createCtrlKey());
+ keyList.push(util.createAltKey());
+ keyList.push(util.createIMESwitchKey(
+ 'NonConvert', '英数', Css.JP_IME_SWITCH));
+ keyList.push(util.createSpaceKey());
+ keyList.push(util.createIMESwitchKey('Convert', 'かな', Css.JP_IME_SWITCH));
+ keyList.push(util.createArrowKey(Direction.LEFT));
+ keyList.push(util.createArrowKey(Direction.RIGHT));
+ keyList.push(util.createHideKeyboardKey());
+
+ var mapping = {};
+ goog.array.forEach(keyList, function(key, i) {
+ mapping[key['spec'][SpecNodeName.ID]] = viewIdPrefix + i;
+ });
+
+ var result = [];
+ result[SpecNodeName.KEY_LIST] = keyList;
+ result[SpecNodeName.MAPPING] = mapping;
+ result[SpecNodeName.LAYOUT] = 'jpkbd';
+ result[SpecNodeName.HAS_ALTGR_KEY] = false;
+ result[SpecNodeName.HAS_COMPACT_KEYBOARD] = false;
+ result[SpecNodeName.SHOW_MENU_KEY] = true;
+ return result;
+ };
+
+ var viewIdPrefix_ = 'jpkbd-k-';
+ var jpKeyCharacters = [
+ ['1', '!'], // AE01
+ ['2', '"'], // AE02
+ ['3', '#'], // AE03
+ ['4', '$'], // AE04
+ ['5', '%'], // AE05
+ ['6', '&'], // AE06
+ ['7', '\''],// AE07
+ ['8', '('], // AE08
+ ['9', ')'], // AE09
+ ['0', '0'], // AE10
+ ['-', '='], // AE11
+ ['^', '~'], // AE12
+ ['\\', '|'], // IntlYen
+
+ ['q', 'Q'], // AD01
+ ['w', 'W'], // AD02
+ ['e', 'E'], // AD03
+ ['r', 'R'], // AD04
+ ['t', 'T'], // AD05
+ ['y', 'Y'], // AD06
+ ['u', 'U'], // AD07
+ ['i', 'I'], // AD08
+ ['o', 'O'], // AD09
+ ['p', 'P'], // AD10
+ ['@', '`'], // AD11
+ ['[', '{'], // AD12
+
+ ['a', 'A'], // AC01
+ ['s', 'S'], // AC02
+ ['d', 'D'], // AC03
+ ['f', 'F'], // AC04
+ ['g', 'G'], // AC05
+ ['h', 'H'], // AC06
+ ['j', 'J'], // AC07
+ ['k', 'K'], // AC08
+ ['l', 'L'], // AC09
+ [';', '+'], // AC10
+ [':', '*'], // AC11
+ [']', '}'], // BKSL
+
+ ['z', 'Z'], // AB01
+ ['x', 'X'], // AB02
+ ['c', 'C'], // AB03
+ ['v', 'V'], // AB04
+ ['b', 'B'], // AB05
+ ['n', 'N'], // AB06
+ ['m', 'M'], // AB07
+ [',', '<'], // AB08
+ ['.', '>'], // AB09
+ ['/', '?'], // AB10
+ ['\\', '_'] // IntlRo
+ ]; // 46
+
+
+ var keyCodes = [
+ 0x31, // AE01
+ 0x32, // AE02
+ 0x33, // AE03
+ 0x34, // AE04
+ 0x35, // AE05
+ 0x36, // AE06
+ 0x37, // AE07
+ 0x38, // AE08
+ 0x39, // AE09
+ 0x30, // AE10
+ 0xBD, // AE11
+ 0xBB, // AE12
+ 0xFF, // IntlYen
+
+ 0x51, // AD01
+ 0x57, // AD02
+ 0x45, // AD03
+ 0x52, // AD04
+ 0x54, // AD05
+ 0x59, // AD06
+ 0x55, // AD07
+ 0x49, // AD08
+ 0x4F, // AD09
+ 0x50, // AD10
+ 0xDB, // AD11
+ 0xDD, // AD12
+
+ 0x41, // AC01
+ 0x53, // AC02
+ 0x44, // AC03
+ 0x46, // AC04
+ 0x47, // AC05
+ 0x48, // AC06
+ 0x4A, // AC07
+ 0x4B, // AC08
+ 0x4C, // AC09
+ 0xBA, // AC10
+ 0xDE, // AC11
+ 0xDC, // BKSL
+
+ 0x5A, // AB01
+ 0x58, // AB02
+ 0x43, // AB03
+ 0x56, // AB04
+ 0x42, // AB05
+ 0x4E, // AB06
+ 0x4D, // AB07
+ 0xBC, // AB08
+ 0xBE, // AB09
+ 0xBF, // AB10
+ 0xC1 // IntlRo
+ ]; // 46
+ var jpData = createData(jpKeyCharacters, viewIdPrefix_, keyCodes);
+ jpData['id'] = 'jp';
+ google.ime.chrome.inputview.onConfigLoaded(jpData);
+
+
+ // Creates kana keyset.
+ var kanaKeyCharacters = [
+ ['\u306C'], // 'ぬ', AE01
+ ['\u3075'], // 'ふ', AE02
+ ['\u3042', '\u3041'], // 'あ', 'ぁ', AE03
+ ['\u3046', '\u3045'], // 'う', 'ぅ', AE04
+ ['\u3048', '\u3047'], // 'え', 'ぇ', AE05
+ ['\u304A', '\u3049'], // 'お', 'ぉ', AE06
+ ['\u3084', '\u3083'], // 'や', 'ゃ', AE07
+ ['\u3086', '\u3085'], // 'ゆ', 'ゅ', AE08
+ ['\u3088', '\u3087'], // 'よ', 'ょ', AE09
+ ['\u308F', '\u3092'], // 'わ', 'を', AE10
+ ['\u307B'], // 'ほ', AE11
+ ['\u3078'], // 'へ', AE12
+ ['\u30FC'], // 'ー', IntlYen
+
+ ['\u305F'], // 'た', AD01
+ ['\u3066'], // 'て', AD02
+ ['\u3044', '\u3043'], // 'い', 'ぃ', AD03
+ ['\u3059'], // 'す', AD04
+ ['\u304B'], // 'か', AD05
+ ['\u3093'], // 'ん', AD06
+ ['\u306A'], // 'な', AD07
+ ['\u306B'], // 'に', AD08
+ ['\u3089'], // 'ら', AD09
+ ['\u305B'], // 'せ', AD10
+ ['\u309B'], // '゛', AD11
+ ['\u309C', '\u300C'], // '゜', '「', AD12
+
+ ['\u3061'], // 'ち', AC01
+ ['\u3068'], // 'と', AC02
+ ['\u3057'], // 'し', AC03
+ ['\u306F'], // 'は', AC04
+ ['\u304D'], // 'き', AC05
+ ['\u304F'], // 'く', AC06
+ ['\u307E'], // 'ま', AC07
+ ['\u306E'], // 'の', AC08
+ ['\u308A'], // 'り', AC09
+ ['\u308C'], // 'れ', AC10
+ ['\u3051'], // 'け', AC11
+ ['\u3080', '\u300D'], // 'む', '」', BKSL
+
+ ['\u3064', '\u3063'], // 'つ', 'っ', AB01
+ ['\u3055'], // 'さ', AB02
+ ['\u305D'], // 'そ', AB03
+ ['\u3072'], // 'ひ', AB04
+ ['\u3053'], // 'こ', AB05
+ ['\u307F'], // 'み', AB06
+ ['\u3082'], // 'も', AB07
+ ['\u306D', '\u3001'], // 'ね', '、', AB08
+ ['\u308B', '\u3002'], // 'る', '。', AB09
+ ['\u3081', '\u30FB'], // 'め', '・', AB10
+ ['\u308D'] // 'ろ', IntlRo
+ ]; // 46
+
+ var kanaData = createData(kanaKeyCharacters, viewIdPrefix_, keyCodes);
+ kanaData['id'] = 'jp-kana';
+ google.ime.chrome.inputview.onConfigLoaded(kanaData);
+})(); // goog.scope;

Powered by Google App Engine
This is Rietveld 408576698