Yesterday I made my first screencast. I used all free software to do it - XVidCap for recording the video, Audacity for recording the voiceover, and PiTiVi for mixing and rendering the final product. One of the things that I noticed was that the keys I was pressing on the mouse and keyboard were not represented in the screencast, so it appeared awkward at moments. Tonight I discovered the solution:
Key Status Monitor is an open source python program that graphically monitors and displays the status of your mouse buttons and the Alt/Ctrl/Shift keys on your keyboard.
It's neat that both this app and PiTiVi are written in python. Unfortunately, the version of the Key Status Monitor that I found gives me a traceback when I ran it - that may just be a case of needing to adjust the keyboard and mouse devices that are used.