ckbcomp - compile a XKB keyboard description to a keymap suitable for loadkeys or kbdcontrol
ckbcomp [OPTION...] [XKBLAYOUT [XKBVARIANT [XKBOPTIONS]...]]
The ckbcomp keymap compiler converts a description of an XKB keyboard layout into a console keymap that can be read directly by loadkeys(1) or kbdcontrol(1).
On its standard output ckbcomp dumps the generated keyboard definition. The most important difference between the arguments of setxkbmap(1) and the arguments of ckbcomp is the additional parameter -charmap when non-Unicode keyboard map is wanted. Without -charmap ckbcomp will generate Unicode keyboard.
-?,-help Print a usage message and exit. -charmap charmap The encoding to use for the output keymap. There should be an character mapping table defining this encoding in /usr/share/consoletrans. Definitions of the following charmaps are provided: ARMSCII-8, CP1251, CP1255, CP1256, GEORGIAN-ACADEMY, GEORGIAN-PS, IBM1133, ISIRI-3342, ISO-8859-1, ISO-8859-2, ISO-8859-3, ISO-8859-4, ISO-8859-5, ISO-8859-6, ISO-8859-7, ISO-8859-8, ISO-8859-9, ISO-8859-10, ISO-8859-11, ISO-8859-13, ISO-8859-14, ISO-8859-15, ISO-8859-16, KOI8-R, KOI8-U, TIS-620 and VISCII.
-Idir Look in the top-level directory dir for files included by the keymap description. This option may be used multiple times. If a file can not be found in any of the specified directories, it will be searched also in some other standard locations, such as /etc/console-setup/ckb, /usr/share/X11/xkb and /etc/X11/xkb
-v level Set level of detail for listing. The argument level must be a number from 1 to 10. -compact Generate a compact keymap with at most two xkb groups and two levels in each or only one xkb-group and up to four levels. -freebsd Generate a keymap for FreeBSD. -backspace [bs|del] Specifies the behaviour of the <BackSpace> and <Delete> keys. Value bs specifies VT100-conformant behaviour: <BackSpace> will generate ^H (ASCII BS) and <Delete> will generate ^? (ASCII DEL). Value del specifies VT220-conformant behavior: <BackSpace> will generate ^? (ASCII DEL) and <Delete> will generate a special function sequence.
The keyboard layout, variant and options components can be also specified directly on the command line. See the synopsis of the command.
-symbols name Specifies the symbols component name of the XKB keyboard description. -keycodes name Specifies the keycodes component name of the XKB keyboard description. -rules name The name of the rules file to use. -model name Specifies the keyboard model used to choose the component names. -layout name Specifies the layout used to choose the component names. -variant name Specifies the layout variant used to choose the component names. -option name Adds an option used to choose component names.
If the option -freebsd is used together with -backspace del, then the key <Delete> will generate the special code fkey70. It is your responsibility to assign the appropriate sequence to this special code by using the following command:
kbdcontrol -f 70 "printf \033[3~"