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.
RESET TO DEFAULT
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. (Proba-
bly 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'.
LOAD KERNEL KEYMAP
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 con-
struct 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).
LOAD KERNEL ACCENT TABLE
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 ker-
nel 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'.
LOAD KERNEL STRING TABLE
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.
CREATE KERNEL SOURCE TABLE
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).
CREATE BINARY 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.
loadkeys prints its version number and a short usage message to the programs stan-
dard error output and exits.
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 ses-
sion. This means that even at the login prompt the key bindings may not be what the user
default directory for keymaps
default kernel keymap
6 Feb 1994 LOADKEYS(1)