How to Prominently Display Keystrokes in Screencasts Using Screenkey [Ubuntu]

We already know how to create a screenscast in Linux. We’ve also discussed a tool that lets you create an animated GIF out of a screencast. Now, imagine a situation where your screencast contains the recording of some important commands that you enter in the Terminal. Given the fact that there were many application windows open when the recording was done, the commands that you entered in Terminal aren’t clearly visible, especially when the screencast is presented to a wider audience – such as in a presentation room.

So what’s the solution? There’s a tool that’s built especially for these situations. Meet Screenkey, a command line application you can use along with your screencasting application to make sure your keystrokes are better displayed.

Inspired by Screenflick, Screenkey is a tool that captures whatever key you press and displays it in a way that makes it easy to read and understand whatever is being written. Screenkey offers features like configurable font/size/position, highlighting of recent keystrokes, improved backspace processing, and multi-monitor support.

Screenkey can be downloaded by visiting its website and clicking the download link under the Releases section.

You can also download it by running the following command:


Currently, 0.9 is the latest version. In the future, you can change the package name (screenkey-0.9.tar.gz) in the commands to the latest package available.

Now, extract the files/directories out of this .tar.gz package using the following command:

tar -xzvf screenkey-0.9.tar.gz

To install the tool, enter the top level directory and run the setup script:

cd screenkey-0.9
sudo ./ install

Note: Screenkey requires certain dependencies to be there on your system in order to install successfully. Running the following command should install all the dependencies:

sudo apt-get install python-gtk2 python-setuptools python-setuptools-git python-distutils-extra

Once the download/installation part is over, just run the following command to enable the tool:


You’ll notice that all your keystrokes will be recorded by the tool and instantly displayed on your screen.


The tool also provides the capability to control/tweak its functionality using command line options. For example, the default time for which the keystrokes are displayed (after the typing has stopped) is 2.5 seconds. However, you can change it using the -t option.

Here’s an example that increases the display time to 5 seconds:

./screenkey -t 5

If you want, you can even make the output window persistent by passing the --persist option when running the “screenkey” command.

./screenkey --persist


Moving on, the Shift key is disabled by default. For example, “Shift + Control + a” is normally shown just as “Control + A” (notice the capital A). However, should the need arise, you can override this setting by passing the --vis-shift option with the “screenkey” command.

./screenkey --vis-shift


Another important feature worth mentioning here is that you can even temporarily disable the tool, a step that comes in handy when your are typing sensitive/private information like passwords. You can achieve this by pressing “Ctrl + Ctrl.”


Pressing the same key combination enables the tool again. For more features/command line options, head to the tool’s official website.

There’s no denying that Screenkey is a useful little utility – aside from the usage mentioned in the beginning of this tutorial, you can also use the tool to quickly convey your thoughts in case you’re creating a video-only screencast. Another good thing about Screenkey is that it’s being actively developed which means that any bug or limitation that’s currently there should get fixed fairly quickly. It’s definitely worth giving a try.

Leave a Reply

Yeah! You've decided to leave a comment. That's fantastic! Check out our comment policy here. Let's have a personal and meaningful conversation.