LOADKEYS(1) manual page
Table of Contents
loadkeys - load keyboard translation tables
loadkeys [ -b --bkeymap
] [ -c --clearcompose ] [ -C ’<FILE>’ | --console=<FILE> ] [ -d --default ] [ -h --help ]
[ -m --mktable ] [ -q --quiet ] [ -s --clearstrings ] [ -u --unicode ] [ -v --verbose
] [ filename... ]
The program loadkeys reads the file or files
specified by filename.... Its main purpose is to load the kernel keymap for
the console. You can specify console device by the -C (or --console ) option.
If the -d (or --default ) option is given, loadkeys loads
a default keymap, probably the file defkeymap.map either in /lib/kbd/keymaps
or in /usr/src/linux/drivers/char. (Probably the former was user-defined,
while the latter is a qwerty keyboard map for PCs - maybe not what was desired.)
Sometimes, with a strange keymap loaded (with the minus on some obscure
unknown modifier combination) it is easier to type ‘loadkeys defkeymap’.
The main function of loadkeys is to load or modify the keyboard
driver’s translation tables. When specifying the file names, standard input
can be denoted by dash (-). If no file is specified, the data is read from
the standard input.
For many countries and keyboard types appropriate keymaps
are available already, and a command like ‘loadkeys uk’ might do what you
want. On the other hand, it is easy to construct one’s own keymap. The user
has to tell what symbols belong to each key. She can find the keycode for
a key by use of showkey(1)
, while the keymap format is given in keymaps(5)
and can also be seen from the output of dumpkeys(1)
.
If the input file does not contain any compose key definitions, the
kernel accent table is left unchanged, unless the -c (or --clearcompose )
option is given, in which case the kernel accent table is emptied. If the
input file does contain compose key definitions, then all old definitions
are removed, and replaced by the specified new entries. The kernel accent
table is a sequence of (by default 68) entries describing how dead diacritical
signs and compose keys behave. For example, a line
compose ’,’ ’c’ to ccedilla
means that <ComposeKey><,><c> must be combined to <ccedilla>. The current content
of this table can be see using ‘dumpkeys --compose-only’.
The option -s (or --clearstrings ) clears the kernel string table. If
this option is not given, loadkeys will only add or replace strings, not
remove them. (Thus, the option -s is required to reach a well-defined state.)
The kernel string table is a sequence of strings with names like F31. One
can make function key F5 (on an ordinary PC keyboard) produce the text
‘Hello!’, and Shift+F5 ‘Goodbye!’ using lines
keycode 63 = F70 F71
string F70 = "Hello!"
string F71 = "Goodbye!"
in the keymap. The default bindings for the function
keys are certain escape sequences mostly inspired by the VT100 terminal.
If the -m (or --mktable ) option is given loadkeys
prints to the standard output a file that may be used as /usr/src/linux/drivers/char/defkeymap.c,
specifying the default key bindings for a kernel (and does not modify the
current keymap).
If the -b (or --bkeymap ) option is given
loadkeys prints to the standard output a file that may be used as a binary
keymap as expected by Busybox loadkmap command (and does not modify the
current keymap).
loadkeys automatically detects whether the
console is in Unicode or ASCII (XLATE) mode. When a keymap is loaded, literal
keysyms (such as section) are resolved accordingly; numerical keysyms are
converted to fit the current console mode, regardless of the way they are
specified (decimal, octal, hexadecimal or Unicode).
The -u (or --unicode) switch
forces loadkeys to convert all keymaps to Unicode. If the keyboard is in
a non-Unicode mode, such as XLATE, loadkeys will change it to Unicode for
the time of its execution. A warning message will be printed in this case.
It is recommended to run kbd_mode(1)
before loadkeys instead of using the
-u option.
- -h --help
- loadkeys prints its version number and a short
usage message to the programs standard error output and exits.
- -q --quiet
- loadkeys
suppresses all normal output.
Note that anyone having read access
to /dev/console can run loadkeys and thus change the keyboard layout, possibly
making it unusable. Note that the keyboard translation table is common for
all the virtual consoles, so any changes to the keyboard bindings affect
all the virtual consoles simultaneously.
Note that because the changes affect
all the virtual consoles, they also outlive your session. This means that
even at the login prompt the key bindings may not be what the user expects.
- /lib/kbd/keymaps
- default directory for keymaps
- /usr/src/linux/drivers/char/defkeymap.map
- default kernel keymap
dumpkeys(1)
, keymaps(5)
Table of Contents