Skip to content
Jonas Bernoulli edited this page Nov 10, 2023 · 6 revisions

Please feel free to make additions.

Tips

  • To hide certain events use for example (push '(self-insert-command nil nil) keycast-substitute-alist) to substituted "nothing" for self-insert-command.

Compatibility with other mode line packages

minion's wiki has some information about compatibility with other mode-line related packages, which also applies to keycast.

Similar packages

These are a bunch of similar packages:

  • keycast «Show current command and its key in the mode line. Once enabled, that mode shows the current command and its key or mouse binding in the mode line, and updates them whenever another command is invoked.»
  • keypression «This package is a keystroke visualizer for GUI version Emacs. You no longer need to use external tools to display keystrokes when creating screencasts!»
  • keystrokes «This program gives a way to see each keystroke at the time of typing. keystroke.el might be helpful when presenting about emacs itself to make the keystrokes transparent.»
  • command-log-mode «Show event history and command history of some or all buffers.»
  • showkey «Show keys as you use them. Provides two ways to show keys: last key in a tooltip or a log of last keys in a separate frame»
  • view-lossage (built-in function) «Display last few input keystrokes and the commands run

I don't know which you should use, all I can say is this: command-log-mode already existed when I wrote keycast, so I probably did not like the former. Just looked at the screenshot again... yep don't like it. keypression looks very nice; it's quite possible that you prefer it for certain use-cases but prefer keycast when something simpler does the trick. The keystrokes repository does not feature a screenshot (hint hint), so I locked at the code; it's basically view-lossage on a hook. -- Jonas

Recording packages

  • gif-screencast «One-frame-per-action GIF recording for optimal quality/size ratio.»

Other related packages

  • frameshot «This package provides a command for taking screenshots of an individual frame. It also support setting up the frame according to simple predetermined rules.» Which means that even though it does not support recording a video itself, it might still be useful when you do.