showkey
examine the codes sent by the keyboard
see also :
loadkeys - dumpkeys - setkeycodes
Synopsis
showkey
[-h|--help] [-a|--ascii]
[-s|--scancodes]
[-k|--keycodes]
add an example, a script, a trick and tips
examples
no example yet ...
... Feel free to add your own example above to help other Linux-lovers !
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.
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 ,
dumpkeys , keymaps,
setkeycodes