Skip to content

Keys

Fresh

Overview

Keys are your plugin's actions located on a Stream Deck canvas. They provide visual feedback through titles and images.

States

Actions require at least one state, with support for up to two states. Multi-state keys toggle between states automatically unless disabled in the manifest.

Multi-Actions

When used in multi-actions, each state should have a descriptive name so users understand what each toggle represents.

Titles

Titles render on top of key images. Display precedence:

Update titles at runtime:

typescript
await ev.action.setTitle("New Title");

Images

Supported formats: SVG (recommended), JPG, PNG, WEBP.

Images can be set from:

typescript
// SVG string (base64 encoded)
await ev.action.setImage("data:image/svg+xml;base64,...");

// Data URL with base64 content
await ev.action.setImage("data:image/png;base64,...");

// File path on disk
await ev.action.setImage("/path/to/image.png");

Optional parameters:

  • target: Hardware display, software display, or both
  • state: Which state to update (0 or 1)

Events

EventTrigger
onKeyDownUser presses a key
onKeyUpUser releases a pressed key

Commands Reference

CommandDescription
setImage(image?, options?)Display image on action
setTitle(title, options?)Display title on action
setSettings(settings)Persist action configuration
getSettings()Retrieve action settings
setState(state)Toggle between states (0 or 1)
showOk()Display success feedback (green checkmark)
showAlert()Display warning feedback (yellow triangle)

Display Feedback

Temporary visual indicators:

typescript
// Success - shows green checkmark momentarily
await ev.action.showOk();

// Failure - shows yellow triangle with exclamation
await ev.action.showAlert();