Skip to content

Keyboard Visualizer

import { startKeyboardVisualizer } from "webotron/plugins/keyboard-visualizer";
  • startKeyboardVisualizer(view, options?)
const keyboard = await startKeyboardVisualizer(view, {
position: "bottom-left",
accentColor: "#16a34a",
maxTrailItems: 8,
});
await view.click("#editor");
await view.type("hello world");
await view.shortcut(["Ctrl+A", "Ctrl+C", "Ctrl+V"]);
await view.press("Escape");
await keyboard.stop();
  • setVisible(visible)
  • clear()
  • stop()
OptionTypePurpose
accentColorstringColor for active key chips.
maxTrailItemsnumberMaximum recent key/combo badges to keep visible.
position"top-left" | "top-right" | "bottom-left" | "bottom-right"Overlay anchor position.
hideTrailAfterMsnumberMilliseconds before transient badges fade out.

The plugin is decoupled from input implementation details. It subscribes to host-side plugin messages (keyboard:action) emitted by input APIs (type, press, shortcut).

This means:

  • You can enable or disable keyboard visualization without changing input code.
  • The plugin can run alongside other visual plugins (for example mouse pointer visualizer) without direct coupling.