1ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen// Copyright (c) 2011 The Chromium Authors. All rights reserved.
2bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen// Use of this source code is governed by a BSD-style license that can be
3bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen// found in the LICENSE file.
4bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen
5bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen#include "base/basictypes.h"
6bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen#include "chrome/browser/chromeos/language_preferences.h"
7bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen#include "chrome/common/pref_names.h"
8bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen#include "grit/generated_resources.h"
9bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen
10bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsennamespace chromeos {
11bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsennamespace language_prefs {
12bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen
13bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen// ---------------------------------------------------------------------------
14bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen// For ibus-daemon
15bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen// ---------------------------------------------------------------------------
16bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsenconst char kGeneralSectionName[] = "general";
17bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsenconst char kHotKeySectionName[] = "general/hotkey";
18bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsenconst char kPreloadEnginesConfigName[] = "preload_engines";
19bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsenconst char kNextEngineInMenuConfigName[] = "next_engine_in_menu";
20bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsenconst char kPreviousEngineConfigName[] = "previous_engine";
21bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsenconst char kHotkeyNextEngineInMenu[] =
22bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    "Shift+Alt+Release+Shift_L,Shift+Alt+Release+Meta_L,Control+Shift+space,"
23dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen    "Shift+Alt+Release+Shift_R,Shift+Alt+Release+Meta_R,Zenkaku_Hankaku,Hangul";
24bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsenconst char kHotkeyPreviousEngine[] = "Control+space";
25bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen
26bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen// ---------------------------------------------------------------------------
27bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen// For Traditional Chinese input method (ibus-chewing)
28bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen// ---------------------------------------------------------------------------
29bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsenconst char kChewingSectionName[] = "engine/Chewing";
30bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen
31bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen// We have to sync the |ibus_config_name|s with those in
32bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen// ibus-chewing/files/src/Config.cc.
33bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsenconst LanguageBooleanPrefs kChewingBooleanPrefs[] = {
34bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  { prefs::kLanguageChewingAutoShiftCur, false, "autoShiftCur",
35bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_AUTO_SHIFT_CUR},
36bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  { prefs::kLanguageChewingAddPhraseDirection, false, "addPhraseDirection",
37bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_ADD_PHRASE_DIRECTION},
38ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  /* Temporarily disabled. (crosbug.com/14185)
39bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  { prefs::kLanguageChewingEasySymbolInput, true, "easySymbolInput",
40bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_EASY_SYMBOL_INPUT},
41ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  */
42bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  { prefs::kLanguageChewingEscCleanAllBuf, false, "escCleanAllBuf",
43bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_ESC_CLEAN_ALL_BUF},
44bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  { prefs::kLanguageChewingForceLowercaseEnglish, false,
45bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    "forceLowercaseEnglish",
46bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_FORCE_LOWER_CASE_ENGLISH},
47ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  /* Temporarily disabled. (crosbug.com/14185)
48bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  { prefs::kLanguageChewingPlainZhuyin, false, "plainZhuyin",
49bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_PLAIN_ZHUYIN},
50ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  */
51bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  { prefs::kLanguageChewingPhraseChoiceRearward, true, "phraseChoiceRearward",
52bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_PHRASE_CHOICE_REARWARD},
53bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  { prefs::kLanguageChewingSpaceAsSelection, true, "spaceAsSelection",
54bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_SPACE_AS_SELECTION},
55bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen};
56bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian MonsenCOMPILE_ASSERT(kNumChewingBooleanPrefs == arraysize(kChewingBooleanPrefs),
57bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen               TheSizeShouldMatch);
58bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen
59bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsenconst LanguageIntegerRangePreference kChewingIntegerPrefs[] = {
60bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  { prefs::kLanguageChewingMaxChiSymbolLen, 20, 8, 40, "maxChiSymbolLen",
61bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_MAX_CHI_SYMBOL_LEN},
62bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  { prefs::kLanguageChewingCandPerPage, 10, 8, 10, "candPerPage",
63bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_CAND_PER_PAGE},
64bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen};
65bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian MonsenCOMPILE_ASSERT(kNumChewingIntegerPrefs == arraysize(kChewingIntegerPrefs),
66bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen               TheSizeShouldMatch);
67bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen
68bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsenconst LanguageMultipleChoicePreference<const char*>
69bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    kChewingMultipleChoicePrefs[] = {
70bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  { prefs::kLanguageChewingKeyboardType,
71bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    "default",
72bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    "KBType",
73bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    {{ "default",
74bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen       IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_DEFAULT },
75bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen     { "hsu", IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_HSU },
76bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen     { "ibm", IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_IBM },
77bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen     { "gin_yieh",
78bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen       IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_GIN_YIEH },
79bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen     { "eten", IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_ETEN },
80bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen     { "eten26", IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_ETEN26 },
81bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen     { "dvorak", IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_DVORAK },
82bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen     { "dvorak_hsu",
83bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen       IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_DVORAK_HSU },
84bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen     { "dachen_26",
85bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen       IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_DACHEN_26 },
86bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen     { "hanyu", IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_HANYU }},
87bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE,
88bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  },
89bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  { prefs::kLanguageChewingSelKeys,
90bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    "1234567890",
91bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    "selKeys",
92bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    {{ "1234567890",
93bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen       IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS_1234567890 },
94bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen     { "asdfghjkl;",
95bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen       IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS_ASDFGHJKLS },
96bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen     { "asdfzxcv89",
97bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen       IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS_ASDFZXCV89 },
98bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen     { "asdfjkl789",
99bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen       IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS_ASDFJKL789 },
100bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen     { "aoeu;qjkix",
101bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen       IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS_AOEUSQJKIX },
102bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen     { "aoeuhtnsid",
103bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen       IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS_AOEUHTNSID },
104bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen     { "aoeuidhtns",
105bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen       IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS_AOEUIDHTNS },
106bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen     { "1234qweras",
107bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen       IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS_1234QWERAS }},
108bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS,
109bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  },
110bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen};
111bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian MonsenCOMPILE_ASSERT(kNumChewingMultipleChoicePrefs ==
112bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen               arraysize(kChewingMultipleChoicePrefs),
113bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen               TheSizeShouldMatch);
114bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen
115bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsenconst LanguageMultipleChoicePreference<int> kChewingHsuSelKeyType = {
116bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  prefs::kLanguageChewingHsuSelKeyType,
117bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  1,
118bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  "hsuSelKeyType",
119bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  {{ 1, IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_HSU_SEL_KEY_TYPE_1 },
120bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen   { 2, IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_HSU_SEL_KEY_TYPE_2 }},
121bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_HSU_SEL_KEY_TYPE,
122bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen};
123bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen
124bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen// ---------------------------------------------------------------------------
125bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen// For Korean input method (ibus-hangul)
126bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen// ---------------------------------------------------------------------------
127bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsenconst char kHangulSectionName[] = "engine/Hangul";
128bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsenconst char kHangulKeyboardConfigName[] = "HangulKeyboard";
129bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsenconst char kHangulHanjaKeysConfigName[] = "HanjaKeys";
130bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen// We add Control+9 since F9 key is reserved by the window manager.
131bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen// TODO: HanjaKeys are not configurable yet (and we're not sure if it should.)
132bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsenconst char kHangulHanjaKeys[] = "F9,Hangul_Hanja,Control+9";
133bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen
134bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsenconst HangulKeyboardNameIDPair kHangulKeyboardNameIDPairs[] = {
135bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  // We have to sync the |keyboard_id|s with those in
136bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  // ibus-hangul/files/setup/main.py.
137bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  { IDS_OPTIONS_SETTINGS_LANGUAGES_HANGUL_SETTINGS_KEYBOARD_2_SET, "2" },
138bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  { IDS_OPTIONS_SETTINGS_LANGUAGES_HANGUL_SETTINGS_KEYBOARD_3_SET_FINAL,
139bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    "3f" },
140bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  { IDS_OPTIONS_SETTINGS_LANGUAGES_HANGUL_SETTINGS_KEYBOARD_3_SET_390, "39" },
141bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  { IDS_OPTIONS_SETTINGS_LANGUAGES_HANGUL_SETTINGS_KEYBOARD_3_SET_NO_SHIFT,
142bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    "3s" },
143bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  // We don't support "Sebeolsik 2 set" keyboard.
144bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen};
145bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian MonsenCOMPILE_ASSERT(kNumHangulKeyboardNameIDPairs ==
146bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen               arraysize(kHangulKeyboardNameIDPairs),
147bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen               TheSizeShouldMatch);
148bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen
149bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen// ---------------------------------------------------------------------------
150bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen// For Simplified Chinese input method (ibus-pinyin)
151bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen// ---------------------------------------------------------------------------
152bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsenconst char kPinyinSectionName[] = "engine/Pinyin";
153bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen
154bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen// We have to sync the |ibus_config_name|s with those in
155bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen// ibus-pinyin/files/src/Config.cc.
156bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsenconst LanguageBooleanPrefs kPinyinBooleanPrefs[] = {
157bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  { prefs::kLanguagePinyinCorrectPinyin, true, "CorrectPinyin",
158bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_CORRECT_PINYIN },
159bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  { prefs::kLanguagePinyinFuzzyPinyin, false, "FuzzyPinyin",
160bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_FUZZY_PINYIN },
161bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  { prefs::kLanguagePinyinShiftSelectCandidate, false, "ShiftSelectCandidate",
162bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_SHIFT_SELECT_PINYIN },
163bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  { prefs::kLanguagePinyinMinusEqualPage, true, "MinusEqualPage",
164bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_MINUS_EQUAL_PAGE },
165bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  { prefs::kLanguagePinyinCommaPeriodPage, true, "CommaPeriodPage",
166bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_COMMA_PERIOD_PAGE },
167bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  { prefs::kLanguagePinyinAutoCommit, false, "AutoCommit",
168bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_AUTO_COMMIT },
169bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  { prefs::kLanguagePinyinDoublePinyin, false, "DoublePinyin",
170bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_DOUBLE_PINYIN },
171bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  { prefs::kLanguagePinyinInitChinese, true, "InitChinese",
172bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_INIT_CHINESE },
173bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  { prefs::kLanguagePinyinInitFull, false, "InitFull",
174bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_INIT_FULL },
175bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  { prefs::kLanguagePinyinInitFullPunct, true, "InitFullPunct",
176bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_INIT_FULL_PUNCT },
177bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  { prefs::kLanguagePinyinInitSimplifiedChinese, true, "InitSimplifiedChinese",
178bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_INIT_SIMPLIFIED_CHINESE },
179bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  // TODO(yusukes): Support PINYIN_{INCOMPLETE,CORRECT,FUZZY}_... prefs (32
180bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  // additional boolean prefs.)
181bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen};
182bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian MonsenCOMPILE_ASSERT(kNumPinyinBooleanPrefs == arraysize(kPinyinBooleanPrefs),
183bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen               TheSizeShouldMatch);
184bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen// TODO(yusukes): Support HalfWidthPuncts and IncompletePinyin prefs if needed.
185bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen
186bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsenconst LanguageMultipleChoicePreference<int> kPinyinDoublePinyinSchema = {
187bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  prefs::kLanguagePinyinDoublePinyinSchema,
188bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  0,
189bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  "DoublePinyinSchema",
190bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  {{ 0, IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_DOUBLE_SCHEMA_MSPY},
191bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen   { 1, IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_DOUBLE_SCHEMA_ZRM},
192bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen   { 2, IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_DOUBLE_SCHEMA_ABC},
193bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen   { 3, IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_DOUBLE_SCHEMA_ZGPY},
194bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen   { 4, IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_DOUBLE_SCHEMA_PYJJ}},
195bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_DOUBLE_SCHEMA,
196bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen};
197bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen
198bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsenconst PinyinIntegerPref kPinyinIntegerPrefs[] = {
199bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  // TODO(yusukes): the type of lookup_table_page_size on ibus should be uint.
200bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  { prefs::kLanguagePinyinLookupTablePageSize, 5, "LookupTablePageSize" },
201bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen};
202bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian MonsenCOMPILE_ASSERT(kNumPinyinIntegerPrefs == arraysize(kPinyinIntegerPrefs),
203bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen               TheSizeShouldMatch);
204bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen
205bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen// ---------------------------------------------------------------------------
206bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen// For Japanese input method (ibus-mozc)
207bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen// ---------------------------------------------------------------------------
208bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsenconst char kMozcSectionName[] = "engine/Mozc";
209bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen
210bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen#define IDS_MOZC(suffix) \
211bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_##suffix
212bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen
213bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsenconst LanguageBooleanPrefs kMozcBooleanPrefs[] = {
214bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  { prefs::kLanguageMozcIncognitoMode,
215bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    false,
216bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    "incognito_mode",
217bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    IDS_MOZC(INCOGNITO_MODE)
218bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  },
219bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  { prefs::kLanguageMozcUseAutoImeTurnOff,
220bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    true,
221bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    "use_auto_ime_turn_off",
222bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    IDS_MOZC(USE_AUTO_IME_TURN_OFF)
223bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  },
224bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  { prefs::kLanguageMozcUseDateConversion,
225bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    true,
226bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    "use_date_conversion",
227bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    IDS_MOZC(USE_DATE_CONVERSION)
228bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  },
229bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  { prefs::kLanguageMozcUseSingleKanjiConversion,
230bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    true,
231bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    "use_single_kanji_conversion",
232bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    IDS_MOZC(USE_SINGLE_KANJI_CONVERSION)
233bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  },
234bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  { prefs::kLanguageMozcUseSymbolConversion,
235bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    true,
236bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    "use_symbol_conversion",
237bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    IDS_MOZC(USE_SYMBOL_CONVERSION)
238bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  },
239bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  { prefs::kLanguageMozcUseNumberConversion,
240bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    true,
241bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    "use_number_conversion",
242bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    IDS_MOZC(USE_NUMBER_CONVERSION)
243bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  },
244bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  { prefs::kLanguageMozcUseHistorySuggest,
245bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    true,
246bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    "use_history_suggest",
247bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    IDS_MOZC(USE_HISTORY_SUGGEST)
248bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  },
249bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  { prefs::kLanguageMozcUseDictionarySuggest,
250bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    true,
251bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    "use_dictionary_suggest",
252bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    IDS_MOZC(USE_DICTIONARY_SUGGEST)
253bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  },
254bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen};
255bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian MonsenCOMPILE_ASSERT(kNumMozcBooleanPrefs == arraysize(kMozcBooleanPrefs),
256bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen               TheSizeShouldMatch);
257bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen
258bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsenextern const LanguageMultipleChoicePreference<const char*>
259bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    kMozcMultipleChoicePrefs[] = {
260bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  { prefs::kLanguageMozcPreeditMethod,
261bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    "ROMAN",
262bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    "preedit_method",
263bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    {{ "ROMAN", IDS_MOZC(PREEDIT_METHOD_ROMAN) },
264bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen     { "KANA", IDS_MOZC(PREEDIT_METHOD_KANA) }},
265bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    IDS_MOZC(PREEDIT_METHOD),
266bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  },
267bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  { prefs::kLanguageMozcSessionKeymap,
268bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    "MSIME",
269bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    "session_keymap",
270bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    {{ "ATOK", IDS_MOZC(SESSION_KEYMAP_ATOK) },
271bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen     { "MSIME", IDS_MOZC(SESSION_KEYMAP_MSIME) },
272bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen     { "KOTOERI", IDS_MOZC(SESSION_KEYMAP_KOTOERI) }},
273bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    // TODO: Support "CUSTOM" keymap.
274bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    IDS_MOZC(SESSION_KEYMAP),
275bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  },
276bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  { prefs::kLanguageMozcPunctuationMethod,
277bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    "KUTEN_TOUTEN",
278bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    "punctuation_method",
279bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    {{ "KUTEN_TOUTEN",
280bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen       IDS_MOZC(PUNCTUATION_METHOD_KUTEN_TOUTEN) },
281bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen     { "COMMA_PERIOD",
282bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen       IDS_MOZC(PUNCTUATION_METHOD_COMMA_PERIOD) },
283bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen     { "KUTEN_PERIOD",
284bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen       IDS_MOZC(PUNCTUATION_METHOD_KUTEN_PERIOD) },
285bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen     { "COMMA_TOUTEN",
286bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen       IDS_MOZC(PUNCTUATION_METHOD_COMMA_TOUTEN) }},
287bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    IDS_MOZC(PUNCTUATION_METHOD),
288bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  },
289bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  { prefs::kLanguageMozcSymbolMethod,
290bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    "CORNER_BRACKET_MIDDLE_DOT",
291bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    "symbol_method",
292bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    {{ "CORNER_BRACKET_MIDDLE_DOT",
293bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen       IDS_MOZC(SYMBOL_METHOD_CORNER_BRACKET_MIDDLE_DOT) },
294bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen     { "SQUARE_BRACKET_SLASH",
295bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen       IDS_MOZC(SYMBOL_METHOD_SQUARE_BRACKET_SLASH) },
296bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen     { "CORNER_BRACKET_SLASH",
297bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen       IDS_MOZC(SYMBOL_METHOD_CORNER_BRACKET_SLASH) },
298bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen     { "SQUARE_BRACKET_MIDDLE_DOT",
299bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen       IDS_MOZC(SYMBOL_METHOD_SQUARE_BRACKET_MIDDLE_DOT) }},
300bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    IDS_MOZC(SYMBOL_METHOD),
301bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  },
302bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  { prefs::kLanguageMozcSpaceCharacterForm,
303bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    "FUNDAMENTAL_INPUT_MODE",
304bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    "space_character_form",
305bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    {{ "FUNDAMENTAL_INPUT_MODE",
306bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen       IDS_MOZC(SPACE_CHARACTER_FORM_FUNDAMENTAL_INPUT_MODE) },
307bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen     { "FUNDAMENTAL_FULL_WIDTH",
308bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen       IDS_MOZC(SPACE_CHARACTER_FORM_FUNDAMENTAL_FULL_WIDTH) },
309bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen     { "FUNDAMENTAL_HALF_WIDTH",
310bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen       IDS_MOZC(SPACE_CHARACTER_FORM_FUNDAMENTAL_HALF_WIDTH) }},
311bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    IDS_MOZC(SPACE_CHARACTER_FORM),
312bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  },
313bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  { prefs::kLanguageMozcHistoryLearningLevel,
314bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    "DEFAULT_HISTORY",
315bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    "history_learning_level",
316bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    {{ "DEFAULT_HISTORY",
317bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen       IDS_MOZC(HISTORY_LEARNING_LEVEL_DEFAULT_HISTORY) },
318bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen     { "READ_ONLY",
319bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen       IDS_MOZC(HISTORY_LEARNING_LEVEL_READ_ONLY) },
320bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen     { "NO_HISTORY",
321bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen       IDS_MOZC(HISTORY_LEARNING_LEVEL_NO_HISTORY) }},
322bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    IDS_MOZC(HISTORY_LEARNING_LEVEL),
323bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  },
324bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  // TODO(mazda): Uncomment this block once the candidate window in Chrome OS
325bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  // supports changing shortcut labels.
326bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  // { prefs::kLanguageMozcSelectionShortcut,
327bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  //   "SHORTCUT_123456789",
328bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  //   "selection_shortcut",
329bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  //   {{ "NO_SHORTCUT",
330bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  //      IDS_MOZC(SELECTION_SHORTCUT_NO_SHORTCUT) },
331bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  //    { "SHORTCUT_123456789",
332bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  //      IDS_MOZC(SELECTION_SHORTCUT_SHORTCUT_123456789) },
333bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  //    { "SHORTCUT_ASDFGHJKL",
334bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  //      IDS_MOZC(SELECTION_SHORTCUT_SHORTCUT_ASDFGHJKL) }},
335bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  //   IDS_MOZC(SELECTION_SHORTCUT),
336bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  // },
337bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  { prefs::kLanguageMozcShiftKeyModeSwitch,
338bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    "ASCII_INPUT_MODE",
339bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    "shift_key_mode_switch",
340bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    {{ "OFF",
341bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen       IDS_MOZC(SHIFT_KEY_MODE_SWITCH_OFF) },
342bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen     { "ASCII_INPUT_MODE",
343bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen       IDS_MOZC(SHIFT_KEY_MODE_SWITCH_ASCII_INPUT_MODE) },
344bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen     { "KATAKANA_INPUT_MODE",
345bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen       IDS_MOZC(SHIFT_KEY_MODE_SWITCH_KATAKANA_INPUT_MODE) }},
346bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    IDS_MOZC(SHIFT_KEY_MODE_SWITCH),
347bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  },
348bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  { prefs::kLanguageMozcNumpadCharacterForm,
349bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    "NUMPAD_HALF_WIDTH",
350bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    "numpad_character_form",
351bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    {{ "NUMPAD_INPUT_MODE",
352bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen       IDS_MOZC(NUMPAD_CHARACTER_FORM_NUMPAD_INPUT_MODE) },
353bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen     { "NUMPAD_FULL_WIDTH",
354bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen       IDS_MOZC(NUMPAD_CHARACTER_FORM_NUMPAD_FULL_WIDTH) },
355bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen     { "NUMPAD_HALF_WIDTH",
356bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen       IDS_MOZC(NUMPAD_CHARACTER_FORM_NUMPAD_HALF_WIDTH) },
357bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen     { "NUMPAD_DIRECT_INPUT",
358bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen       IDS_MOZC(NUMPAD_CHARACTER_FORM_NUMPAD_DIRECT_INPUT) }},
359bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    IDS_MOZC(NUMPAD_CHARACTER_FORM),
360bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  },
361bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen};
362bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian MonsenCOMPILE_ASSERT(kNumMozcMultipleChoicePrefs ==
363bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen               arraysize(kMozcMultipleChoicePrefs),
364bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen               TheSizeShouldMatch);
365bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen
366bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsenconst LanguageIntegerRangePreference kMozcIntegerPrefs[] = {
367bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  { prefs::kLanguageMozcSuggestionsSize, 3, 1, 9, "suggestions_size",
368bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen    IDS_MOZC(SUGGESTIONS_SIZE)},
369bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen};
370bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian MonsenCOMPILE_ASSERT(kNumMozcIntegerPrefs == arraysize(kMozcIntegerPrefs),
371bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen               TheSizeShouldMatch);
372bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen
373bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen#undef IDS_MOZC
374bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen
375bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen// ---------------------------------------------------------------------------
376bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen// For keyboard stuff
377bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen// ---------------------------------------------------------------------------
378bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsenconst LanguageMultipleChoicePreference<int> kXkbModifierMultipleChoicePrefs = {
379bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  NULL,  // don't use this field since the config is associated with 3 prefs.
380bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  kNoRemap,
381bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  NULL,  // does not use the ibus configuration service.
382bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  {{ kNoRemap, IDS_OPTIONS_SETTINGS_LANGUAGES_XKB_MODIFIER_NO_REMAP },
383bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen   { kSwapCtrlAndAlt,
384bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen     IDS_OPTIONS_SETTINGS_LANGUAGES_XKB_MODIFIER_REMAP_CTRL_ALT },
385bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen   { kSwapSearchAndCtrl,
386bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen     IDS_OPTIONS_SETTINGS_LANGUAGES_XKB_MODIFIER_REMAP_SEARCH_CTRL }},
387bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen  0,  // does not use the label.
388bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen};
389bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen
390bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsenconst int kXkbAutoRepeatDelayInMs = 500;
391bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsenconst int kXkbAutoRepeatIntervalInMs = 50;
392bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsenconst char kPreferredKeyboardLayout[] = "PreferredKeyboardLayout";
393bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen
394bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen}  // namespace language_prefs
395bda42a81ee5f9b20d2bebedcf0bbef1e30e5b293Kristian Monsen}  // namespace chromeos
396