OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "base/basictypes.h" | |
6 #include "base/prefs/pref_registry_simple.h" | 5 #include "base/prefs/pref_registry_simple.h" |
7 #include "chrome/browser/chromeos/language_preferences.h" | 6 #include "chrome/browser/chromeos/language_preferences.h" |
8 #include "chrome/common/pref_names.h" | |
9 #include "components/user_prefs/pref_registry_syncable.h" | |
10 #include "grit/generated_resources.h" | |
11 | 7 |
12 namespace chromeos { | 8 namespace chromeos { |
13 namespace language_prefs { | 9 namespace language_prefs { |
14 | 10 |
15 // --------------------------------------------------------------------------- | 11 // --------------------------------------------------------------------------- |
16 // For ibus-daemon | 12 // For ibus-daemon |
17 // --------------------------------------------------------------------------- | 13 // --------------------------------------------------------------------------- |
18 const char kGeneralSectionName[] = "general"; | 14 const char kGeneralSectionName[] = "general"; |
19 const char kPreloadEnginesConfigName[] = "preload_engines"; | 15 const char kPreloadEnginesConfigName[] = "preload_engines"; |
20 | 16 |
21 // --------------------------------------------------------------------------- | 17 // --------------------------------------------------------------------------- |
22 // For Traditional Chinese input method (ibus-mozc-chewing) | |
23 // --------------------------------------------------------------------------- | |
24 const char kChewingSectionName[] = "engine/Chewing"; | |
25 | |
26 // We have to sync the |ibus_config_name|s with those in | |
27 // ibus-chewing/files/src/Config.cc. | |
28 const LanguageBooleanPrefs kChewingBooleanPrefs[] = { | |
29 { prefs::kLanguageChewingAutoShiftCur, false, "autoShiftCur", | |
30 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_AUTO_SHIFT_CUR, | |
31 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF }, | |
32 { prefs::kLanguageChewingAddPhraseDirection, false, "addPhraseDirection", | |
33 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_ADD_PHRASE_DIRECTION, | |
34 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF }, | |
35 /* Temporarily disabled. (crosbug.com/14185) | |
36 { prefs::kLanguageChewingEasySymbolInput, true, "easySymbolInput", | |
37 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_EASY_SYMBOL_INPUT, | |
38 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF }, | |
39 */ | |
40 { prefs::kLanguageChewingEscCleanAllBuf, false, "escCleanAllBuf", | |
41 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_ESC_CLEAN_ALL_BUF, | |
42 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF }, | |
43 { prefs::kLanguageChewingForceLowercaseEnglish, false, | |
44 "forceLowercaseEnglish", | |
45 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_FORCE_LOWER_CASE_ENGLISH, | |
46 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF }, | |
47 /* Temporarily disabled. (crosbug.com/14185) | |
48 { prefs::kLanguageChewingPlainZhuyin, false, "plainZhuyin", | |
49 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_PLAIN_ZHUYIN, | |
50 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF }, | |
51 */ | |
52 { prefs::kLanguageChewingPhraseChoiceRearward, true, "phraseChoiceRearward", | |
53 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_PHRASE_CHOICE_REARWARD, | |
54 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF }, | |
55 { prefs::kLanguageChewingSpaceAsSelection, true, "spaceAsSelection", | |
56 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_SPACE_AS_SELECTION, | |
57 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF }, | |
58 }; | |
59 COMPILE_ASSERT(kNumChewingBooleanPrefs == arraysize(kChewingBooleanPrefs), | |
60 TheSizeShouldMatch); | |
61 | |
62 const LanguageIntegerRangePreference kChewingIntegerPrefs[] = { | |
63 { prefs::kLanguageChewingMaxChiSymbolLen, 20, 8, 40, "maxChiSymbolLen", | |
64 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_MAX_CHI_SYMBOL_LEN, | |
65 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF | |
66 }, | |
67 { prefs::kLanguageChewingCandPerPage, 10, 8, 10, "candPerPage", | |
68 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_CAND_PER_PAGE, | |
69 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF | |
70 }, | |
71 }; | |
72 COMPILE_ASSERT(kNumChewingIntegerPrefs == arraysize(kChewingIntegerPrefs), | |
73 TheSizeShouldMatch); | |
74 | |
75 const LanguageMultipleChoicePreference<const char*> | |
76 kChewingMultipleChoicePrefs[] = { | |
77 { prefs::kLanguageChewingKeyboardType, | |
78 "default", | |
79 "KBType", | |
80 {{ "default", | |
81 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_DEFAULT }, | |
82 { "hsu", IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_HSU }, | |
83 { "ibm", IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_IBM }, | |
84 { "gin_yieh", | |
85 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_GIN_YIEH }, | |
86 { "eten", IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_ETEN }, | |
87 { "eten26", IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_ETEN26 }, | |
88 { "dvorak", IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_DVORAK }, | |
89 { "dvorak_hsu", | |
90 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_DVORAK_HSU }, | |
91 { "dachen_26", | |
92 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_DACHEN_26 }, | |
93 { "hanyu", IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_HANYU }}, | |
94 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE, | |
95 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF, | |
96 }, | |
97 { prefs::kLanguageChewingSelKeys, | |
98 "1234567890", | |
99 "selKeys", | |
100 {{ "1234567890", | |
101 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS_1234567890 }, | |
102 { "asdfghjkl;", | |
103 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS_ASDFGHJKLS }, | |
104 { "asdfzxcv89", | |
105 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS_ASDFZXCV89 }, | |
106 { "asdfjkl789", | |
107 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS_ASDFJKL789 }, | |
108 { "aoeu;qjkix", | |
109 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS_AOEUSQJKIX }, | |
110 { "aoeuhtnsid", | |
111 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS_AOEUHTNSID }, | |
112 { "aoeuidhtns", | |
113 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS_AOEUIDHTNS }, | |
114 { "1234qweras", | |
115 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS_1234QWERAS }}, | |
116 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS, | |
117 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF, | |
118 }, | |
119 }; | |
120 COMPILE_ASSERT(kNumChewingMultipleChoicePrefs == | |
121 arraysize(kChewingMultipleChoicePrefs), | |
122 TheSizeShouldMatch); | |
123 | |
124 const LanguageMultipleChoicePreference<int> kChewingHsuSelKeyType = { | |
125 prefs::kLanguageChewingHsuSelKeyType, | |
126 1, | |
127 "hsuSelKeyType", | |
128 {{ 1, IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_HSU_SEL_KEY_TYPE_1 }, | |
129 { 2, IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_HSU_SEL_KEY_TYPE_2 }}, | |
130 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_HSU_SEL_KEY_TYPE, | |
131 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF, | |
132 }; | |
133 | |
134 // --------------------------------------------------------------------------- | |
135 // For Korean input method (ibus-mozc-hangul) | |
136 // --------------------------------------------------------------------------- | |
137 const char kHangulSectionName[] = "engine/Hangul"; | |
138 const char kHangulKeyboardConfigName[] = "HangulKeyboard"; | |
139 | |
140 const char kHangulHanjaBindingKeysConfigName[] = "HanjaKeyBindings"; | |
141 // Mozc-hangul treats Hangul_Hanja key as hanja key event even if it is not set. | |
142 // We add Control+9 since F9 key is reserved by the window manager. | |
143 // TODO(nona): Hanja keys are not configurable yet (and we're not sure if it | |
144 // should.) | |
145 const char kHangulHanjaBindingKeys[] = "F9,Ctrl 9"; | |
146 | |
147 const HangulKeyboardNameIDPair kHangulKeyboardNameIDPairs[] = { | |
148 // We have to sync the |keyboard_id|s with those in libhangul. | |
149 { IDS_OPTIONS_SETTINGS_LANGUAGES_HANGUL_SETTINGS_KEYBOARD_2_SET, "2" }, | |
150 { IDS_OPTIONS_SETTINGS_LANGUAGES_HANGUL_SETTINGS_KEYBOARD_3_SET_FINAL, | |
151 "3f" }, | |
152 { IDS_OPTIONS_SETTINGS_LANGUAGES_HANGUL_SETTINGS_KEYBOARD_3_SET_390, "39" }, | |
153 { IDS_OPTIONS_SETTINGS_LANGUAGES_HANGUL_SETTINGS_KEYBOARD_3_SET_NO_SHIFT, | |
154 "3s" }, | |
155 { IDS_OPTIONS_SETTINGS_LANGUAGES_HANGUL_SETTINGS_KEYBOARD_ROMAJA, "ro" }, | |
156 // We don't support "Sebeolsik 2 set" keyboard. | |
157 }; | |
158 COMPILE_ASSERT(kNumHangulKeyboardNameIDPairs == | |
159 arraysize(kHangulKeyboardNameIDPairs), | |
160 TheSizeShouldMatch); | |
161 | |
162 // --------------------------------------------------------------------------- | |
163 // For Simplified Chinese input method (ibus-mozc-pinyin) | |
164 // --------------------------------------------------------------------------- | |
165 const char kPinyinSectionName[] = "engine/Pinyin"; | |
166 | |
167 // We have to sync the |ibus_config_name|s with those in | |
168 // ibus-mozc-pinyin/files/languages/pinyin/unix/ibus/config_updater.cc. | |
169 const LanguageBooleanPrefs kPinyinBooleanPrefs[] = { | |
170 { prefs::kLanguagePinyinCorrectPinyin, true, "CorrectPinyin", | |
171 IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_CORRECT_PINYIN, | |
172 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF }, | |
173 { prefs::kLanguagePinyinFuzzyPinyin, false, "FuzzyPinyin", | |
174 IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_FUZZY_PINYIN, | |
175 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF }, | |
176 { prefs::kLanguagePinyinShiftSelectCandidate, false, "ShiftSelectCandidate", | |
177 IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_SHIFT_SELECT_PINYIN, | |
178 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF }, | |
179 { prefs::kLanguagePinyinMinusEqualPage, true, "MinusEqualPage", | |
180 IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_MINUS_EQUAL_PAGE, | |
181 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF }, | |
182 { prefs::kLanguagePinyinCommaPeriodPage, true, "CommaPeriodPage", | |
183 IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_COMMA_PERIOD_PAGE, | |
184 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF }, | |
185 { prefs::kLanguagePinyinAutoCommit, false, "AutoCommit", | |
186 IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_AUTO_COMMIT, | |
187 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF }, | |
188 { prefs::kLanguagePinyinDoublePinyin, false, "DoublePinyin", | |
189 IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_DOUBLE_PINYIN, | |
190 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF }, | |
191 { prefs::kLanguagePinyinInitChinese, true, "InitChinese", | |
192 IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_INIT_CHINESE, | |
193 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF }, | |
194 { prefs::kLanguagePinyinInitFull, false, "InitFull", | |
195 IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_INIT_FULL, | |
196 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF }, | |
197 { prefs::kLanguagePinyinInitFullPunct, true, "InitFullPunct", | |
198 IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_INIT_FULL_PUNCT, | |
199 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF }, | |
200 { prefs::kLanguagePinyinInitSimplifiedChinese, true, "InitSimplifiedChinese", | |
201 IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_INIT_SIMPLIFIED_CHINESE, | |
202 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF }, | |
203 // TODO(yusukes): Support PINYIN_{INCOMPLETE,CORRECT,FUZZY}_... prefs (32 | |
204 // additional boolean prefs.) | |
205 }; | |
206 COMPILE_ASSERT(kNumPinyinBooleanPrefs == arraysize(kPinyinBooleanPrefs), | |
207 TheSizeShouldMatch); | |
208 // TODO(yusukes): Support HalfWidthPuncts and IncompletePinyin prefs if needed. | |
209 | |
210 const LanguageMultipleChoicePreference<int> kPinyinDoublePinyinSchema = { | |
211 prefs::kLanguagePinyinDoublePinyinSchema, | |
212 0, | |
213 "DoublePinyinSchema", | |
214 {{ 0, IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_DOUBLE_SCHEMA_MSPY}, | |
215 { 1, IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_DOUBLE_SCHEMA_ZRM}, | |
216 { 2, IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_DOUBLE_SCHEMA_ABC}, | |
217 { 3, IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_DOUBLE_SCHEMA_ZGPY}, | |
218 { 4, IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_DOUBLE_SCHEMA_PYJJ}}, | |
219 IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_DOUBLE_SCHEMA, | |
220 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF, | |
221 }; | |
222 | |
223 const PinyinIntegerPref kPinyinIntegerPrefs[] = { | |
224 // TODO(yusukes): the type of lookup_table_page_size on ibus should be uint. | |
225 { prefs::kLanguagePinyinLookupTablePageSize, | |
226 5, | |
227 "LookupTablePageSize", | |
228 | |
229 // don't sync as it's not user configurable. | |
230 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF } | |
231 }; | |
232 COMPILE_ASSERT(kNumPinyinIntegerPrefs == arraysize(kPinyinIntegerPrefs), | |
233 TheSizeShouldMatch); | |
234 | |
235 // --------------------------------------------------------------------------- | |
236 // For Japanese input method (ibus-mozc) | |
237 // --------------------------------------------------------------------------- | |
238 const char kMozcSectionName[] = "engine/Mozc"; | |
239 | |
240 const LanguageBooleanPrefs kMozcBooleanPrefs[] = { | |
241 { prefs::kLanguageMozcIncognitoMode, | |
242 false, | |
243 "incognito_mode", | |
244 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_INCOGNITO_MODE, | |
245 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF }, | |
246 { prefs::kLanguageMozcUseAutoImeTurnOff, | |
247 true, | |
248 "use_auto_ime_turn_off", | |
249 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_USE_AUTO_IME_TURN_OFF, | |
250 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF }, | |
251 { prefs::kLanguageMozcUseHistorySuggest, | |
252 true, | |
253 "use_history_suggest", | |
254 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_USE_HISTORY_SUGGEST, | |
255 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF }, | |
256 { prefs::kLanguageMozcUseDictionarySuggest, | |
257 true, | |
258 "use_dictionary_suggest", | |
259 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_USE_DICTIONARY_SUGGEST, | |
260 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF }, | |
261 }; | |
262 COMPILE_ASSERT(kNumMozcBooleanPrefs == arraysize(kMozcBooleanPrefs), | |
263 TheSizeShouldMatch); | |
264 | |
265 extern const LanguageMultipleChoicePreference<const char*> | |
266 kMozcMultipleChoicePrefs[] = { | |
267 { prefs::kLanguageMozcPreeditMethod, | |
268 "ROMAN", | |
269 "preedit_method", | |
270 {{ "ROMAN", IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_PREEDIT_METHOD_ROMAN }, | |
271 { "KANA", IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_PREEDIT_METHOD_KANA }}, | |
272 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_PREEDIT_METHOD, | |
273 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF, | |
274 }, | |
275 { prefs::kLanguageMozcSessionKeymap, | |
276 "MSIME", | |
277 "session_keymap", | |
278 {{ "ATOK", IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SESSION_KEYMAP_ATOK }, | |
279 { "MSIME", IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SESSION_KEYMAP_MSIME }, | |
280 { "KOTOERI", IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SESSION_KEYMAP_KOTOERI }}, | |
281 // TODO: Support "CUSTOM" keymap. | |
282 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SESSION_KEYMAP, | |
283 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF, | |
284 }, | |
285 { prefs::kLanguageMozcPunctuationMethod, | |
286 "KUTEN_TOUTEN", | |
287 "punctuation_method", | |
288 {{ "KUTEN_TOUTEN", | |
289 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_PUNCTUATION_METHOD_KUTEN_TOUTEN }, | |
290 { "COMMA_PERIOD", | |
291 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_PUNCTUATION_METHOD_COMMA_PERIOD }, | |
292 { "KUTEN_PERIOD", | |
293 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_PUNCTUATION_METHOD_KUTEN_PERIOD }, | |
294 { "COMMA_TOUTEN", | |
295 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_PUNCTUATION_METHOD_COMMA_TOUTEN }}, | |
296 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_PUNCTUATION_METHOD, | |
297 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF, | |
298 }, | |
299 { prefs::kLanguageMozcSymbolMethod, | |
300 "CORNER_BRACKET_MIDDLE_DOT", | |
301 "symbol_method", | |
302 {{ "CORNER_BRACKET_MIDDLE_DOT", | |
303 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SYMBOL_METHOD_CORNER_BRACKET_MIDDLE_D
OT }, | |
304 { "SQUARE_BRACKET_SLASH", | |
305 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SYMBOL_METHOD_SQUARE_BRACKET_SLASH }, | |
306 { "CORNER_BRACKET_SLASH", | |
307 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SYMBOL_METHOD_CORNER_BRACKET_SLASH }, | |
308 { "SQUARE_BRACKET_MIDDLE_DOT", | |
309 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SYMBOL_METHOD_SQUARE_BRACKET_MIDDLE_D
OT }}, | |
310 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SYMBOL_METHOD, | |
311 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF, | |
312 }, | |
313 { prefs::kLanguageMozcSpaceCharacterForm, | |
314 "FUNDAMENTAL_INPUT_MODE", | |
315 "space_character_form", | |
316 {{ "FUNDAMENTAL_INPUT_MODE", | |
317 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SPACE_CHARACTER_FORM_FUNDAMENTAL_INPU
T_MODE }, | |
318 { "FUNDAMENTAL_FULL_WIDTH", | |
319 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SPACE_CHARACTER_FORM_FUNDAMENTAL_FULL
_WIDTH }, | |
320 { "FUNDAMENTAL_HALF_WIDTH", | |
321 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SPACE_CHARACTER_FORM_FUNDAMENTAL_HALF
_WIDTH }}, | |
322 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SPACE_CHARACTER_FORM, | |
323 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF, | |
324 }, | |
325 { prefs::kLanguageMozcHistoryLearningLevel, | |
326 "DEFAULT_HISTORY", | |
327 "history_learning_level", | |
328 {{ "DEFAULT_HISTORY", | |
329 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_HISTORY_LEARNING_LEVEL_DEFAULT_HISTOR
Y }, | |
330 { "READ_ONLY", | |
331 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_HISTORY_LEARNING_LEVEL_READ_ONLY }, | |
332 { "NO_HISTORY", | |
333 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_HISTORY_LEARNING_LEVEL_NO_HISTORY }}, | |
334 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_HISTORY_LEARNING_LEVEL, | |
335 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF, | |
336 }, | |
337 // TODO(mazda): Uncomment this block once the candidate window in Chrome OS | |
338 // supports changing shortcut labels. | |
339 // { prefs::kLanguageMozcSelectionShortcut, | |
340 // "SHORTCUT_123456789", | |
341 // "selection_shortcut", | |
342 // {{ "NO_SHORTCUT", | |
343 // IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SELECTION_SHORTCUT_NO_SHORTCUT }, | |
344 // { "SHORTCUT_123456789", | |
345 // IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SELECTION_SHORTCUT_SHORTCUT_123456
789 }, | |
346 // { "SHORTCUT_ASDFGHJKL", | |
347 // IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SELECTION_SHORTCUT_SHORTCUT_ASDFGH
JKL }}, | |
348 // IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SELECTION_SHORTCUT, | |
349 // user_prefs::PrefRegistrySyncable::SYNCABLE_PREF, | |
350 // }, | |
351 { prefs::kLanguageMozcShiftKeyModeSwitch, | |
352 "ASCII_INPUT_MODE", | |
353 "shift_key_mode_switch", | |
354 {{ "OFF", | |
355 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SHIFT_KEY_MODE_SWITCH_OFF }, | |
356 { "ASCII_INPUT_MODE", | |
357 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SHIFT_KEY_MODE_SWITCH_ASCII_INPUT_MOD
E }, | |
358 { "KATAKANA_INPUT_MODE", | |
359 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SHIFT_KEY_MODE_SWITCH_KATAKANA_INPUT_
MODE }}, | |
360 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SHIFT_KEY_MODE_SWITCH, | |
361 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF, | |
362 }, | |
363 { prefs::kLanguageMozcNumpadCharacterForm, | |
364 "NUMPAD_HALF_WIDTH", | |
365 "numpad_character_form", | |
366 {{ "NUMPAD_INPUT_MODE", | |
367 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_NUMPAD_CHARACTER_FORM_NUMPAD_INPUT_MO
DE }, | |
368 { "NUMPAD_FULL_WIDTH", | |
369 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_NUMPAD_CHARACTER_FORM_NUMPAD_FULL_WID
TH }, | |
370 { "NUMPAD_HALF_WIDTH", | |
371 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_NUMPAD_CHARACTER_FORM_NUMPAD_HALF_WID
TH }, | |
372 { "NUMPAD_DIRECT_INPUT", | |
373 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_NUMPAD_CHARACTER_FORM_NUMPAD_DIRECT_I
NPUT }}, | |
374 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_NUMPAD_CHARACTER_FORM, | |
375 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF, | |
376 }, | |
377 }; | |
378 COMPILE_ASSERT(kNumMozcMultipleChoicePrefs == | |
379 arraysize(kMozcMultipleChoicePrefs), | |
380 TheSizeShouldMatch); | |
381 | |
382 const LanguageIntegerRangePreference kMozcIntegerPrefs[] = { | |
383 { prefs::kLanguageMozcSuggestionsSize, 3, 1, 9, "suggestions_size", | |
384 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SUGGESTIONS_SIZE, | |
385 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF } | |
386 }; | |
387 COMPILE_ASSERT(kNumMozcIntegerPrefs == arraysize(kMozcIntegerPrefs), | |
388 TheSizeShouldMatch); | |
389 | |
390 // --------------------------------------------------------------------------- | |
391 // For keyboard stuff | 18 // For keyboard stuff |
392 // --------------------------------------------------------------------------- | 19 // --------------------------------------------------------------------------- |
393 const int kXkbAutoRepeatDelayInMs = 500; | 20 const int kXkbAutoRepeatDelayInMs = 500; |
394 const int kXkbAutoRepeatIntervalInMs = 50; | 21 const int kXkbAutoRepeatIntervalInMs = 50; |
395 const char kPreferredKeyboardLayout[] = "PreferredKeyboardLayout"; | 22 const char kPreferredKeyboardLayout[] = "PreferredKeyboardLayout"; |
396 | 23 |
397 void RegisterPrefs(PrefRegistrySimple* registry) { | 24 void RegisterPrefs(PrefRegistrySimple* registry) { |
398 // We use an empty string here rather than a hardware keyboard layout name | 25 // We use an empty string here rather than a hardware keyboard layout name |
399 // since input_method::GetHardwareInputMethodId() might return a fallback | 26 // since input_method::GetHardwareInputMethodId() might return a fallback |
400 // layout name if registry->RegisterStringPref(kHardwareKeyboardLayout) | 27 // layout name if registry->RegisterStringPref(kHardwareKeyboardLayout) |
401 // is not called yet. | 28 // is not called yet. |
402 registry->RegisterStringPref(kPreferredKeyboardLayout, ""); | 29 registry->RegisterStringPref(kPreferredKeyboardLayout, ""); |
403 } | 30 } |
404 | 31 |
405 } // namespace language_prefs | 32 } // namespace language_prefs |
406 } // namespace chromeos | 33 } // namespace chromeos |
OLD | NEW |