## Signature

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

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

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

## Remarques

Le seul endroit qui sait quelles touches sont associées, si bien que la
superposition sur `?` et les gestionnaires ne peuvent pas se contredire.
`shortcuts` est la liste que laisse vivante la politique
`shortcuts.singleCharacter` du site, `keys()` dessine une association pour le
clavier du lecteur (`⌘` ou `Ctrl`), et `on()` associe une action avec tous les
garde-fous dont une association globale a besoin — jamais pendant que le lecteur
écrit, jamais dans une boîte de dialogue ou un menu, jamais si quelque chose de
plus proche a déjà traité la touche et, pour les touches sans modificateur,
seulement tant que le contenu de la page a le focus.

`hint()` est `keys()` pour un contrôle plutôt que pour la liste : il prend une
action, renvoie les touches en une seule chaîne — `⌘K`, `Ctrl+K`, `]` — et
renvoie `undefined` là où la politique a délié cette action, si bien qu'un
template écrit `v-if` et ne dessine aucune capsule vide. C'est ce qu'impriment le
bouton de recherche et les liens vers les pages voisines.

`useDuxtShortcutSheet()` est l'état d'ouverture de la liste, partagé plutôt que
détenu par elle, car `?` n'est pas la seule entrée : le déclencheur de l'en-tête
ouvre la même boîte de dialogue, et sur un site en
`shortcuts.singleCharacter: false` c'est la seule chose qui le puisse. Voir
[Raccourcis clavier](/concepts/keyboard-shortcuts).