Yolinux.com

showkey manpage

Search topic Section


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.


NOTES
       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, setk-
       eycodes(8) can affect the output of showkey in scan code dump mode.


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



				  1 Feb 1998			    SHOWKEY(1)