getkeycodes - Linux


getkeycodes is a versatile tool that provides users with information about the keycodes associated with keystrokes on their system. This information is crucial for customizing keyboard layouts, mapping keystrokes to specific actions, and troubleshooting keyboard-related issues. It is particularly useful in scenarios such as developing custom keyboard layouts, configuring accessibility features, or analyzing keystroke patterns.


getkeycodes [options]


-a, –all
Display current keycodes for all keys on the keyboard.

-c, –clean
Display only clean keycodes without modifier keys (e.g., Shift, Ctrl).

-d, –device
Specify the input device for which to display keycodes.

-f, –format
Specify the output format:
* "raw": Output keycodes as raw hexadecimal values
* "printable": Output keycodes as printable characters (default)
* "code": Output keycodes as the corresponding X11 keycode names

-h, –help
Display the help message and exit.


Example 1: Display keycodes for all keys

getkeycodes -a

Example 2: Display clean keycodes for the letter "A"

getkeycodes -c A

Example 3: Display keycodes for a specific input device

getkeycodes -d event0

Common Issues

  • Incorrect keycodes: If the displayed keycodes do not match the expected behavior, ensure that the correct input device is selected.
  • Missing keys: If certain keys do not generate keycodes, check the keyboard configuration and ensure that the keys are properly mapped.


getkeycodes can be combined with other commands for advanced tasks:

  • xmodmap: Create or modify custom keyboard layouts using the keycodes obtained from getkeycodes.
  • evtest: Analyze keystroke events and correlate them with the keycodes.

Related Commands

  • cat /dev/input/eventX: Raw input event data from a specified input device.
  • xinput: Display and configure X11 input devices.