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)