summaryrefslogtreecommitdiffstats
path: root/chromeos/ime/input_methods.txt
blob: 1d1d9abe5d7b19a4920e48537273e32e4658f818 (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
203
204
205
206
207
208
209
210
211
212
# 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-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 keyboard layouts
#    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 Chrome. (ex. "xkb:ca::fra") You should *NEVER*
#    change the ID since the ID might be written in user's ~/Preferences. For
#    example, three-letter ISO 639-2/B codes are used for IDs start with "xkb:"
#    for histrical reason, but we should not replace them with two-letter 639-1
#    codes that are currently in use in the 3rd column.
# 2) The keyboard layout ID used by XKB. (ex. "us", "us(dvorak)", "ca",
#    "handwriting-vk,jp"). See also: /usr/share/X11/xkb/symbols.
# 3) The language code (ex. "fr"). Only one format, ISO 639-1 compliant two-
#    letter language code which can be recognized by ICU, is allowed. Do not use
#    three-letter ones (ISO 639-2/T and 639-2/B) here. For "en", "pt", and "zh",
#    two-letter upper-case country code should be added (ex. "en-US", "zh-TW").
#    See http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes for details.
# 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/resources/chromeos/keyboard_overlay_data.js
#    * chrome/browser/ui/webui/chromeos/keyboard_overlay_ui.cc
#
#   If you add an XKB layout which depends on X11's Mod3Mask (e.g. Germany Neo2
#   XKB layout), you should also update IsMod3UsedByCurrentInputMethod() method
#   in chrome/browser/ui/ash/event_rewriter.cc. Otherwise, Mod3Mask might be
#   removed unexpectedly by the rewriter.

# U.S. English
xkb:us::eng	us	en-US
xkb:us:intl:eng	us(intl)	en-US	
xkb:us:altgr-intl:eng	us(altgr-intl)	en-US	
xkb:us:dvorak:eng	us(dvorak)	en-US	
xkb:us:colemak:eng	us(colemak)	en-US	
english-m	us	en-US	
# 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	nl	
# We don't support xkb:nl::nld. See b/4430951.

# French
xkb:fr::fra	fr	fr
xkb:be::fra	be	fr	
xkb:ca::fra	ca	fr	
xkb:ch:fr:fra	ch(fr)	fr	

# German
xkb:de::ger	de	de	
xkb:de:neo:ger	de(neo)	de	
xkb:be::ger	be	de	
xkb:ch::ger	ch	de	

# Japanese
mozc	us	ja
mozc-jp	jp	ja	
mozc-dv	us(dvorak)	ja	
# |kMozcJaInputMethodIds| in ibus_ui_controller.cc should also be updated when
# a new Mozc Japanese IME for another keyboard layout is added.
xkb:jp::jpn	jp	ja	

# Russian
xkb:ru::rus	ru	ru	
xkb:ru:phonetic:rus	ru(phonetic)	ru	

# 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	

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

# 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)	ko

# 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:phonetic	us	ta
m17n:ta:inscript	us	ta
m17n:ta:tamil99	us	ta
m17n:ta:itrans	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

# Keyboard layouts.
xkb:br::por	br	pt-BR	
xkb:bg::bul	bg	bg	
xkb:bg:phonetic:bul	bg(phonetic)	bg	
xkb:ca:eng:eng	ca(eng)	en-CA	
xkb:cz::cze	cz	cs	
xkb:ee::est	ee	et	
xkb:es::spa	es	es	
xkb:es:cat:cat	es(cat)	ca	
xkb:dk::dan	dk	da	
xkb:gr::gre	gr	el	
xkb:il::heb	il	he	
xkb:latam::spa	latam	es	
xkb:lt::lit	lt	lt	
xkb:lv:apostrophe:lav	lv(apostrophe)	lv	
xkb:hr::scr	hr	hr	
xkb:gb:extd:eng	gb(extd)	en-GB	
xkb:gb:dvorak:eng	gb(dvorak)	en-GB	
xkb:fi::fin	fi	fi	
xkb:hu::hun	hu	hu	
xkb:it::ita	it	it	
xkb:no::nob	no	nb	
xkb:pl::pol	pl	pl	
xkb:pt::por	pt	pt-PT	
xkb:ro::rum	ro	ro	
xkb:se::swe	se	sv	
xkb:sk::slo	sk	sk	
xkb:si::slv	si	sl	
xkb:rs::srp	rs	sr	
xkb:tr::tur	tr	tr	
xkb:ua::ukr	ua	uk	
# TODO(yusukes): Support xkb:latam:deadtilde:spa and/or xkb:latam:nodeadkeys:spa
# if necessary.