SETKEYCODES(pdf.php) - phpMan

SETKEYCODES(8)                 Keyboard Support                 SETKEYCODES(8)

NAME
       setkeycodes - load kernel scancode-to-keycode mapping table entries
SYNOPSIS
       setkeycodes scancode keycode ...
DESCRIPTION
       The setkeycodes command reads its arguments two at a time, each pair of
       arguments consisting of a scancode (given in hexadecimal) and a keycode
       (given  in  decimal).  For each such pair, it tells the kernel keyboard
       driver to map the specified scancode to the specified keycode.
       This command is useful only for people with slightly unusual keyboards,
       that  have  a few keys which produce scancodes that the kernel does not
       recognize.

THEORY
       The usual PC keyboard produces a series of scancodes for each key press
       and  key  release. (Scancodes are shown by showkey -s, see showkey(1).)
       The kernel parses this stream of scancodes, and converts it to a stream
       of  keycodes  (key  press/release  events).   (Keycodes  are  shown  by
       showkey.)  Apart from a few scancodes with special meaning,  and  apart
       from  the sequence produced by the Pause key, and apart from shiftstate
       related scancodes, and apart from the key up/down bit,  the  stream  of
       scancodes consists of unescaped scancodes xx (7 bits) and escaped scan-
       codes e0 xx (8+7 bits).  To these scancodes or scancode pairs, a corre-
       sponding keycode can be assigned (in the range 1-127).  For example, if
       you have a Macro key that produces e0 6f according to  showkey(1),  the
       command
              setkeycodes e06f 112
       will  assign the keycode 112 to it, and then loadkeys(1) can be used to
       define the function of this key.
       USB keyboards have standardized keycodes and setkeycodes doesn't affect
       them at all.
       Some  older  kernels might hardwire a low scancode range to the equiva-
       lent keycodes; setkeycodes will fail when you try to remap these.

2.6 KERNELS
       In 2.6 kernels key codes lie in the range 1-255, instead of 1-127.  (It
       might be best to confine oneself to the range 1-239.)
       In 2.6 kernels raw mode, or scancode mode, is not very raw at all.  The
       code returned by showkey -s will change after use  of  setkeycodes.   A
       kernel bug. See also showkey(1).
OPTIONS
       None.
BUGS
       The keycodes of X have nothing to do with those of Linux.  Unusual keys
       can be made visible under Linux, but not under X.
       setkeycodes affects only the "first" input device that  has  modifiable
       scancode-to-keycode  mapping.   If  there is more than one such device,
       setkeycodes cannot change the mapping of other devices than the "first"
       one.

SEE ALSO
       dumpkeys (1), loadkeys (1), showkey (1), getkeycodes (8)


Local                             8 Nov 1994                    SETKEYCODES(8)