How can I see a visual overlay of shortcut keys I've pressed?

Solution 1:

Screenflow has an option to display the pressed keys, but they will only be shown in the recorded screencast.

There are also standalone apps that display the keys in real time like Keycastr and Mouseposé.

Solution 2:

At least on macOS Sierra, there is a way to natively show keys on-screen. However there are a couple limitations/things to be aware of:

  • it piggybacks on the "Sticky Keys" accessibility setting, which changes the way modifier keys work (you just press them, and don't have to hold them)
  • it will only show modifier keys; it won't show the final character (Ex: for CMD+P, it will only show CMD, and once you press "P" it disappears)

To enable this:

  1. Go to System Preferences > Accessibility
  2. In the categories along the left, select Keyboard
  3. Select Enable Sticky Keys
  4. Next to Enable Sticky Keys, click the Options... button
  5. Select Display pressed keys on screen (and alternatively change where it appears). Click OK.

This fit my use case, and with Mouseposé at $9.99 (at the time of posting this) and KeyCastr crashing on startup for me, I thought I'd share. Hope this helps some people!

Sticky Keys - Display pressed keys on screen

Solution 3:

I’m recording lots of tutorials / screencasts too and was very unhappy with existing solutions for macOS (most of them seem broken or just ugly). So I’ve decided to make my own keystroke app:

Download: https://ixeau.com/apps/keystroke-pro/

Video: https://youtu.be/3koqaw99uKA (30 seconds)

Features:

  • Animated keystrokes look gorgeous in light and dark
  • Works great with macOS Mojave
  • Individual designed keys for common ISO and ANSI keyboard layouts
  • Localized for 23 languages

enter image description here

Solution 4:

It may be a bit subte, or lacking in simplicity, but you can always open the built-in Keyboard Viewer app, and have that visible on screen during your screen recording - it will show whatever you're typing at the time, even when it's in the background.