Blame docs/man/man1/loadkeys.1

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