dwmkerr / dwmkerr/shellwright

feat: keystroke overlay

Open
#38 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
37
Forks
5
Avg merge
3d 23h
Merged PRs (30d)
1

Description

## 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:

```typescript
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: ``, ``, ``

## 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)

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.