## Assinatura

```ts
const { shortcuts, keys, hint, on } = useDuxtShortcuts();

on('help', () => open());
```

```ts
const { open, toggle } = useDuxtShortcutSheet();
```

## Notas

O único sítio que sabe que teclas estão associadas, para que a sobreposição em
`?` e os handlers não possam discordar. `shortcuts` é a lista que a política
`shortcuts.singleCharacter` do sítio deixa viva, `keys()` desenha uma associação
para o teclado do leitor (`⌘` ou `Ctrl`), e `on()` associa uma ação com todas as
salvaguardas de que uma associação global precisa — nunca enquanto o leitor
escreve, nunca dentro de um diálogo ou menu, nunca se algo mais próximo já
tratou a tecla e, para as teclas sem modificador, apenas enquanto o conteúdo da
própria página tem o foco.

`hint()` é `keys()` para um controlo em vez de para a folha: recebe uma ação,
devolve as teclas como uma só cadeia — `⌘K`, `Ctrl+K`, `]` — e devolve
`undefined` onde a política desvinculou essa ação, pelo que um template escreve
`v-if` e não desenha cápsula vazia nenhuma. É o que imprimem o botão de pesquisa
e as ligações para as páginas vizinhas.

`useDuxtShortcutSheet()` é o estado de abertura da folha, partilhado em vez de
pertencer-lhe, porque `?` não é a única entrada: o gatilho do cabeçalho abre o
mesmo diálogo e, num sítio com `shortcuts.singleCharacter: false`, é a única
coisa que o consegue. Ver
[Atalhos de teclado](/concepts/keyboard-shortcuts).