Adding a new keyboard layout
Caribou's keyboard layout definitions are found under data/layouts/ in the source tree. They are written in an XML format and Caribou provides a couple of utilities for creating a new layout.
The Unicode CLDR repository provides an extensive set of keyboard layouts used in platforms including Android, Chrome OS, and Mac OS X. The tools/convert_cldr.py script takes a CLDR data file and produces a boilerplate of a Caribou keyboard layout file:
./tools/convert_cldr.py fr-t-k0-android-qwertz.xml > fr.xml
The generated layout file is not really useful as it is, because it does not contain special keys such as level toggle (e.g. Shift or CapsLock). Take a look at the existing layouts and adjust it. The bin/antler-keyboard command has a preview mode, with which you can see how it looks:
./bin/antler-keyboard --command preview --file fr.xml
Since there is no level toggle key by default, use the --level option to specify the keyboard level:
./bin/antler-keyboard --command preview --file fr.xml --level level2
Once the layout file becomes ready, add it to data/layouts/*/Makefile.am and send it as a patch.