showkey(1) examine the scan codes and keycodes sent by the keyboard


showkey [ -[hVskm] | --help | --version | --scancodes | --keycodes | --keymap ] [ -t N | --timeout=N ]


showkey prints to standard output either the scan codes, the keycode, or the character of each key pressed/released. The program runs until 10 seconds (or the amount of time specified by the --timeout or -t option) has elapsed since the last key press or release event, or until it receives a suitable signal, like SIGTERM, from another process.

showkey has three modes of operation, scancode dumping, keycode dumping, and keymap testing, selected by a command line option (see below).


-h --help
showkey prints to the standard error output its version number, a short usage message, then exits.
-V --version
showkey prints to the standard error output its version number, then exits.
-s --scancodes
Starts showkey in scan code dump mode.

In this 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.

-k --keycodes
Starts showkey in keycode dump mode. This is the default, when no command is specified is specified.

In this 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.

-m --keymap
Starts showkey in keycode dump mode.

In this mode, showkey displays the characters as they are translated by the kernel using the current keymap. It may be useful to writers of install programs, to allow the user to test a new keyboard before really installing it.


-t N --timeout=N
This option changes the timeout (in seconds) from its default of 10s.


showkey was developed by Risto Kankkunen for kbd-0.81.

It was later extended by Yann Dirson <[email protected]> to support the --keymap command and the --timeout option.


The --keymap mode should report action keys by displaying what action should be performed, instead of executing the action.