An XKB keymap is constructed from a number of components which are compiled only as needed. The source for all of the components can be found in __xkbconfigroot__ .
8 -compat name Specifies the name of the compatibility map component used to construct a keyboard layout.
8 -config file Specifies the name of an XKB configuration file which describes the keyboard to be used.
8 -device device Specifies the numeric device id of the input device to be updated with the new keyboard layout. If not specified, the core keyboard device of the X server is updated.
8 -display display Specifies the display to be updated with the new keyboard layout.
8 -geometry name Specifies the name of the geometry component used to construct a keyboard layout.
8 -help Prints a message describing the valid input to setxkbmap.
8 -I directory Adds a directory to the list of directories to be used to search for specified layout or rules files.
8 -keycodes name Specifies the name of the keycodes component used to construct a keyboard layout.
8 -keymap name Specifies the name of the keymap description used to construct a keyboard layout.
8 -layout name Specifies the name of the layout used to determine the components which make up the keyboard description. The -layout option may only be used once. Multiple layouts can be specified as a comma-separated list.
8 -model name Specifies the name of the keyboard model used to determine the components which make up the keyboard description. Only one model may be specified on the command line.
8 -option name Specifies the name of an option to determine the components which make up the keyboard description; multiple options may be specified, one per -option flag. Note that setxkbmap adds options specified in the command line to the options that were set before (as saved in root window properties). If you want to replace all previously specified options, use the -option flag with an empty argument first.
8 -print With this option setxkbmap just prints component names in a format acceptable by xkbcomp (an XKB keymap compiler) and exits. The option can be used for tests instead of a verbose option and in cases when one needs to run both the setxkbmap and the xkbcomp in chain (see below).
8 -query With this option setxkbmap just prints the current rules, model, layout, variant, and options, then exits.
8 -rules file Specifies the name of the rules file used to resolve the requested layout and model to a set of component names.
8 -symbols name Specifies the name of the symbols component used to construct a keyboard layout.
8 -synch Force synchronization for X requests.
8 -types name Specifies the name of the types component used to construct a keyboard layout.
8 -variant name Specifies which variant of the keyboard layout should be used to determine the components which make up the keyboard description. The -variant option may only be used once. Multiple variants can be specified as a comma-separated list and will be matched with the layouts specified with -layout.
8 -verbose|-v [level] Specifies level of verbosity in output messages. Valid levels range from 0 (least verbose) to 10 (most verbose). The default verbosity level is 5. If no level is specified, each -v or -verbose flag raises the level by 1.
8 -version Prints the program's version number.
Changing the keymap with setxkbmap is not supported by Xwayland. In most instances, using setxkbmap on Xwayland is indicative of a bug in a shell script and setxkbmap will print a warning. Use the Wayland Compositor's native XKB configuration methods instead.