This site has been retired. For up to date information, see handbook.gnome.org or gitlab.gnome.org.


[Home] [TitleIndex] [WordIndex

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.


2024-10-23 11:36