summaryrefslogtreecommitdiffstats
path: root/chrome/browser/chromeos/input_method/ibus_input_methods.txt
blob: 9e565217de55c88c3f8e1c70ee5b9d9f7c74438e (plain)
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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
# The list of input methods that we support. The input methods metadata is
# also defined here. We use this data for the following purposes.
#
# 1. Exclude unnecessary input methods. For example, we don't need
#    "ja:anthy", and "zh:pinyin" engines in ibus-m17n since we have better
#    alternatives outside of ibus-m17n. Excluding these input methods from
#    the IBus engine XML files, such as /usr/share/ibus/component/m17n.xml,
#    makes the startup time of the IBus daemon faster. This filtering is
#    done using a python script at build time of ibus-xkb-layouts and
#    ibus-m17n. See crosbug.com/4161 for details.
#
# 2. Provide the input methods metadata to Chrome at build time. Chrome
#    needs to know about the supported input methods for the input method
#    features, such as the input method switching and the options page,
#    to work. Note that we can retrieve the same metadata from the IBus
#    daemon, but Chrome needs be able to get the metadata without talking
#    to the IBus daemon. This requirement comes from the fact that the
#    IBus daemon should not run if the user is just using a single
#    keyboard layout such as US keyboard. The metadata generation is done
#    using a python script at build time of Chrome. See crosbug.com/16961
#    for details.
#
# The order of the list is important. In Chrome's "Languages and Input" options
# page, we list input methods in this order, when more than one input methods
# are available for a language (ex. French).
#
# Each non-comment line contains the following tab-separated columns.
#
# 1) The input method ID used by IBus. (ex. "xkb:ca::fra")
# 2) The keyboard layout ID used by XKB. (ex. "ca", "handwriting-vk,jp")
# 3) The language code (ex. "fra")
# 4) [optional] The #if condition for the input method.
#    (ex. "defined(A)", "!defined(A)||defined(B)")
#
# Notes:
#   When adding a line to this list, please also add a mapping from the input
#   method ID to the keyboard overlay ID to INPUT_METHOD_ID_TO_OVERLAY_ID in
#
#    * tools/gen_keyboard_overlay_data/gen_keyboard_overlay_data.py
#
#   and update the following files by running this script.
#
#    * chrome/app/generated_resources.grd
#    * chrome/browser/chromeos/input_method/xkeyboard.cc
#    * chrome/browser/resources/keyboard_overlay_data.js
#    * chrome/browser/ui/webui/chromeos/keyboard_overlay_ui.cc

# U.S. English
xkb:us::eng	us	eng
xkb:us:intl:eng	us(intl)	eng	!defined(USE_VIRTUAL_KEYBOARD)
xkb:us:altgr-intl:eng	us(altgr-intl)	eng	!defined(USE_VIRTUAL_KEYBOARD)
xkb:us:dvorak:eng	us(dvorak)	eng	!defined(USE_VIRTUAL_KEYBOARD)
xkb:us:colemak:eng	us(colemak)	eng	!defined(USE_VIRTUAL_KEYBOARD)
english-m	us	en-US	!defined(USE_VIRTUAL_KEYBOARD)
# U.S. English entiries have to be above the Dutch entry so that xkb:us:intl:eng
# will be selected as the default keyboard when the UI language is set to Dutch.

# Dutch
xkb:be::nld	be	nld	!defined(USE_VIRTUAL_KEYBOARD)
# We don't support xkb:nl::nld. See b/4430951.

# French
xkb:fr::fra	fr	fra
xkb:be::fra	be	fra	!defined(USE_VIRTUAL_KEYBOARD)
xkb:ca::fra	ca	fra	!defined(USE_VIRTUAL_KEYBOARD)
xkb:ch:fr:fra	ch(fr)	fra	!defined(USE_VIRTUAL_KEYBOARD)

# German
xkb:de::ger	de	ger	!defined(USE_VIRTUAL_KEYBOARD)
xkb:de:neo:ger	de(neo)	ger	!defined(USE_VIRTUAL_KEYBOARD)
xkb:be::ger	be	ger	!defined(USE_VIRTUAL_KEYBOARD)
xkb:ch::ger	ch	ger	!defined(USE_VIRTUAL_KEYBOARD)

# Japanese
mozc	us	ja
mozc-jp	jp	ja	!defined(USE_VIRTUAL_KEYBOARD)
mozc-dv	us(dvorak)	ja	!defined(USE_VIRTUAL_KEYBOARD)
xkb:jp::jpn	jp	jpn	!defined(USE_VIRTUAL_KEYBOARD)
zinnia-japanese	handwriting-vk,jp	ja	defined(USE_VIRTUAL_KEYBOARD)

# Russian
xkb:ru::rus	ru	rus	!defined(USE_VIRTUAL_KEYBOARD)
xkb:ru:phonetic:rus	ru(phonetic)	rus	!defined(USE_VIRTUAL_KEYBOARD)

# Thai
m17n:th:kesmanee	us	th
m17n:th:pattachote	us	th
m17n:th:tis820	us	th

# Simplified Chinese
pinyin	us	zh-CN
pinyin-dv	us(dvorak)	zh-CN	!defined(USE_VIRTUAL_KEYBOARD)
# TODO(yusukes): Define zh_CN_dvorak if it's *really* necessary.

# Traditional Chinese
mozc-chewing	us	zh_TW
m17n:zh:cangjie	us	zh
m17n:zh:quick	us	zh

# Vietnamese
m17n:vi:tcvn	us	vi
m17n:vi:telex	us	vi
m17n:vi:viqr	us	vi
m17n:vi:vni	us	vi
# Note: Since Chrome does not support "get surrounding text" feature yet,
# Vietnames input methods, except 4 input methods above, in m17n-db should
# not work fine. The 4 input methods in m17n-db (>= 1.6.0) don't require the
# feature.

# Korean
mozc-hangul	kr(kr104)	ko
xkb:kr:kr104:kor	kr(kr104)	kor

# Arabic
m17n:ar:kbd	us	ar
# TODO(yusukes,jshin): Check if we can use ibux-xkb-layouts for Arabic, Hindi,
# etc.

# Hindi
m17n:hi:itrans	us	hi
# Note: the m17n-contrib package has some more Hindi IMEs.

# Farsi (Persian)
m17n:fa:isiri	us	fa

# Bengali
m17n:bn:itrans	us	bn
# TODO(yusukes): Support the following IMEs in m17n-db (unijoy) and
#   m17n-db-contrib (inscript, probhat).
# m17n:bn:unijoy	us	bn
# m17n:bn:inscript	us	bn
# m17n:bn:probhat	us	bn

# Gujarati
m17n:gu:itrans	us	gu
# TODO(yusukes): Support the following IMEs in m17n-db-contrib.
# m17n:gu:phonetic	us	gu
# m17n:gu:inscript	us	gu

# Malayalam
m17n:ml:itrans	us	ml
# TODO(yusukes): Support the following IMEs in m17n-db-contrib.
# m17n:ml:inscript	us	ml
# m17n:ml:mozhi	us	ml

# Marathi
# Note: m17n:mr:itrans is in m17n-db-contrib.
m17n:mr:itrans	us	mr
# TODO(yusukes): Support the following IMEs in m17n-db-contrib.
# m17n:mr:phonetic	us	mr
# m17n:mr:inscript	us	mr

# Tamil
m17n:ta:itrans	us	ta
# TODO(yusukes): Support the following IMEs in m17n-db-contrib.
# m17n:ta:phonetic	us	ta
# m17n:ta:inscript	us	ta
# m17n:ta:tamil99	us	ta
# m17n:ta:typewriter	us	ta

# Telugu
m17n:te:itrans	us	te
# Kannada
m17n:kn:itrans	us	kn

# Amharic
m17n:am:sera	us	am

# ibux-xkb-layouts input methods (keyboard layouts).
xkb:br::por	br	por	!defined(USE_VIRTUAL_KEYBOARD)
xkb:bg::bul	bg	bul	!defined(USE_VIRTUAL_KEYBOARD)
xkb:bg:phonetic:bul	bg(phonetic)	bul	!defined(USE_VIRTUAL_KEYBOARD)
xkb:ca:eng:eng	ca(eng)	eng	!defined(USE_VIRTUAL_KEYBOARD)
xkb:cz::cze	cz	cze	!defined(USE_VIRTUAL_KEYBOARD)
xkb:ee::est	ee	est	!defined(USE_VIRTUAL_KEYBOARD)
xkb:es::spa	es	spa	!defined(USE_VIRTUAL_KEYBOARD)
xkb:es:cat:cat	es(cat)	cat	!defined(USE_VIRTUAL_KEYBOARD)
xkb:dk::dan	dk	dan	!defined(USE_VIRTUAL_KEYBOARD)
xkb:gr::gre	gr	gre	!defined(USE_VIRTUAL_KEYBOARD)
xkb:il::heb	il	heb	!defined(USE_VIRTUAL_KEYBOARD)
xkb:latam::spa	latam	spa	!defined(USE_VIRTUAL_KEYBOARD)
xkb:lt::lit	lt	lit	!defined(USE_VIRTUAL_KEYBOARD)
xkb:lv:apostrophe:lav	lv(apostrophe)	lav	!defined(USE_VIRTUAL_KEYBOARD)
xkb:hr::scr	hr	scr	!defined(USE_VIRTUAL_KEYBOARD)
xkb:gb:extd:eng	gb(extd)	eng	!defined(USE_VIRTUAL_KEYBOARD)
xkb:gb:dvorak:eng	gb(dvorak)	eng	!defined(USE_VIRTUAL_KEYBOARD)
xkb:fi::fin	fi	fin	!defined(USE_VIRTUAL_KEYBOARD)
xkb:hu::hun	hu	hun	!defined(USE_VIRTUAL_KEYBOARD)
xkb:it::ita	it	ita	!defined(USE_VIRTUAL_KEYBOARD)
xkb:no::nob	no	nob	!defined(USE_VIRTUAL_KEYBOARD)
xkb:pl::pol	pl	pol	!defined(USE_VIRTUAL_KEYBOARD)
xkb:pt::por	pt	por	!defined(USE_VIRTUAL_KEYBOARD)
xkb:ro::rum	ro	rum	!defined(USE_VIRTUAL_KEYBOARD)
xkb:se::swe	se	swe	!defined(USE_VIRTUAL_KEYBOARD)
xkb:sk::slo	sk	slo	!defined(USE_VIRTUAL_KEYBOARD)
xkb:si::slv	si	slv	!defined(USE_VIRTUAL_KEYBOARD)
xkb:rs::srp	rs	srp	!defined(USE_VIRTUAL_KEYBOARD)
xkb:tr::tur	tr	tur	!defined(USE_VIRTUAL_KEYBOARD)
xkb:ua::ukr	ua	ukr	!defined(USE_VIRTUAL_KEYBOARD)

# TODO(yusukes): Support xkb:latam:deadtilde:spa and/or xkb:latam:nodeadkeys:spa
# if necessary.