# The list of keyboard layouts that we support. The keyboard layout metadata is
# also defined here.
#
# 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.
# We can specify multiple language code with comma separator.
# 4) The additional attibution.
# no-login: Spcified keyboard layout will not be used on login screen or lock
# screen.
#
# 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/resources/chromeos/keyboard_overlay_data.js
# * chrome/browser/ui/webui/chromeos/keyboard_overlay_ui.cc
#
# If you add an XKB layout which depends on X11's Mod3Mask (e.g. Germany Neo2
# XKB layout), you should also update IsMod3UsedByCurrentInputMethod() method
# in chrome/browser/ui/ash/event_rewriter.cc. Otherwise, Mod3Mask might be
# removed unexpectedly by the rewriter.
#
# U.S. English
xkb:us::eng us en-US,en-AU,id,fil,ms login
xkb:us:intl:eng us(intl) en-US,nl,pt-BR login
xkb:us:altgr-intl:eng us(altgr-intl) en-US login
xkb:us:dvorak:eng us(dvorak) en-US login
xkb:us:colemak:eng us(colemak) en-US login
# 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 login
# We don't support xkb:nl::nld. See b/4430951.
# French
xkb:fr::fra fr fr login
xkb:be::fra be fr login
xkb:ca::fra ca fr login
xkb:ch:fr:fra ch(fr) fr login
xkb:ca:multix:fra ca(multix) fr login
# German
xkb:de::ger de de login
xkb:de:neo:ger de(neo) de login
xkb:be::ger be de login
xkb:ch::ger ch de login
# Japanese
# |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 login
# Russian
xkb:ru::rus ru ru
xkb:ru:phonetic:rus ru(phonetic) ru
# Keyboard layouts.
xkb:br::por br pt-BR login
xkb:bg::bul bg bg
xkb:bg:phonetic:bul bg(phonetic) bg
xkb:ca:eng:eng ca(eng) en-CA login
xkb:cz::cze cz cs login
xkb:cz:qwerty:cze cz(qwerty) cs login
xkb:ee::est ee et login
xkb:es::spa es es login
xkb:es:cat:cat es(cat) ca login
xkb:dk::dan dk da login
xkb:gr::gre gr el
xkb:il::heb il he
xkb:latam::spa latam es,es-419 login
xkb:lt::lit lt lt login
xkb:lv:apostrophe:lav lv(apostrophe) lv login
xkb:hr::scr hr hr login
xkb:gb:extd:eng gb(extd) en-GB login
xkb:gb:dvorak:eng gb(dvorak) en-GB login
xkb:fi::fin fi fi login
xkb:hu::hun hu hu login
xkb:it::ita it it login
xkb:is::ice is is login
xkb:no::nob no nb login
xkb:pl::pol pl pl login
xkb:pt::por pt pt-PT login
xkb:ro::rum ro ro login
xkb:se::swe se sv login
xkb:sk::slo sk sk
xkb:si::slv si sl login
xkb:rs::srp rs sr
xkb:tr::tur tr tr login
xkb:ua::ukr ua uk
xkb:by::bel by be
xkb:am:phonetic:arm am hy
xkb:ge::geo ge ka
xkb:mn::mon mn mn
# TODO(yusukes): Support xkb:latam:deadtilde:spa and/or xkb:latam:nodeadkeys:spa
# if necessary.