Tastenkürzel
useKeymap, Sequenzen, das ?-Hilfe-Overlay, Tastenhinweise und die Befehlspalette.
Definiere Tastenkürzel einmal mit useKeymap. Text.js leitet sie weiter, listet sie in einem ?-Overlay auf, zeigt sie in deiner Fußzeile an und macht sie in einer Befehlspalette durchsuchbar.
useKeymap( { "j, down": { label: "Next", run: next, hint: true }, "k, up": { label: "Previous", run: previous }, "g g": { label: "Go to top", run: top }, "ctrl+s": { label: "Save", run: save, hint: true }, }, { group: "Navigation" },);return ( <> <StatusBar right={<Text color="subtle">main</Text>}> <KeyHints /> </StatusBar> <CommandPalette commands={commands} /> <KeyHelp /> </>);useKeymap
| Syntax | Bedeutung |
|---|---|
ctrl+k | Modifikatortasten: ctrl alt shift meta mod |
mod+k | ⌘ oder Ctrl, je nachdem, welche Taste gedrückt ist |
j, down | Alternativen |
g g | Eine Sequenz (1 Sekunde zwischen den Tasten) |
G | Großschreibung setzt Shift voraus |
? | Druckbare Tasten werden anhand des Zeichens zugeordnet |
Werte sind ein Handler oder eine Bindung mit label, group, hint, disabled und noRepeat. Bindungen ohne Beschriftung funktionieren, erscheinen aber nicht im Hilfe-Overlay.
useKeymapBindings() gibt die aktuell aktiven, beschrifteten Bindungen für deine eigenen Fußzeilen und Menüs zurück.
Keymaps laufen über useInput, daher gelten die üblichen Regeln: Fokussierte Eingabefelder haben Vorrang, eine zugeordnete Taste stoppt die Weitergabe, und ein geöffnetes <Modal> deaktiviert Bindungen außerhalb des Modals. Übergib { priority, global, isActive }, um das zu ändern.
<KeyHelp>
Drücke ?, um alle beschrifteten Bindungen gruppiert anzuzeigen. Die Liste zeigt, was dort aktiv ist, wo sie geöffnet wurde.
<KeyHelp keys="?" title="Keyboard shortcuts" /><KeyHints> und <StatusBar>
<KeyHints /> zeigt Bindungen mit hint: true oder explizite items an. <StatusBar> ist eine einzeilige Fußzeile mit einem right-Slot.
<StatusBar right={<Text color="subtle">▼ iad1</Text>}> <KeyHints items={[{ keys: "ctrl+k", label: "commands" }]} /></StatusBar><Kbd>mod+k</Kbd> rendert eine einzelne Taste. formatKeys("ctrl+shift+p") ergibt unter macOS ⌃⇧P und auf anderen Plattformen ctrl+shift+P.
<CommandPalette>
Ctrl+K (oder Ctrl+P) öffnet eine Startauswahl mit unscharfer Suche für deine Befehle und alle beschrifteten Bindungen, wobei übereinstimmende Buchstaben hervorgehoben werden.
<CommandPalette commands={[{ id: "theme", label: "Toggle theme", group: "View", run: toggleTheme }]}/>| Prop | Beschreibung |
|---|---|
commands | { id, label, group?, keys?, keywords?, run }[] |
keys | Tastenkürzel zum Öffnen (Standard: ctrl+k, ctrl+p; null zum Deaktivieren) |
includeKeymap | Keymap-Bindungen auflisten (Standard: true) |
open / onOpenChange | Kontrollierter Zustand |
Die Palette schließt sich, bevor sie einen Befehl ausführt, damit Befehle eigene Modals öffnen können. fuzzyMatch und fuzzyFilter werden für deine eigenen Listen exportiert.