// TRADERVIEW — WALKTHROUGH

Tutorial index Docs hub
Progress
18 / 18

18.Keyboard shortcuts & the 648-tile Cmd-K launcher

48 globals, 11+ view-scoped binds, the in-app cheat-sheet, the categorized launcher with live filter, and the right-click context-menu surface across 18 row scopes + 37 symbol-aware view scopes (222 distinct symbol-nav paths).

The shortcut registry

frontend/js/_shortcuts.js is the source of truth — every binding the app honors is listed there once. Three tiers:

  • Globals (48 keys) — fire from any view.
  • View-scoped (11+ keys) — fire only when the named view is active.
  • Modal-scoped — fire only inside specific overlays (Cmd-K, help overlay, dialog primitives).

Every view-scoped bind has a visible chip on the topbar / view header stamped with data-shortcut. The tooltip augmenter appends the key combo on hover ("⟳ Refresh (R)", "+ New Trade (N)"). No hidden keybindings: if a key does something, there's a visible UI element documenting it.

The 48 global shortcuts

Eight nav globals (Cmd+Opt+T/J/D/W/C/L/R/M) jump to Trades / Journal / Dashboard / Watchlists / Charts / Live / Reports / Scanner. The remaining 40 cover settings, account picker, theme toggle, search, command palette, help overlay, and a handful of utility actions.

KeyAction
Cmd+KOpen the tile launcher
?Open the in-app shortcut cheat-sheet
Cmd+,Settings
Cmd+/Symbol search
Cmd+Opt+TTrades
Cmd+Opt+JJournal
Cmd+Opt+DDashboard
Cmd+Opt+WWatchlists
Cmd+Opt+CCharts
Cmd+Opt+LLive Positions
Cmd+Opt+RReports
Cmd+Opt+MScanner
Cmd+Shift+AAccount picker
Cmd+Shift+TTheme toggle
EscClose overlay / palette / dialog

The full 48 is in the cheat-sheet view; the table above is the most-used dozen.

View-scoped binds

When you're in a view, single-key shortcuts (no modifier) become active. Examples:

  • Trades: N = new trade, R = refresh, F = focus filter, / = focus search.
  • Charts: R = refresh bars, 1/2/3/4 = timeframe presets, D = draw mode, Esc = exit draw mode.
  • Live Positions: R = refresh, S = sort menu, F = filter.
  • Scanner: R = refresh, V = toggle voice alerts, 1-6 = focus panel N.
  • Webull / Reports / Watchlists / Dashboard / Journal: R = refresh.

Bindings persist across views: R consistently refreshes the current data, N consistently means "new item of this type" wherever it applies, F consistently focuses the filter row.

The cheat-sheet overlay (?)

Pressing ? from any view (no modifier) opens a three-table modal:

  • Globals — all 48, searchable.
  • View-scoped — current-view bindings only, expandable to all views.
  • Right-click actions — every registered ctxmenu item across all scopes, searchable. ~70+ items.

The same overlay is reachable from Cmd-K → "Keyboard Shortcuts". Inside the overlay, / focuses the search, Esc closes, Tab moves between the three tables.

The Cmd-K launcher

Open with Cmd+K. The launcher is a categorized tile grid (~648 tiles across 10 categories — see step 01 for the breakdown) with:

  • Live filter — type any substring; the grid filters in-place.
  • Enter-jumps-to-first-match — fastest path when you know exactly what you want.
  • Arrow-key nav — Tab / Shift+Tab / arrows move the highlight; Enter activates.
  • Pin / unpin — pin a tile (the small bookmark icon) to put it on the topbar's quick-nav strip.
  • Recently used — pinned to the top of the unfiltered view.

The launcher reads its catalog from a single static registry at boot, so the displayed count is generated, not typed — adding a new view registers a new tile automatically. No fixed nav strip; the topbar carries the 11 most-used routes and the launcher carries everything else.

Right-click context menus — the 18 row scopes

Every view registers a data-context-scope slug. The global ctxmenu handler resolves it on right-click and shows the relevant action set. The 18 row scopes:

trade-row, symbol-row, journal-entry, tag-chip, webhook-row,
api-token-row, account-row, plan-row, share-row, board-row,
dashboard-sidebar-item, hotkey-row, custom-indicator-row,
alert-rule-row, strategy-alert-row, watchlist-symbol-row,
position-row, backtest-preset-row

Plus 37 symbol-aware view scopes give the 6-way symbol-nav menu (Charts / Options / Research / Earnings / News / Copy) on every symbol that appears anywhere. 222 distinct symbol-nav paths.

Non-blocking dialogs & toasts

tConfirm() / tPrompt() (in frontend/js/dialog.js) replace every native alert() / confirm() / prompt() call site (100 swept across 42 view files). Returns a Promise; themed by level (info / warning / danger); Enter / Esc keybound; required-empty input shake; i18n labels via dialog.btn.* keys.

Toasts use toastOk() / toastErr(); auto-dismiss after 4s (configurable per call), stackable, click-to-dismiss.

Themes & CRT

Five color schemes (Cyberpunk default, Midnight, Matrix, Ember, Arctic) and light / dark mode per scheme. Cmd+Shift+T cycles themes. The CRT scanline overlay can be toggled in Settings → Display; same for the neon-glow effect. Both are GPU-cheap (single CSS overlay) but distracting on long sessions for some users — turn off and on at will.

You made it That's the tour. Press ? in the app any time you forget a key; Cmd+K finds anything not on the topbar. Imports are idempotent so you can experiment freely. Every report is account-scoped so paper + live don't mix. Happy trading.