Keyboard control is what separates a chart you look at from a chart you operate. The goal of a hotkey map is not to bind every command but to make the common sequence — change instrument, change bar size, move the cursor, return to the previous view — available without leaving the home row. This chapter describes a binding scheme and the conflicts that break it.
Designing a Key Map
Group bindings by intent rather than by menu location. Navigation keys move the viewport; inspection keys move the cursor; display keys change what is drawn; workspace keys change which panels are visible. When a new binding is proposed, it should fit one of those groups and use a modifier pattern already established in it. A map that grows by accretion becomes a list of exceptions.
Reserve the unmodified letter keys for the most frequent actions and push everything else onto modifiers. Avoid binding a single letter to a destructive action, even with a confirmation prompt. The cost of a mistyped key is much higher than the cost of a two-key chord.
Chord Bindings and Modifier Order
Chord bindings combine a modifier with a key, or two keys in sequence. The former is faster and easier to learn; the latter scales further. Choose one style per group. A map that mixes Ctrl+Shift chords with sequential letter chords forces the user to think about which style applies before pressing anything.
Modifier order matters on some systems: Ctrl+Alt and Alt+Ctrl can resolve differently, and one of them may be intercepted by the window manager. Test every chord on the target machine, not just on the development machine. A binding that works in isolation can fail when a panel has focus.
Focus, Panels, and the Cursor
Only one panel has keyboard focus at a time. Navigation keys act on the focused panel unless the workspace defines a global scope. Global scope is convenient for workspace switching and dangerous for chart manipulation, because a stray keypress can move a chart the user was not looking at. Keep chart-level bindings panel-scoped and workspace-level bindings global.
The cursor has its own state: free, snapped to a bar, or locked to a value level. Each state should have a visible indicator, and each should be reachable by a dedicated key. A cursor that silently changes state is worse than no cursor at all, because every subsequent reading is made against an unknown reference.
| Intent | Binding style | Example | Scope |
|---|---|---|---|
| Instrument next | Ctrl + Right | Cycle group forward | Global |
| Bar size up | Ctrl + Up | Next larger aggregation | Panel |
| Cursor snap | Space | Toggle snap to bar | Panel |
| Cursor free | Esc | Release cursor | Panel |
| Depth toggle | Ctrl + D | Show or hide ladder | Workspace |
| Replay pause | Ctrl + Space | Pause transport | Global |
| Previous view | Alt + Left | Restore prior range | Panel |
Conflicts with the Operating System
Some chords are claimed by the operating system or by the window manager before the application sees them. Alt+Tab, Ctrl+Esc, and several function-key combinations are common examples. The map should avoid these entirely rather than relying on a capture mode that may or may not work across displays.
Laptop keyboards add a second layer of conflict: function keys may be inverted, and the numeric keypad may be absent. A map designed on a full keyboard should be tested on a laptop before it is documented as portable. Where a binding is impossible, provide an alternative and note it in the workspace description.
Learning and Auditing the Map
A key map is learned by repetition, not by reading. Print a one-page reference and keep it beside the keyboard for the first week, then remove it. If a binding is still unfamiliar after two weeks, it is either unnecessary or badly placed. Delete it or move it; do not keep a binding that requires conscious recall.
Audit the map quarterly. Remove bindings whose commands no longer exist, resolve duplicates, and check that every global binding still has a visible effect. A map that has not been audited is a source of silent failures, and silent failures are worse than missing features.
Navigation Beyond the Chart
Workspace navigation deserves its own bindings: next panel, previous panel, maximize panel, restore layout. These are used constantly during review and are easy to overlook when the map is designed around chart commands. Assign them to a consistent modifier and keep them out of the way of chart bindings. The result feels less like a set of shortcuts and more like a single instrument with a predictable control surface.