Provided by: kbd_2.3.0-3ubuntu4.22.04_amd64 bug

NAME

       showkey - examine the codes sent by the keyboard

SYNOPSIS

       showkey [-h|--help] [-a|--ascii] [-s|--scancodes] [-k|--keycodes] [-V|--version]

DESCRIPTION

       showkey prints to standard output either the scan codes or the keycode or the `ascii' code
       of each key pressed.  In the first two modes  the  program  runs  until  10  seconds  have
       elapsed since the last key press or release event, or until it receives a suitable signal,
       like SIGTERM, from another process.  In `ascii' mode the program terminates when the  user
       types ^D.

       When  in  scancode dump mode, showkey prints in hexadecimal format each byte received from
       the keyboard to the standard output. A new line is printed when an interval of  about  0.1
       seconds  occurs  between the bytes received, or when the internal receive buffer fills up.
       This can be used to determine roughly, what byte sequences the keyboard sends at once on a
       given  key  press.  The  scan  code  dumping  mode is primarily intended for debugging the
       keyboard driver or other low level interfaces. As such it shouldn't be of much interest to
       the  regular  end-user.  However,  some modern keyboards have keys or buttons that produce
       scancodes to which the kernel does not associate a keycode, and, after  finding  out  what
       these are, the user can assign keycodes with setkeycodes(8).

       When  in  the default keycode dump mode, showkey prints to the standard output the keycode
       number or each key pressed or released. The kind of the event, press or release,  is  also
       reported.   Keycodes  are  numbers assigned by the kernel to each individual physical key.
       Every key has always only one associated keycode number, whether the keyboard sends single
       or multiple scan codes when pressing it. Using showkey in this mode, you can find out what
       numbers to use in your personalized keymap files.

       When in `ascii' dump mode, showkey prints to the standard output the decimal,  octal,  and
       hexadecimal value(s) of the key pressed, according to he present keymap.

OPTIONS

       -h --help
              showkey  prints  to  the standard error output its version number, a compile option
              and a short usage message, then exits.

       -s --scancodes
              Starts showkey in scan code dump mode.

       -k --keycodes
              Starts showkey in keycode dump mode. This is the  default,  when  no  command  line
              options are present.

       -a --ascii
              Starts showkey in `ascii' dump mode.

       -V --version
              showkey prints version number and exits.

2.6 KERNELS

       In  2.6 kernels key codes lie in the range 1-255, instead of 1-127.  Key codes larger than
       127 are returned as three bytes of which the low order 7 bits are: zero,  bits  13-7,  and
       bits 6-0 of the key code.  The high order bits are: 0/1 for make/break, 1, 1.

       In  2.6  kernels raw mode, or scancode mode, is not very raw at all.  Scan codes are first
       translated to key codes, and when scancodes are desired,  the  key  codes  are  translated
       back.  Various  transformations  are  involved,  and there is no guarantee at all that the
       final result corresponds to what the keyboard hardware did send. So, if you want  to  know
       the  scan  codes sent by various keys it is better to boot a 2.4 kernel. Since 2.6.9 there
       also is the boot option atkbd.softraw=0 that tells the 2.6 kernel  to  return  the  actual
       scan codes.

SEE ALSO

       loadkeys(1), dumpkeys(1), keymaps(5), setkeycodes(8)