CLDR v22 adds an XML specification for keyboard layouts, and over 370 new files of XML keyboard mappings (latest / dev), collected from publicly available data for four different platforms: Android, Chrome OS, OS X, and Windows.

Such a standardized format allows for the communication of keyboard mapping data between different modules, and the comparison of data across different vendors and platforms. The standardized identifier for keyboards can be used to communicate, internally or externally, a request for a particular keyboard mapping that is to be used to transform either text or keystrokes. The corresponding data can then be used to perform the requested actions.

There are some basic charts that show aspects of this data.

Layouts (Latest / Dev)

These show the different available layouts per locale. In each layout, the key is gray if it doesn't generate anything, and green if it has either a long-press or a transform (dead-key). The green keys will show their results if you hover, such as:
  •  ̀a→à;    ̀A→À;    ̀e→è;
  • LP→3 é ë
The long press is abbreviated as LP.

Characters → Keyboards (Latest / Dev)

These show a mapping of characters (and strings, in some cases) to keyboards that can generate them.

Title Description
Script The script code for the character. The same character may be under several scripts.
Char The character (or string)
Code The hex codes for the character(s)
Name The name(s) of the characters
Keyboards The keyboards that can generate that character. For brevity, various conventions are used. 

At the end of each script, the characters that no keyboards generate are listed. For example, none of the Greek keyboards we have can generate any of [Ͱ-ͳͶͷϏϼᴦ-ᴪᵝ-ᵡᵦ-ᵪᶿάέήίόύώΆιΈΉΐΊΰΎΌΏΩ\U00010140-\U0001018a\U0001d200-\U0001d245]. To see a detailed listing, copy and paste into the Input box of unicodeset, then click Show Set.


The format is a series of <platform>:<items>, separated by spaces. The items have compact format:

Example Description
(de/neo|fr-CA) The keyboards are de-t-k0-chromeos-de-neo and fr-CA-t-k0-chromeos
ka/(∅|qwerty) The keyboards ka-t-k0-<platform> and ka-t-k0-<platform>-qwerty 
(fr-CA|km|lv/*|tr/trf) The * indicates that all variants generate that character.
* All of the keyboards on this platform generate the character
57/64 57 of the 64 keyboards on this platform generate the character

Keyboards → Characters (Latest / Dev)

These show a mapping of keyboards to the characters that they generate, broken down by certain categories:

Title Description
Name The English name of the locale
Locale The Unicode locale identifier
Platform Either the platform, or ALL for characters common to all platforms
Variant The keyboard variant (such as qwerty), or COMMON for characters common to the platform (or ALL).
Script The main script of the keyboard
Statistics These are for all the characters (including COMMON). Examples:
Arab:36 36 characters are in Arabic 
k∩cldr:44 44 characters are the same as the CLDR exemplar characters for the locale (main+aux) 
k‑cldr:34 34 characters are in the keyboard, but not in CLDR exemplars
cldr‑k:4 4 characters are in the CLDR exemplars, but not in the keyboard. (This typically indicates that the keyboard is missing some commonly-used characters.)
Characters A UnicodeSet of the characters (and strings) that can be generated by the keyboard. To see a detailed listing, copy and paste into the Input box of unicodeset, then click Show Set