SHOWKEY(1)                  General Commands Manual                 SHOWKEY(1)



NAME
       showkey - examine the codes sent by the keyboard

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

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  inter-
       faces.  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  setkey-
       codes(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.

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 corre-
       sponds  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)



                                  1 Feb 1998                        SHOWKEY(1)
