NAME

setxkbmap - set the keyboard using the X Keyboard Extension

SYNOPSIS

setxkbmap [ args ] [ layout [ variant [ option ... ] ] ]

DESCRIPTION

The setxkbmap command maps the keyboard to use the layout determined by the options specified on the command line.

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 /usr/X11R6/lib/X11/xkb.

OPTIONS

-help
Prints a message describing the valid input to _s_e_t_x_k_b_m_a_p.
-compat _n_a_m_e
Specifies the name of the compatibility map component used to construct a keyboard layout.
-config _f_i_l_e
Specifies the name of an XKB configuration file which describes the keyboard to be used.
-display _d_i_s_p_l_a_y
Specifies the display to be updated with the new keyboard layout.
-geometry _n_a_m_e
Specifies the name of the geometry component used to construct a keyboard layout.
-keymap _n_a_m_e
Specifies the name of the keymap description used to construct a keyboard layout.
-layout _n_a_m_e
Specifies the name of the layout used to determine the components which make up the keyboard description. Only one layout may be specified on the command line.
-model _n_a_m_e
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.
-option _n_a_m_e
Specifies the name of an option to determine the components which make up the keyboard description; multiple options may be specified, one per _-_o_p_t_i_o_n flag. Note that setxkbmap summarize options specified in the command line with options was set before (saved in root window properties). If you want only specified options will be set use the _-_o_p_t_i_o_n flag with an empty argument first.
-print
With this option the sseettxxkkbbmmaapp just prints component names in a format acceptable by an xxkkbbccoommpp (an XKB keymap compiler) and exits. The option can be used for tests instead of a verbose option and in case when one need to run both the sseettxxkkbbmmaapp and the xxkkbbccoommpp in chain (see below).
-rules _f_i_l_e
Specifies the name of the rules file used to resolve the request layout and model to a set of component names.
-symbols _n_a_m_e
Specifies the name of the symbols component used to construct a keyboard layout.
-synch
Force synchronization for X requests.
-types _n_a_m_e
Specifies the name of the types component used to construct a keyboard layout.
-variant _n_a_m_e
Specifies which variant of the keyboard layout should be used to determine the components which make up the keyboard description. Only one variant may be specified on the command line.

USING WITH xkbcomp

If you have an Xserver and a client shell running on different computers and XKB configuration files sets on those machines are different you can get problems specifying a keyboard map by model, layout, options names. The thing is the sseettxxkkbbccoommpp converts these names to names of XKB configuration files according to files that are on the client side computer. Then it sends the file names to the server where the xxkkbbccoommpp has to compose a complete keyboard map using files which the server has. Thus if the sets of files differ significantly the names that the sseettxxkkbbmmaapp generates can be unacceptable on the server side. You can solve this problem running the xxkkbbccoommpp on the client side too. With the _-_p_r_i_n_t option sseettxxkkbbmmaapp just prints the files names in an appropriate format to its stdout and this output can be piped directly to the xxkkbbccoommpp input. For example, a command

sseettxxkkbbmmaapp uuss --pprriinntt || xxkkbbccoommpp -- $$DDIISSPPLLAAYY

makes both step on the same (client) machine and loads a keyboard map into the server.

FILES

/usr/X11R6/lib/X11/xkb