Next Previous Table of Contents

### 9. Creating a new National Keyboard

All system-wide keyboard files are stored in `$KDEDIR/share/apps/kikbd` and all personal keyboard files in `$HOME/.kde/share/apps/kikbd`. Each is identified by its file name excluding the `.kimap` extension. A personal keyboard file hides a system keyboard file having the same file name (not label).

For creating a new keyboard map you should use one of the existing `.kimap` files as a template. Each keyboard file has two major sections.

1. International Keyboard
   In this section the following items can be defined:
   - `Authors`:a list of authors, separated by commas, in the format "name last_name < email address>";
   - `Comment`**: a descriptive comment phrase for this keyboard;
   - `Language`**: the language this keyboard is for;
   - `Charset`: the charset this keyboard is for;
   - `Locale`: the locale this keyboard is for;
   - `Label`*: the label used by `kikbd` to identify this keyboard.
   * - required
   ** - can be translated to other languages

2. KeyboardMap
   This section contains mapping from default symbols to two, three or four new symbols in the form:

           keysym<num> = <default sym>,<sym1>,<sym2>,<sym3>,<sym4>,

   and mapping from key codes to symbols:

           keycode<num> = <key code>,<sym1>,<sym2>,<sym3>,<sym4>,

   Where `num` means any unique number, `sym` means symbol in the form of a hexadecimal number or a form interpreted by X11, `keycode` means the decimal code, and `default sym` means the default symbol for this key (before starting `kikbd`). The first two symbols `sym1, sym2` define the national symbols while `sym3, sym4` define alternate symbols. It is preferrable to use only `keysym` definitions.

   Additionally, in this section, you can also specify CapsSymbols as a list of Latin symbols, separated by commas. which `kikbd` should process during `Caps Lock` emulation.

After you create and test a new keyboard map, you could submit it to the KDE developer team, or directly to the author or maintainer of `kikbd`.

Next Previous Table of Contents