1 # The list of input methods that we support. The input methods metadata is
2 # also defined here. We use this data for the following purposes.
4 # 1. Exclude unnecessary input methods. For example, we don't need
5 # "ja:anthy", and "zh:pinyin" engines in ibus-m17n since we have better
6 # alternatives outside of ibus-m17n. Excluding these input methods from
7 # the IBus engine XML files, such as /usr/share/ibus/component/m17n.xml,
8 # makes the startup time of the IBus daemon faster. This filtering is
9 # done using a python script at build time of ibus-m17n.
10 # See crosbug.com/4161 for details.
12 # 2. Provide the input methods metadata to Chrome at build time. Chrome
13 # needs to know about the supported input methods for the input method
14 # features, such as the input method switching and the options page,
15 # to work. Note that we can retrieve the same metadata from the IBus
16 # daemon, but Chrome needs be able to get the metadata without talking
17 # to the IBus daemon. This requirement comes from the fact that the
18 # IBus daemon should not run if the user is just using keyboard layouts
19 # such as US keyboard. The metadata generation is done using a python
20 # script at build time of Chrome. See crosbug.com/16961 for details.
22 # The order of the list is important. In Chrome's "Languages and input" options
23 # page, we list input methods in this order, when more than one input methods
24 # are available for a language (ex. French).
26 # Each non-comment line contains the following tab-separated columns.
28 # 1) The input method ID used by Chrome. (ex. "xkb:ca::fra") You should *NEVER*
29 # change the ID since the ID might be written in user's ~/Preferences. For
30 # example, three-letter ISO 639-2/B codes are used for IDs start with "xkb:"
31 # for histrical reason, but we should not replace them with two-letter 639-1
32 # codes that are currently in use in the 3rd column.
33 # 2) The keyboard layout ID used by XKB. (ex. "us", "us(dvorak)", "ca",
34 # "handwriting-vk,jp"). See also: /usr/share/X11/xkb/symbols.
35 # 3) The language code (ex. "fr"). Only one format, ISO 639-1 compliant two-
36 # letter language code which can be recognized by ICU, is allowed. Do not use
37 # three-letter ones (ISO 639-2/T and 639-2/B) here. For "en", "pt", and "zh",
38 # two-letter upper-case country code should be added (ex. "en-US", "zh-TW").
39 # See http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes for details.
40 # 4) [optional] The #if condition for the input method.
41 # (ex. "defined(A)", "!defined(A)||defined(B)")
44 # When adding a line to this list, please also add a mapping from the input
45 # method ID to the keyboard overlay ID to INPUT_METHOD_ID_TO_OVERLAY_ID in
47 # * tools/gen_keyboard_overlay_data/gen_keyboard_overlay_data.py
49 # and update the following files by running this script.
51 # * chrome/app/generated_resources.grd
52 # * chrome/browser/resources/chromeos/keyboard_overlay_data.js
53 # * chrome/browser/ui/webui/chromeos/keyboard_overlay_ui.cc
55 # If you add an XKB layout which depends on X11's Mod3Mask (e.g. Germany Neo2
56 # XKB layout), you should also update IsMod3UsedByCurrentInputMethod() method
57 # in chrome/browser/ui/ash/event_rewriter.cc. Otherwise, Mod3Mask might be
58 # removed unexpectedly by the rewriter.
62 xkb:us:intl:eng us(intl) en-US
63 xkb:us:altgr-intl:eng us(altgr-intl) en-US
64 xkb:us:dvorak:eng us(dvorak) en-US
65 xkb:us:colemak:eng us(colemak) en-US
67 # U.S. English entiries have to be above the Dutch entry so that xkb:us:intl:eng
68 # will be selected as the default keyboard when the UI language is set to Dutch.
72 # We don't support xkb:nl::nld. See b/4430951.
78 xkb:ch:fr:fra ch(fr) fr
79 xkb:ca:multix:fra ca(multix) fr
83 xkb:de:neo:ger de(neo) de
88 # |kMozcJaInputMethodIds| in ibus_ui_controller.cc should also be updated when
89 # a new Mozc Japanese IME for another keyboard layout is added.
94 xkb:ru:phonetic:rus ru(phonetic) ru
97 m17n:zh:quick us zh-TW
101 # Note: Since Chrome does not support "get surrounding text" feature yet,
102 # Vietnames input methods, except 4 input methods above, in m17n-db should
103 # not work fine. The 4 input methods in m17n-db (>= 1.6.0) don't require the
107 mozc-hangul kr(kr104) ko
108 xkb:kr:kr104:kor kr(kr104) ko
113 xkb:bg:phonetic:bul bg(phonetic) bg
114 xkb:ca:eng:eng ca(eng) en-CA
116 xkb:cz:qwerty:cze cz(qwerty) cs
119 xkb:es:cat:cat es(cat) ca
123 xkb:latam::spa latam es
125 xkb:lv:apostrophe:lav lv(apostrophe) lv
127 xkb:gb:extd:eng gb(extd) en-GB
128 xkb:gb:dvorak:eng gb(dvorak) en-GB
144 xkb:am:phonetic:arm am hy
147 # TODO(yusukes): Support xkb:latam:deadtilde:spa and/or xkb:latam:nodeadkeys:spa