Save errno for logging before potentially overwriting it.
[chromium-blink-merge.git] / chromeos / ime / input_methods.txt
blob16082565000cba8022bd604cae0bec2844651d3e
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)")
43 # Notes:
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.
60 # U.S. English
61 xkb:us::eng     us      en-US
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
66 english-m       us      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.
70 # Dutch
71 xkb:be::nld     be      nl
72 # We don't support xkb:nl::nld. See b/4430951.
74 # French
75 xkb:fr::fra     fr      fr
76 xkb:be::fra     be      fr
77 xkb:ca::fra     ca      fr
78 xkb:ch:fr:fra   ch(fr)  fr
79 xkb:ca:multix:fra ca(multix) fr
81 # German
82 xkb:de::ger     de      de
83 xkb:de:neo:ger  de(neo) de
84 xkb:be::ger     be      de
85 xkb:ch::ger     ch      de
87 # Japanese
88 # |kMozcJaInputMethodIds| in ibus_ui_controller.cc should also be updated when
89 # a new Mozc Japanese IME for another keyboard layout is added.
90 xkb:jp::jpn     jp      ja
92 # Russian
93 xkb:ru::rus     ru      ru
94 xkb:ru:phonetic:rus     ru(phonetic)    ru
96 # Traditional Chinese
97 m17n:zh:quick   us      zh-TW
99 # Vietnamese
100 m17n:vi:vni     us      vi
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
104 # feature.
106 # Korean
107 mozc-hangul     kr(kr104)       ko
108 xkb:kr:kr104:kor        kr(kr104)       ko
110 # Keyboard layouts.
111 xkb:br::por     br      pt-BR
112 xkb:bg::bul     bg      bg
113 xkb:bg:phonetic:bul     bg(phonetic)    bg
114 xkb:ca:eng:eng  ca(eng) en-CA
115 xkb:cz::cze     cz      cs
116 xkb:cz:qwerty:cze       cz(qwerty)      cs
117 xkb:ee::est     ee      et
118 xkb:es::spa     es      es
119 xkb:es:cat:cat  es(cat) ca
120 xkb:dk::dan     dk      da
121 xkb:gr::gre     gr      el
122 xkb:il::heb     il      he
123 xkb:latam::spa  latam   es
124 xkb:lt::lit     lt      lt
125 xkb:lv:apostrophe:lav   lv(apostrophe)  lv
126 xkb:hr::scr     hr      hr
127 xkb:gb:extd:eng gb(extd)        en-GB
128 xkb:gb:dvorak:eng       gb(dvorak)      en-GB
129 xkb:fi::fin     fi      fi
130 xkb:hu::hun     hu      hu
131 xkb:it::ita     it      it
132 xkb:is::ice     is      is
133 xkb:no::nob     no      nb
134 xkb:pl::pol     pl      pl
135 xkb:pt::por     pt      pt-PT
136 xkb:ro::rum     ro      ro
137 xkb:se::swe     se      sv
138 xkb:sk::slo     sk      sk
139 xkb:si::slv     si      sl
140 xkb:rs::srp     rs      sr
141 xkb:tr::tur     tr      tr
142 xkb:ua::ukr     ua      uk
143 xkb:by::bel     by      be
144 xkb:am:phonetic:arm     am      hy
145 xkb:ge::geo     ge      ka
146 xkb:mn::mon     mn      mn
147 # TODO(yusukes): Support xkb:latam:deadtilde:spa and/or xkb:latam:nodeadkeys:spa
148 # if necessary.