Home | History | Annotate | Download | only in ime
      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