{
    "mode": "man",
    "parameter": "XKBCOMP",
    "section": "1",
    "url": "https://www.chedong.com/phpMan.php/man/XKBCOMP/1/json",
    "generated": "2026-05-30T06:07:29Z",
    "synopsis": "xkbcomp [option] source [ destination ]",
    "sections": {
        "NAME": {
            "content": "xkbcomp - compile XKB keyboard description\n",
            "subsections": []
        },
        "SYNOPSIS": {
            "content": "xkbcomp [option] source [ destination ]\n",
            "subsections": []
        },
        "DESCRIPTION": {
            "content": "The  xkbcomp keymap compiler converts a description of an XKB keymap into one of several out‐\nput formats.   The most common use for xkbcomp is to create a compiled keymap file (.xkm  ex‐\ntension)  which can be read directly by XKB-capable X servers or utilities.   The keymap com‐\npiler can also produce C header files or XKB source files.  The C header  files  produced  by\nxkbcomp  can  be included by X servers or utilities that need a built-in default keymap.  The\nXKB source files produced by xkbcomp are fully resolved and can be used to  verify  that  the\nfiles  which  typically make up an XKB keymap are merged correctly or to create a single file\nwhich contains a complete description of the keymap.\n\nThe source may specify an X display, or an .xkb or .xkm file;  unless  explicitly  specified,\nthe  format  of  destination  depends on the format of the source.   Compiling a .xkb (keymap\nsource) file generates a .xkm (compiled keymap file) by default.   If the source  is  a  .xkm\nfile or an X display, xkbcomp generates a keymap source file by default.\n\nIf  the  destination is an X display, the keymap for the display is updated with the compiled\nkeymap.\n\nThe name of the destination is usually computed from the name of the source, with the  exten‐\nsion replaced as appropriate.  When compiling a single map from a file which contains several\nmaps, xkbcomp constructs the destination file name by appending an appropriate  extension  to\nthe name of the map to be used.\n",
            "subsections": []
        },
        "OPTIONS": {
            "content": "",
            "subsections": [
                {
                    "name": "-a",
                    "content": "ment.  Only affects .xkb format output.\n",
                    "flag": "-a"
                },
                {
                    "name": "-C",
                    "content": "",
                    "flag": "-C"
                },
                {
                    "name": "-dflts",
                    "content": ""
                },
                {
                    "name": "-em1",
                    "content": "Print msg before printing first error message.\n"
                },
                {
                    "name": "-emp",
                    "content": "Print msg at the start of each message line.\n"
                },
                {
                    "name": "-eml",
                    "content": "If there were any errors, print msg before exiting.\n"
                },
                {
                    "name": "-help, -?",
                    "content": "Show available options.\n",
                    "flag": "-?"
                },
                {
                    "name": "-I",
                    "content": "scription.   After  all  directories  specified by -I options have been searched, the\ncurrent directory and finally, the default xkb directory /usr/share/X11/xkb  will  be\nsearched.\n\nTo prevent the current and default directories from being searched, use the -I option\nalone (i.e. without a directory), before any -I options that specify the  directories\nyou do want searched.\n",
                    "flag": "-I"
                },
                {
                    "name": "-i",
                    "content": "If  source  or destination is a valid X display, load the keymap from/into the device\nwith the specified ID (not name).\n",
                    "flag": "-i"
                },
                {
                    "name": "-l",
                    "content": "implemented yet).\n",
                    "flag": "-l"
                },
                {
                    "name": "-m",
                    "content": "",
                    "flag": "-m"
                },
                {
                    "name": "-merge",
                    "content": ""
                },
                {
                    "name": "-o",
                    "content": "source file with an appropriate extension for the output format.\n",
                    "flag": "-o"
                },
                {
                    "name": "-opt",
                    "content": "Specifies a list of optional parts.  Compilation errors in any optional parts are not\nfatal.   Parts may consist of any combination of the letters c, g,k,s,t which specify\nthe compatibility map, geometry, keycodes, symbols and types, respectively.\n"
                },
                {
                    "name": "-R",
                    "content": "",
                    "flag": "-R"
                },
                {
                    "name": "-synch",
                    "content": ""
                },
                {
                    "name": "-version",
                    "content": "Print version number.\n"
                },
                {
                    "name": "-w",
                    "content": "all warnings; a warning level of 10 enables them all.\n",
                    "flag": "-w"
                },
                {
                    "name": "-xkb",
                    "content": ""
                },
                {
                    "name": "-xkm",
                    "content": ""
                }
            ]
        },
        "SEE ALSO": {
            "content": "X(7)\n",
            "subsections": []
        },
        "COPYRIGHT": {
            "content": "Copyright 1994, Silicon Graphics Computer Systems and X Consortium, Inc.\nSee X(7) for a full statement of rights and permissions.\n",
            "subsections": []
        },
        "AUTHOR": {
            "content": "Erik Fortune, Silicon Graphics\n\n\n\nX Version 11                                xkbcomp 1.4.3                                 XKBCOMP(1)",
            "subsections": []
        }
    },
    "summary": "xkbcomp - compile XKB keyboard description",
    "flags": [
        {
            "flag": "-a",
            "long": null,
            "arg": null,
            "description": "ment. Only affects .xkb format output."
        },
        {
            "flag": "-C",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Print msg before printing first error message."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Print msg at the start of each message line."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "If there were any errors, print msg before exiting."
        },
        {
            "flag": "-?",
            "long": null,
            "arg": null,
            "description": "Show available options."
        },
        {
            "flag": "-I",
            "long": null,
            "arg": null,
            "description": "scription. After all directories specified by -I options have been searched, the current directory and finally, the default xkb directory /usr/share/X11/xkb will be searched. To prevent the current and default directories from being searched, use the -I option alone (i.e. without a directory), before any -I options that specify the directories you do want searched."
        },
        {
            "flag": "-i",
            "long": null,
            "arg": null,
            "description": "If source or destination is a valid X display, load the keymap from/into the device with the specified ID (not name)."
        },
        {
            "flag": "-l",
            "long": null,
            "arg": null,
            "description": "implemented yet)."
        },
        {
            "flag": "-m",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "-o",
            "long": null,
            "arg": null,
            "description": "source file with an appropriate extension for the output format."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Specifies a list of optional parts. Compilation errors in any optional parts are not fatal. Parts may consist of any combination of the letters c, g,k,s,t which specify the compatibility map, geometry, keycodes, symbols and types, respectively."
        },
        {
            "flag": "-R",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Print version number."
        },
        {
            "flag": "-w",
            "long": null,
            "arg": null,
            "description": "all warnings; a warning level of 10 enables them all."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": ""
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": ""
        }
    ],
    "examples": [],
    "see_also": [
        {
            "name": "X",
            "section": "7",
            "url": "https://www.chedong.com/phpMan.php/man/X/7/json"
        }
    ]
}