{
    "mode": "man",
    "parameter": "CKBCOMP",
    "section": "1",
    "url": "https://www.chedong.com/phpMan.php/man/CKBCOMP/1/json",
    "generated": "2026-07-05T13:14:18Z",
    "synopsis": "ckbcomp [OPTION...] [XKBLAYOUT [XKBVARIANT [XKBOPTIONS]...]]",
    "sections": {
        "NAME": {
            "content": "ckbcomp - compile a XKB keyboard description to a keymap suitable for loadkeys or kbdcontrol\n\n",
            "subsections": []
        },
        "SYNOPSIS": {
            "content": "ckbcomp [OPTION...] [XKBLAYOUT [XKBVARIANT [XKBOPTIONS]...]]\n\n",
            "subsections": []
        },
        "DESCRIPTION": {
            "content": "The  ckbcomp  keymap compiler converts a description of an XKB keyboard layout into a console\nkeymap that can be read directly by loadkeys(1) or kbdcontrol(1).\n\nOn its standard output ckbcomp dumps the generated keyboard definition.  The  most  important\ndifference  between  the  arguments of setxkbmap(1) and the arguments of ckbcomp is the addi‐\ntional parameter -charmap when non-Unicode keyboard map is wanted.  Without -charmap  ckbcomp\nwill generate Unicode keyboard.\n\n\n",
            "subsections": []
        },
        "OPTIONS": {
            "content": "",
            "subsections": [
                {
                    "name": "General options",
                    "content": "-?,-help\nPrint a usage message and exit.\n"
                },
                {
                    "name": "-charmap",
                    "content": "The encoding to use for the output keymap.  There should be an character mapping table\ndefining this encoding  in  /usr/share/consoletrans.   Definitions  of  the  following\ncharmaps  are provided: ARMSCII-8, CP1251, CP1255, CP1256, GEORGIAN-ACADEMY, GEORGIAN-\nPS, IBM1133, ISIRI-3342, ISO-8859-1, ISO-8859-2, ISO-8859-3,  ISO-8859-4,  ISO-8859-5,\nISO-8859-6, ISO-8859-7, ISO-8859-8, ISO-8859-9, ISO-8859-10, ISO-8859-11, ISO-8859-13,\nISO-8859-14, ISO-8859-15, ISO-8859-16, KOI8-R, KOI8-U, TIS-620 and VISCII.\n\n"
                },
                {
                    "name": "-I",
                    "content": "This  option  may  be  used  multiple times.  If a file can not be found in any of the\nspecified directories, it will be searched also in some other standard locations, such\nas /etc/console-setup/ckb, /usr/share/X11/xkb and /etc/X11/xkb\n\n",
                    "flag": "-I"
                },
                {
                    "name": "-v",
                    "content": "Set level of detail for listing.  The argument level must be a number from 1 to 10.\n",
                    "flag": "-v"
                },
                {
                    "name": "-compact",
                    "content": "Generate  a  compact keymap with at most two xkb groups and two levels in each or only\none xkb-group and up to four levels.\n"
                },
                {
                    "name": "-freebsd",
                    "content": "Generate a keymap for FreeBSD.\n"
                },
                {
                    "name": "-backspace",
                    "content": "Specifies the behaviour of the <BackSpace>  and  <Delete>  keys.  Value  bs  specifies\nVT100-conformant  behaviour: <BackSpace> will generate ^H (ASCII BS) and <Delete> will\ngenerate ^?  (ASCII DEL).  Value del specifies VT220-conformant behavior:  <BackSpace>\nwill generate ^?  (ASCII DEL) and <Delete> will generate a special function sequence.\n\n"
                },
                {
                    "name": "XKB Keyboard Description",
                    "content": "The  keyboard  layout,  variant  and options components can be also specified directly on the\ncommand line.  See the synopsis of the command.\n"
                },
                {
                    "name": "-symbols",
                    "content": "Specifies the symbols component name of the XKB keyboard description.\n"
                },
                {
                    "name": "-keycodes",
                    "content": "Specifies the keycodes component name of the XKB keyboard description.\n"
                },
                {
                    "name": "-rules",
                    "content": "The name of the rules file to use.\n"
                },
                {
                    "name": "-model",
                    "content": "Specifies the keyboard model used to choose the component names.\n"
                },
                {
                    "name": "-layout",
                    "content": "Specifies the layout used to choose the component names.\n"
                },
                {
                    "name": "-variant",
                    "content": "Specifies the layout variant used to choose the component names.\n"
                },
                {
                    "name": "-option",
                    "content": "Adds an option used to choose component names.\n\n"
                }
            ]
        },
        "FILES": {
            "content": "/usr/share/consoletrans\n/etc/console-setup/ckb\n/usr/share/X11/xkb\n/etc/X11/xkb\n\n",
            "subsections": []
        },
        "NOTES": {
            "content": "If the option -freebsd is used together with -backspace del, then the key <Delete> will  gen‐\nerate  the special code fkey70.  It is your responsibility to assign the appropriate sequence\nto this special  code by using the following command:\n\nkbdcontrol -f 70 \"`printf '\\033[3~'`\"\n\n\n",
            "subsections": []
        },
        "SEE ALSO": {
            "content": "keyboard(5), setxkbmap(1)\n\n\n\nconsole-setup                                2011-03-17                                   CKBCOMP(1)",
            "subsections": []
        }
    },
    "summary": "ckbcomp - compile a XKB keyboard description to a keymap suitable for loadkeys or kbdcontrol",
    "flags": [
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "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."
        },
        {
            "flag": "-I",
            "long": null,
            "arg": null,
            "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"
        },
        {
            "flag": "-v",
            "long": null,
            "arg": null,
            "description": "Set level of detail for listing. The argument level must be a number from 1 to 10."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "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."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Generate a keymap for FreeBSD."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "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."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Specifies the symbols component name of the XKB keyboard description."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Specifies the keycodes component name of the XKB keyboard description."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "The name of the rules file to use."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Specifies the keyboard model used to choose the component names."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Specifies the layout used to choose the component names."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Specifies the layout variant used to choose the component names."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Adds an option used to choose component names."
        }
    ],
    "examples": [],
    "see_also": [
        {
            "name": "keyboard",
            "section": "5",
            "url": "https://www.chedong.com/phpMan.php/man/keyboard/5/json"
        },
        {
            "name": "setxkbmap",
            "section": "1",
            "url": "https://www.chedong.com/phpMan.php/man/setxkbmap/1/json"
        }
    ]
}