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
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.