Showkeys is a simple program to display keys being pressed on the screen. It is useful while making presentations and screencasts. The audience will be able to see the keys being pressed. It is similar to key-mon. Key-mon has more features than showkeys. but the latter solves some specific problems: it doesn't use GTK/GNOME; uses libxosd to display keys directly onto the screen; has no floating windows to that always need to be on top (which is very useful if you're using a tiling WM like Xmonad); and has keystroke history. key-mon has keystroke history, but doesn't show modifiers. showkeys does, using an Emacs style key notation.
Freeseer a video capture utility capable of capturing presentations or demos. It can capture USB, firewire, local desktop, and more. It captures video and audio and mixes them together to produce a video, thus enabling you to capture great presentations, demos, or training material easily.