Enhance your Screencasts with key-mon on Fedora

Have you ever been doing a screencast, (or watched a screencast), where most of the video is the screencaster explaining what mouse and keyboard buttons they are pressing at a particular time?

This is where key-mon (short for keyboard status monitor) comes into its own — it shows exactly what keyboard and mouse buttons are being pressed when you press them. No more explaining specific key combos over and over again!


Before doing a screencast, you just fire up keymon, and be sure it is visible in your screencasting area, and it will show whatever you press. Pretty nifty!

To install key-mon on Fedora, just search for it in the Software application, or on the command line, run the command sudo yum install key-mon.

Fedora Project community


  1. I’m found of screenkey as I think it’s quite a bit more astheticly pleasings than keymon. Wasn’t hard to build an RPM for my F20 installations.

    • ooh, hadnt tried screenkey yet! might try to get it into fedora too (i packaged up key-mon a few months ago)

    • eMBee

      screenkey doesn’t seem to support showing mouse-clicks though. it also doesn’t show how long a key is held. and it’s no longer maintained. but might be fixable…

      greetings, eMBee.

  2. looks good i will try, jhon where the screenkey rpm ? some place to donwload?

  3. Thank you for packaging key-mon. I’ll definitely be using this in my screencasts.

    QUESTION: The quality of your animated gif screencast is quite good for just 367 kB. What is your workflow for creating such a screencast?

    • The workflow is a bit convoluted, but it works with most gifs:

      1. take the screencast with the gnome shell screencasting feature (results in a webm)
      2. convert the webm to a sequence of images with this gstreamer command:

      gst-launch-1.0 filesrc location="input.webm" ! decodebin ! videoconvert ! pngenc ! multifilesink location="pngs/%04d.png"

      3. convert the pngs to a gif with this imagemagick command:

      convert *.png animation.gif

      4. crunch the gif with:

      convert animation.gif -fuzz 5% -layers Optimize animation-optimized.gif

      This step is a bit of trial and error. you mess with the fuzz % value to get a gif that is a good size yet looks ok.

      5. If you want to crunch it even more, you can convert your animation to an indexed gif (specifying the number of colours — i chose 64 in this example)

      convert animation-optimized.gif  -dither FloydSteinberg -colors 64  animation-optimized-indexed.gif

      Its all about trial and error to see which looks the best (yet keeping the size as small as possible 🙂 )

      hope this helps…

Comments are Closed

The opinions expressed on this website are those of each author, not of the author's employer or of Red Hat. Fedora Magazine aspires to publish all content under a Creative Commons license but may not be able to do so in all cases. You are responsible for ensuring that you have the necessary permission to reuse any work on this site. The Fedora logo is a trademark of Red Hat, Inc. Terms and Conditions