DisplaySync/ docs

Hotkeys

The desktop sign registers five global keyboard shortcuts via Electron's globalShortcut API. They work even when the kiosk is in lock-down mode — that's the point. These are the manual-control surfaces: when remote control fails, when you need to debug onsite, when the operator-facing UI doesn't expose the action you need.

All five are registered in desktop-sign/src/main/index.js at sign-app startup and unregistered at shutdown so a crashed sign doesn't leave dangling shortcuts.

All hotkeys

HotkeyEffectWhen to reach forMin versionNotes
Ctrl+Shift+SStatus overlay toggleQuick onsite health glancev1.0+Read-only — no input required
Ctrl+Shift+QQuit (kiosk-mode bypass)Tech needs to exit the sign appv1.0+Triggers .maintenance sentinel; watchdog stops relaunching
Ctrl+Shift+CConfig overlay (URL editor + kiosk-mode toggle + Exit for Maintenance)Backend-URL override; emergency exitv1.0+PIN-prompts if hasConfigPin() returns true
Ctrl+Shift+NNetwork diagnostics overlay (NIC, IP, internet, backend reachability)Live latency check; venue smoke testv1.0+Same NetworkChecklist widget as the QR setup screen
Ctrl+Shift+MMonitoring mode toggleHide display, keep telemetryv1.3.0+Persists across reboot — see Remote control → Monitoring mode

Available in v1.3.0+

Monitoring mode (Ctrl+Shift+M) requires DisplaySync Sign v1.3.0 or later. Older signs do not respond to the hotkey or to the dashboard Enter/Exit Monitoring button.

Ctrl+Shift+C — Config overlay

A 540×700 frameless transparent always-on-top window. Three controls:

  • Display URL — editable text field. Whatever you type becomes the kiosk's currentUrl and is loaded immediately. Useful when the dashboard isn't reachable but you need to point a kiosk at a known-good URL.
  • Kiosk-mode toggle — flips the Electron kiosk-mode flag without quitting. Off means the user can alt-tab and see the desktop; on means full lock-down resumes.
  • Exit for Maintenance — closes the sign app cleanly and writes the .maintenance sentinel so the watchdog stops relaunching. Equivalent to Ctrl+Shift+Q.

If a 4-digit PIN has been set (ConfigService.hasConfigPin() returns true), a PIN-entry window precedes the overlay. The PIN is stored salted-SHA-256 in sign-config.json.

PIN recovery: there's no in-app reset. If the PIN is lost, recovery is via:

Ctrl+Shift+N — Network diagnostics

A 500×250 bottom-right overlay. Calls signService.startNetworkDiagnostics(), which runs the same NetworkChecklist widget that drives the QR setup screen's connection check. Live results for:

  • NIC name + IP address (the interface the kiosk picked)
  • Internet reachability (HTTP HEAD to a captive-portal detection endpoint, connectivitycheck.gstatic.com)
  • Backend reachability (HTTP HEAD against the configured backend URL)
  • Round-trip latency to backend

Use during venue install to verify Tailscale + backend reachable before claim. Use during onsite triage when the dashboard reports a sign as offline — pulling this overlay shows whether the kiosk is actually online.

If a venue firewall blocks connectivitycheck.gstatic.com, the internet check shows red even when the backend is reachable. The kiosk uses HTTP (not HTTPS) for this probe deliberately so captive portals can redirect it for portal detection.

Ctrl+Shift+M — Monitoring mode

Toggles monitoring mode on/off. Behavior in full at Remote control → Monitoring mode. Brief summary:

  • On: kiosk window hidden, audio muted, frame rate throttled, watchdogs paused, telemetry continues
  • Off: all of the above reversed; the assigned URL is reloaded
  • Persists across rebootmonitoringMode: true is written to sign-config.json. A sign that boots with this flag set comes up silently with no splash window