blob: 9e20d220404b496c0b8508ef940d53a6cc0828bc [file] [log] [blame]
# The list of keyboard layouts that we support. The keyboard layout metadata is
# also defined here.
#
# Each non-comment line contains the following tab-or-space-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 indicator string (ex. INTL for xkb:us:intl:eng). This string will be
# shown in system tray or indicator window.
# 5) The additional attibution.
# login: Specified keyboard layout will 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 AltGr or X11's Mod3Mask
# (e.g. Germany Neo2 XKB layout), you should also update kAltGrLayoutIds or
# kMod3LayoutIds in
# chrome/browser/chromeos/input_method/input_method_manager_impl.cc
# Otherwise, Mod3Mask might be removed unexpectedly by the rewriter, and
# sticky keys will not work.
#
# U.S. English
xkb:us::eng us en,en-US,en-AU,en-NZ US login
xkb:us:intl:eng us(intl) en,en-US INTL login
xkb:us:altgr-intl:eng us(altgr-intl) en,en-US EXTD login
xkb:us:dvorak:eng us(dvorak) en,en-US DV login
xkb:us:colemak:eng us(colemak) en,en-US CO login
xkb:us:intl:nld us(intl) nl INTL login
xkb:us:intl:por us(intl) pt-BR INTL login
xkb:us::ind us id US login
xkb:us::fil us fil US login
xkb:us::msa us ms 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 BE login
# We don't support xkb:nl::nld. See b/4430951.
# French
xkb:fr::fra fr fr,fr-FR FR login
xkb:be::fra be fr BE login
xkb:ca::fra ca fr,fr-CA CA login
xkb:ch:fr:fra ch(fr) fr,fr-CH CH login
xkb:ca:multix:fra ca(multix) fr,fr-CA CA login
# German
xkb:de::ger de de,de-DE DE login
xkb:de:neo:ger de(neo) de,de-DE NEO login
xkb:be::ger be de BE login
xkb:ch::ger ch de,de-CH CH 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 JA login
# Russian
xkb:ru::rus ru ru RU
xkb:ru:phonetic:rus ru(phonetic) ru RU
# Keyboard layouts.
xkb:br::por br pt-BR,pt BR login
xkb:bg::bul bg bg BG
xkb:bg:phonetic:bul bg(phonetic) bg BG
xkb:ca:eng:eng ca(eng) en,en-CA CA login
xkb:cz::cze cz cs CZ login
xkb:cz:qwerty:cze cz(qwerty) cs CS login
xkb:ee::est ee et EE login
xkb:es::spa es es ES login
xkb:es:cat:cat es(cat) ca CAS login
xkb:dk::dan dk da DK login
xkb:gr::gre gr el GR
xkb:il::heb il he IL
xkb:latam::spa latam es,es-419 LA login
xkb:lt::lit lt lt LT login
xkb:lv:apostrophe:lav lv(apostrophe) lv LV login
xkb:hr::scr hr hr HR login
xkb:gb:extd:eng gb(extd) en,en-GB GB login
xkb:gb:dvorak:eng gb(dvorak) en,en-GB DV login
xkb:fi::fin fi fi FI login
xkb:hu::hun hu hu HU login
xkb:it::ita it it,it-IT IT login
xkb:is::ice is is IS login
xkb:no::nob no nb,nn,no NO login
xkb:pl::pol pl pl PL login
xkb:pt::por pt pt-PT,pt PT login
xkb:ro::rum ro ro RO login
xkb:se::swe se sv SE login
xkb:sk::slo sk sk SK
xkb:si::slv si sl SI login
xkb:rs::srp rs sr RS
xkb:tr::tur tr tr TR login
xkb:ua::ukr ua uk UA
xkb:by::bel by be BY
xkb:am:phonetic:arm am hy AM
xkb:ge::geo ge ka GE
xkb:mn::mon mn mn MN
xkb:ie::ga ie ga GA login
xkb:mt::mlt mt mt MT login
# TODO(yusukes): Support xkb:latam:deadtilde:spa and/or xkb:latam:nodeadkeys:spa
# if necessary.