I want to debug my keyboard and figure out what would happen after I press a key.

Is there any debug tools or solutions to track the keyboard events or handlers?

I searched the Internet and only found one useful answer (Debug/fix a key autorepeat issue?)

For example, I press a Volume control key, how does it trigger an event and control the driver to turn up/down?

And how do I track the control flow of it?

I'm using arch Linux on my laptop, so any solution for Linux is welcome.

  • Look no further as this question has already been answered: superuser.com/questions/248517/show-keys-pressed-in-linux Commented Jul 2, 2020 at 6:58
  • See this answer for driver level. layers. Once you have an X event, applications grab the keyboard. See here how to debug this. The first candidate for Volume control keys etc. is your window manager (also as part of the Desktop environment).
    – dirkt
    Commented Jul 2, 2020 at 13:37
  • Promising solutions ! Thank you for your answers @dirkt and Artem S. Tashkinov.
    – teable
    Commented Jul 4, 2020 at 14:25

1 Answer 1


You can observe raw USB events from the keyboard input device. Assuming you can find your keyboard here: ls /dev/input/by-id/*kbd, you can read events directly from that file.

An example where fmbtuinput.py prints human readable events:

sudo python fmbtuinput.py -p /dev/input/by-id/*kbd

This works for other USB input devices, too.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .