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. 3 # 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. 11 # 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. 21 # 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). 25 # 26 # Each non-comment line contains the following tab-separated columns. 27 # 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)") 42 # 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 46 # 47 # * tools/gen_keyboard_overlay_data/gen_keyboard_overlay_data.py 48 # 49 # and update the following files by running this script. 50 # 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 54 # 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. 59 # 60 # If you add a new language such that some of its layouts can be used at 61 # signin screen (e.g. it is "Full Latin Keyboard Layout" therefore allowing 62 # input of gmail password), you should also update 63 # kHasLatinKeyboardLanguageList[] in 64 # chrome/browser/chromeos/input_method/input_method_manager_impl_ll.cc 65 # 66 # If you add a new keyboard layout for existing language, please ensure 67 # that information in kHasLatinKeyboardLanguageList[] is still correct. 68 69 # U.S. English 70 xkb:us::eng us en-US 71 xkb:us:intl:eng us(intl) en-US 72 xkb:us:altgr-intl:eng us(altgr-intl) en-US 73 xkb:us:dvorak:eng us(dvorak) en-US 74 xkb:us:colemak:eng us(colemak) en-US 75 # U.S. English entiries have to be above the Dutch entry so that xkb:us:intl:eng 76 # will be selected as the default keyboard when the UI language is set to Dutch. 77 78 # Dutch 79 xkb:be::nld be nl 80 # We don't support xkb:nl::nld. See b/4430951. 81 82 # French 83 xkb:fr::fra fr fr 84 xkb:be::fra be fr 85 xkb:ca::fra ca fr 86 xkb:ch:fr:fra ch(fr) fr 87 xkb:ca:multix:fra ca(multix) fr 88 89 # German 90 xkb:de::ger de de 91 xkb:de:neo:ger de(neo) de 92 xkb:be::ger be de 93 xkb:ch::ger ch de 94 95 # Japanese 96 # |kMozcJaInputMethodIds| in ibus_ui_controller.cc should also be updated when 97 # a new Mozc Japanese IME for another keyboard layout is added. 98 xkb:jp::jpn jp ja 99 100 # Russian 101 xkb:ru::rus ru ru 102 xkb:ru:phonetic:rus ru(phonetic) ru 103 104 # Keyboard layouts. 105 xkb:br::por br pt-BR 106 xkb:bg::bul bg bg 107 xkb:bg:phonetic:bul bg(phonetic) bg 108 xkb:ca:eng:eng ca(eng) en-CA 109 xkb:cz::cze cz cs 110 xkb:cz:qwerty:cze cz(qwerty) cs 111 xkb:ee::est ee et 112 xkb:es::spa es es 113 xkb:es:cat:cat es(cat) ca 114 xkb:dk::dan dk da 115 xkb:gr::gre gr el 116 xkb:il::heb il he 117 xkb:latam::spa latam es 118 xkb:lt::lit lt lt 119 xkb:lv:apostrophe:lav lv(apostrophe) lv 120 xkb:hr::scr hr hr 121 xkb:gb:extd:eng gb(extd) en-GB 122 xkb:gb:dvorak:eng gb(dvorak) en-GB 123 xkb:fi::fin fi fi 124 xkb:hu::hun hu hu 125 xkb:it::ita it it 126 xkb:is::ice is is 127 xkb:no::nob no nb 128 xkb:pl::pol pl pl 129 xkb:pt::por pt pt-PT 130 xkb:ro::rum ro ro 131 xkb:se::swe se sv 132 xkb:sk::slo sk sk 133 xkb:si::slv si sl 134 xkb:rs::srp rs sr 135 xkb:tr::tur tr tr 136 xkb:ua::ukr ua uk 137 xkb:by::bel by be 138 xkb:am:phonetic:arm am hy 139 xkb:ge::geo ge ka 140 xkb:mn::mon mn mn 141 # TODO(yusukes): Support xkb:latam:deadtilde:spa and/or xkb:latam:nodeadkeys:spa 142 # if necessary. 143