# phpman > man > ckbcomp(1)

[CKBCOMP(1)](https://www.chedong.com/phpMan.php/man/CKBCOMP/1/markdown)                           Console-setup User's Manual                          [CKBCOMP(1)](https://www.chedong.com/phpMan.php/man/CKBCOMP/1/markdown)



## NAME
       ckbcomp - compile a XKB keyboard description to a keymap suitable for loadkeys or kbdcontrol


## SYNOPSIS
       **ckbcomp** [_OPTION_...] [_XKBLAYOUT_ [_XKBVARIANT_ [_XKBOPTIONS_]...]]


## DESCRIPTION
       The  **ckbcomp**  keymap compiler converts a description of an XKB keyboard layout into a console
       keymap that can be read directly by [**loadkeys**(1)](https://www.chedong.com/phpMan.php/man/loadkeys/1/markdown) or [**kbdcontrol**(1)](https://www.chedong.com/phpMan.php/man/kbdcontrol/1/markdown).

       On its standard output **ckbcomp** dumps the generated keyboard definition.  The  most  important
       difference  between  the  arguments of [**setxkbmap**(1)](https://www.chedong.com/phpMan.php/man/setxkbmap/1/markdown) and the arguments of **ckbcomp** is the addi‐
       tional parameter _-charmap_ when non-Unicode keyboard map is wanted.  Without _-charmap_  **ckbcomp**
       will generate Unicode keyboard.



## OPTIONS
### General options
       **-?**,**-help**
              Print a usage message and exit.

### -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**.


### -I
              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
              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
              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.


### XKB Keyboard Description
       The  keyboard  layout,  variant  and options components can be also specified directly on the
       command line.  See the synopsis of the command.

### -symbols
              Specifies the symbols component name of the XKB keyboard description.

### -keycodes
              Specifies the keycodes component name of the XKB keyboard description.

### -rules
              The name of the rules file to use.

### -model
              Specifies the keyboard model used to choose the component names.

### -layout
              Specifies the layout used to choose the component names.

### -variant
              Specifies the layout variant used to choose the component names.

### -option
              Adds an option used to choose component names.


## FILES
       _/usr/share/consoletrans_
       _/etc/console-setup/ckb_
       _/usr/share/X11/xkb_
       _/etc/X11/xkb_


## NOTES
       If the option _-freebsd_ is used together with _-backspace_ _del_, then the key <Delete> will  gen‐
       erate  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~'`"



## SEE ALSO
       [**keyboard**(5)](https://www.chedong.com/phpMan.php/man/keyboard/5/markdown), [**setxkbmap**(1)](https://www.chedong.com/phpMan.php/man/setxkbmap/1/markdown)



console-setup                                2011-03-17                                   [CKBCOMP(1)](https://www.chedong.com/phpMan.php/man/CKBCOMP/1/markdown)
