Type Alias: ConvenienceCommandId
ConvenienceCommandId =
"freegantt.undo"|"freegantt.redo"|"freegantt.selectAll"|"freegantt.deleteSelection"|"freegantt.zoomIn"|"freegantt.zoomOut"|"freegantt.panToToday"|"freegantt.panRight"|"freegantt.panLeft"|"freegantt.panToStart"|"freegantt.panToEnd"
Defined in: api/command.ts:84
#262: the default chords a keyboard user can already do the same job through another door — a
button, a menu item, or a public method — so an app author who wants that chord for something
else may turn it off. undo/redo have Undo/Redo, deleteSelection has entries.remove(),
zoomIn/zoomOut/panToToday/the pans have their own methods, selectAll has
gantt.selectedEntryIds = .... Gantt.convenienceChords's per-command map takes only these ids.
api/command.test.ts's own EVERY_CONVENIENCE_ID — the same Record<Id, true> exhaustiveness
shape BuiltInCommandId's test above already uses — pins this list against
convenienceCommandIds below, so the two can never drift.
Every other command's default chord is an obligation chord: [S5-A4] and WCAG 2.1.1 keep it
bound no matter what this config says, because it is the only keyboard path to what it does —
clearSelection (Escape), the column keys, Mod+Arrow reach, and Enter
(activateEntry — the only keyboard path to click activation, #434). plans/02 §4.1 states the
full split next to the chord table.