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.

Live80×18 · booting Turbolog…tsx
preview://keymap:1
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

SyntaxBedeutung
ctrl+kModifikatortasten: ctrl alt shift meta mod
mod+k⌘ oder Ctrl, je nachdem, welche Taste gedrückt ist
j, downAlternativen
g gEine Sequenz (1 Sekunde zwischen den Tasten)
GGroß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 }]}/>
PropBeschreibung
commands{ id, label, group?, keys?, keywords?, run }[]
keysTastenkürzel zum Öffnen (Standard: ctrl+k, ctrl+p; null zum Deaktivieren)
includeKeymapKeymap-Bindungen auflisten (Standard: true)
open / onOpenChangeKontrollierter 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.

Diese Seite auf GitHub bearbeiten