blob: 1e5b69b2a76db426aca1773054441a8d79f08d57 [file] [log] [blame] [edit]
# 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/chromeos/input_method/xkeyboard_data.h
# * chrome/browser/resources/keyboard_overlay_data.js
# * chrome/browser/ui/webui/chromeos/keyboard_overlay_ui.cc
# 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.