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
setxkbmap.
-compatname
Specifies the name of the compatibility map com-
ponent used to construct a keyboard layout.
-configfile
Specifies the name of an XKB configuration file
which describes the keyboard to be used.
-displaydisplay
Specifies the display to be updated with the new
keyboard layout.
-geometryname
Specifies the name of the geometry component used to
construct a keyboard layout.
-keymapname
Specifies the name of the keymap description used to
construct a keyboard layout.
-layoutname
Specifies the name of the layout used to determine
the components which make up the keyboard descrip-
tion. Only one layout may be specified on the com-
mand line.
-modelname
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.
-optionname
Specifies the name of an option to determine the
XFree86 Version 4.5.0 1
SETXKBMAP(1) UNIX Programmer's Manual SETXKBMAP(1)
components which make up the keyboard description;
multiple options may be specified, one per -option
flag. Note that setxkbmap summarize options speci-
fied 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 -option flag
with an empty argument first.
-print With this option the setxkbmap just prints component
names in a format acceptable by an xkbcomp (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 setxkbmap and the
xkbcomp in chain (see below).
-rulesfile
Specifies the name of the rules file used to resolve
the request layout and model to a set of component
names.
-symbolsname
Specifies the name of the symbols component used to
construct a keyboard layout.
-synch Force synchronization for X requests.
-typesname
Specifies the name of the types component used to
construct a keyboard layout.
-variantname
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 dif-
ferent 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 setxkbcomp converts these names to names of XKB confi-
guration files according to files that are on the client
side computer. Then it sends the file names to the server
where the xkbcomp 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 setxkbmap generates
can be unacceptable on the server side. You can solve this
problem running the xkbcomp on the client side too. With the
-print option setxkbmap just prints the files names in an
appropriate format to its stdout and this output can be
piped directly to the xkbcomp input. For example, a command
XFree86 Version 4.5.0 2
SETXKBMAP(1) UNIX Programmer's Manual SETXKBMAP(1)
setxkbmap us -print | xkbcomp - $DISPLAY
makes both step on the same (client) machine and loads a
keyboard map into the server.