1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
|
// Copyright (c) 2010 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_CHROMEOS_LANGUAGE_PREFERENCES_H_
#define CHROME_BROWSER_CHROMEOS_LANGUAGE_PREFERENCES_H_
#include "base/basictypes.h"
#include "chrome/common/pref_names.h"
#include "grit/generated_resources.h"
// Section and config names for the IBus configuration daemon.
namespace chromeos {
// For ibus-daemon
const char kGeneralSectionName[] = "general";
const char kHotKeySectionName[] = "general/hotkey";
const char kUseGlobalEngineConfigName[] = "use_global_engine";
const char kPreloadEnginesConfigName[] = "preload_engines";
const char kNextEngineConfigName[] = "next_engine";
const char kTriggerConfigName[] = "trigger";
// TODO(yusukes): We'll add more "next engine" hot-keys like "Zenkaku_Hankaku"
// (Japanese keyboard specific).
const wchar_t kHotkeyNextEngine[] = L"Shift+Alt_L,Alt+Shift_L,Alt+grave";
const wchar_t kHotkeyTrigger[] = L""; // We don't allow users to disable IBus.
// For Korean input method (ibus-hangul)
const char kHangulSectionName[] = "engine/Hangul";
const char kHangulKeyboardConfigName[] = "HangulKeyboard";
const struct HangulKeyboardNameIDPair {
const wchar_t* keyboard_name;
const wchar_t* keyboard_id;
} kHangulKeyboardNameIDPairs[] = {
// We have to sync the IDs with those in ibus-hangul/files/setup/main.py.
{ L"Dubeolsik", L"2" },
{ L"Sebeolsik Final", L"3f" },
{ L"Sebeolsik 390", L"39" },
{ L"Sebeolsik No-shift", L"3s" },
{ L"Sebeolsik 2 set", L"32" },
// TODO(yusukes): Use generated_resources.grd IDs for |keyboard_name|. Ask
// jshin first.
};
// For Simplified Chinese input method (ibus-pinyin)
const char kPinyinSectionName[] = "engine/Pinyin";
// We have to sync the |ibus_config_name|s with those in
// ibus-pinyin/files/src/Config.cc.
const struct {
const wchar_t* pref_name;
const char* ibus_config_name;
bool default_value;
int message_id;
} kPinyinBooleanPrefs[] = {
{ prefs::kLanguagePinyinCorrectPinyin, "correct_pinyin", true,
IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_CORRECT_PINYIN },
{ prefs::kLanguagePinyinFuzzyPinyin, "fuzzy_pinyin", false,
IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_FUZZY_PINYIN },
{ prefs::kLanguagePinyinShiftSelectCandidate, "shift_select_candidate",
false, IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_SHIFT_SELECT_PINYIN },
{ prefs::kLanguagePinyinMinusEqualPage, "minus_equal_page", true,
IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_MINUS_EQUAL_PAGE },
{ prefs::kLanguagePinyinCommaPeriodPage, "comma_period_page", true,
IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_COMMA_PERIOD_PAGE },
{ prefs::kLanguagePinyinAutoCommit, "auto_commit", false,
IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_AUTO_COMMIT },
{ prefs::kLanguagePinyinDoublePinyin, "double_pinyin", false,
IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_DOUBLE_PINYIN },
{ prefs::kLanguagePinyinInitChinese, "init_chinese", true,
IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_INIT_CHINESE },
{ prefs::kLanguagePinyinInitFull, "init_full", false,
IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_INIT_FULL },
{ prefs::kLanguagePinyinInitFullPunct, "init_full_punct", true,
IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_INIT_FULL_PUNCT },
{ prefs::kLanguagePinyinInitSimplifiedChinese, "init_simplified_chinese",
true,
IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_INIT_SIMPLIFIED_CHINESE },
{ prefs::kLanguagePinyinTradCandidate, "trad_candidate", false,
IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_TRAD_CANDIDATE },
// TODO(yusukes): Support PINYIN_{INCOMPLETE,CORRECT,FUZZY}_... prefs (32
// additional boolean prefs.)
};
const size_t kNumPinyinBooleanPrefs = ARRAYSIZE_UNSAFE(kPinyinBooleanPrefs);
const struct {
const wchar_t* pref_name;
const char* ibus_config_name;
int default_value;
// TODO(yusukes): Add message_id if needed.
} kPinyinIntegerPrefs[] = {
{ prefs::kLanguagePinyinDoublePinyinSchema, "double_pinyin_schema", 0 },
// TODO(yusukes): the type of lookup_table_page_size on ibus should be uint.
{ prefs::kLanguagePinyinLookupTablePageSize, "lookup_table_page_size", 5 },
};
const size_t kNumPinyinIntegerPrefs = ARRAYSIZE_UNSAFE(kPinyinIntegerPrefs);
// For Traditional Chinese input method (ibus-chewing)
// For Japanese input method (ibus-mozc)
// TODO(yusukes): Add constants for these components.
} // chromeos
#endif // CHROME_BROWSER_CHROMEOS_LANGUAGE_PREFERENCES_H_
|