Skip to content

feat: keystroke overlay #38

@dwmkerr

Description

@dwmkerr

Summary

Add keystroke overlay/subtitles to recordings showing special keys as they're pressed, similar to popular terminal recording tools.

Use Case

When recording terminal sessions (especially vim, tmux, or other keyboard-heavy tools), viewers often can't see what keys are being pressed. An overlay showing keystrokes helps viewers:

  • Learn keyboard shortcuts
  • Follow along with complex key sequences
  • Understand what's happening in the recording

Proposal

Add keystroke overlay support for recordings:

shell_record_start({
  session_id: "...",
  keystroke_overlay: true,
  overlay_position: "bottom"  // or "top"
})

The overlay would show:

  • Modifier keys: Ctrl+C, Ctrl+Z, Alt+Tab
  • Special keys: Esc, Enter, Tab, , , ,
  • Vim-style notation: <C-w>, <Esc>, <CR>

Examples

Tools that do this well:

  • Screenkey (Linux)
  • KeyCastr (macOS)
  • asciinema with key overlay plugins

Considerations

  • Configurable display duration for each keystroke
  • Option to show only modifier/special keys vs all keystrokes
  • Styling options (font size, position, background opacity)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions