busy-office-ui
Menu

Keyboard map

The keys this framework's behaviors bind, and the "?" overlay pattern for showing your app's own — composed entirely from existing pieces: Dialog, Key-value facts in --rows mode, and the keycap chip. No new layout, no behavior — one app-code listener.

The dialog

Keyboard shortcuts

/
Focus the filter
Enter
Open the selected row
Shift + Enter
Approve without opening
Esc
Back to the cell
?
This dialog

Click the button — or press ? anywhere on this page (the wiring below runs here). Native <dialog>: focus trap, Esc to close, backdrop for free.

The wiring — app code, not a behavior

// App code, in full: "?" opens the dialog (skip when typing in a field).
const dlg = document.getElementById('shortcuts-dlg');
document.addEventListener('keydown', (e) => {
  if (e.key !== '?' || e.target.closest('input, textarea, select, [contenteditable]')) return;
  dlg.showModal();
});

Deliberately not a shipped behavior: which keys an app binds is the app's contract, and a global "?" listener is four lines. The guard matters — never steal ? from someone typing in a field. List the shortcuts you actually bind; the framework's own behavior keys are documented (generated) on JS behaviors.

↑↓ move Enter open Esc close