dwww Home | Manual pages | Find package

SETKEYCODES(8)              System Manager's Manual              SETKEYCODES(8)

NAME
       setkeycodes - load kernel scancode-to-keycode mapping table entries

SYNOPSIS
       setkeycodes [options] 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.

       Some older kernels might hardwire a low scancode range to the equivalent
       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
       -C, --console=DEV
              the console device to be used.

       -V, --version
              print version number.

       -h, --help
              print this usage message.

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.

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

kbd                             24 October 2024                  SETKEYCODES(8)

Generated by dwww version 1.16 on Tue Dec 16 05:03:43 CET 2025.