Skip to content

CLI Keystroke Highlight

github-actions[bot] edited this page Aug 31, 2026 · 1 revision

Keystroke Highlight

Keystroke Highlight puts a clear keycap on screen for every physical key press. It is designed for product demos, tutorials, and screen recordings where the viewer needs to follow keyboard input without watching the presenter’s hands.

Turn it on with:

ed extensions enable keystrokeHighlight

Enabling the extension makes the feature and its shortcut available. Start or pause the overlay with ⌃⌥⌘K. The shortcut remains available while the extension is enabled, even when the overlay is paused. It can be changed in the extension settings or the Shortcuts settings pane.

The same active state is available from the command line:

ed config set keystrokeHighlightActive true
ed config set keystrokeHighlightActive false

Input Monitoring is required. Edith uses a listen-only keyboard event monitor, so the extension observes input without changing or blocking it. Secure keyboard input is never shown.

Display

Letters, numbers, symbols, navigation keys, and shortcuts appear as dark rectangular keycaps. Modifiers are shown beside the key in macOS order. Recent presses form a short centered row on the screen under the pointer, with at most six visible at once.

Each key press disappears automatically. The default is 1.5 seconds, configurable from 0.5 to 3 seconds:

ed config set keystrokeHighlightDuration 1.5

The overlay can sit at the top or bottom of the screen:

ed config set keystrokeHighlightPosition bottom

Changes apply to the running menu bar app immediately. Pausing removes the keyboard monitor and hides any visible keycaps without disabling the extension.

Verify and recover

Check the complete lifecycle state:

ed extensions verify keystrokeHighlight --json

If the runtime is not ready, inspect its recovery guidance:

ed extensions doctor keystrokeHighlight --json

After granting Input Monitoring in System Settings, restart Edith if macOS has not yet made the new grant available to the running process.

A paused extension is reported as ready rather than failed. Start it with the configured shortcut or set keystrokeHighlightActive to true before checking for an active keyboard monitor.

Where to go next

CLI reference

Getting Started
Config
App
Extensions
Permissions
Usage
System
Music
Calendar
Clipboard
Color
Download
Apps
Tools
Shelf
Cleaner
Machines
Machines Remote
Machines Docker
Machines Files
Machines Power
Machines Workspace
Attention
Brew
Companion
Emoji
Herdr
Lid Awake
Machines Terminal
Machines Thermal
Maintenance

Guides

Clone this wiki locally