Man Pages

showkey(1) - phpMan showkey(1) - phpMan

Command: man perldoc info search(apropos)  

SHOWKEY(1)                                                          SHOWKEY(1)

       showkey - examine the codes sent by the keyboard

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

       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.

       -h --help
              showkey  prints to the standard error output its version number, a compile option and a short usage mes-
              sage, 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.

       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.

       The raw scan codes are available only on AT and PS/2 keyboards, and even then  they  are  disabled  unless  the
       atkbd.softraw=0  kernel  parameter is used.  When the raw scan codes are not available, the kernel uses a fixed
       built-in table to produce scan codes from keycodes.  Thus, setkeycodes(8) can affect the output of  showkey  in
       scan code dump mode.

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

                                  1 Feb 1998                        SHOWKEY(1)