OLPC Keyboard layouts
XKB Symbol files
Editing these is described in Keyboard definitions. Release 12.1.0 used only upstream files.
Please refer to the xkb_symbols "olpc" sections of the various symbol files  for the OLPC-specific keyboard mappings).
OLPC keyboard layouts
Changing the language of the keyboard is independent of changing the language currently displayed. The language currently displayed can be changed by using the Language section of the Sugar Control Panel.
Membrane keyboard layouts
English (US international); Spanish (Latin America); Portuguese (Brazilian); Amharic (Ethiopic); Arabic; Nigerian (Igbo, Hausa, Yoruba); French; Thai; Urdu; Cyrillic (Russian); Turkish; Nepali; Mongolian; Kazakh; Devanagari; Uzbek; Pashto; Dari; Armenian; Khmer; Pulaar; Italian; Kreyòl; German; Chinese (Simplified); OLPC AZERTY
Non-membrane keyboard layouts
Blank Keyboard Artwork
Artwork defining the inner dimensions of the membrane keyboard is available here: keyboard-blank.svg
The SVG files for the OLPC keyboard layouts are here.