Skip to content

ewels/type-deck

Repository files navigation

Type Deck

A Stream Deck plugin that types preset text into the focused application when you press a key, with optional human-like timing, typos, and jitter so the output doesn't look obviously automated.

Useful for things like inserting boilerplate snippets, demo scripts, prepared answers, or replaying short typed sequences while screen-sharing.

Actions

Action What it does
Type text Types the configured text every press. (Optional: long press types a second, different string)
Cycle next Each non-empty line of the text field is one entry. Each press types the next line, looping back to the start.
Random pick Same line-per-entry format as Cycle next, but each press picks one at random.

Features

  • Per-character, per-word and per-paragraph delays. Tune typing speed to suit the receiving app or demo situation.
  • Jitter. Randomize each delay by ±N % so the rhythm doesn't feel too robotic. Enabled by default at 100 %.
  • Adjacent-key typos. Per-character chance of typing a wrong key, pausing, hitting backspace, and continuing. What could be more Human than errors?
  • Template variables. Inline tokens are expanded at type-time:
    • {date}YYYY-MM-DD
    • {time}HH:MM:SS
    • {clipboard} → current clipboard contents
    • {counter} → number of presses (persisted per action)
    • Use {{ and }} for literal braces.
  • Cancel or queue. Pressing the key while it's already typing either aborts the current run (default) or queues another run to start immediately after, depending on the per-action setting.

Type Deck plugin in the Stream Deck app, showing the three actions and the Type text settings panel

Installation

Download the latest com.ewels.type-deck.streamDeckPlugin from the Releases page and double-click it. Stream Deck will install the plugin.

Note

macOS: The plugin types via OS-level keyboard simulation, which may require granting Stream Deck Accessibility permission under System Settings → Privacy & Security → Accessibility.

Development

Requires Node 24 and @elgato/cli for the dev/install loop.

npm install
npm run watch   # rebuild on save + auto-restart the plugin

See CLAUDE.md for architecture notes.

License and Credits

Released with the MIT license.

By Phil Ewels (@ewels).

About

A Stream Deck plugin to type preset strings with configurable keypress delays.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors