tanstack-hotkeys

v2026.09.24

TanStack Hotkeys for type-safe keyboard shortcuts with React hooks. Use when adding keyboard shortcuts, hotkey sequences, shortcut recording, key hold detection, or platform-aware shortcut display. Use for hotkeys, keyboard-shortcuts, shortcuts, key-binding, Mod key, hotkey-recorder, key-sequences.

GitHub
安装命令
npx skhub add oakoss/tanstack-hotkeys
Markdown
SKILL.md

TanStack Hotkeys

Overview

TanStack Hotkeys is a type-safe keyboard shortcuts library for React with template-string bindings, cross-platform Mod key abstraction (Cmd on macOS, Ctrl on Windows/Linux), and SSR-friendly utilities. It provides hooks for single hotkeys, multi-key sequences, shortcut recording, and real-time key state tracking, plus platform-aware display formatting.

When to use: Adding keyboard shortcuts to React apps, recording user-defined hotkeys, detecting held modifier keys, displaying platform-specific shortcut labels, implementing Vim-style key sequences.

When NOT to use: Non-React apps without a wrapper (core package exists but React is the primary target), complex input handling that needs full keymap management (consider a dedicated keymap library).

Quick Reference

PatternAPIKey Points
Single hotkeyuseHotkeyMod abstracts Cmd/Ctrl; auto-prevents default on combos
Multi-key sequenceuseHotkeySequenceVim-style sequences like g g; configurable timeout
Record shortcutsuseHotkeyRecorderUser-defined shortcuts; start/stop/cancel recording
Detect key helduseKeyHoldBoolean for specific key; optimized re-renders
Track all held keysuseHeldKeysArray of currently pressed key names
Track held key codesuseHeldKeyCodesMap of key names to physical event.code values
Global defaultsHotkeysProviderSet default options for all hooks; per-hook overrides apply
Format for displayformatForDisplayPlatform-aware: macOS symbols vs Windows/Linux text
Scope to elementtarget option + refRequires tabIndex on target element for focus
Conditional hotkeysenabled optionDynamically enable/disable without unmounting

Common Mistakes

MistakeCorrect Pattern
Missing tabIndex on scoped target elementAdd tabIndex={-1} (or 0) to elements using target ref for focus
Using Ctrl instead of ModUse Mod for cross-platform; it maps to Cmd (Mac) or Ctrl (Win/Linux)
Assuming hotkeys fire inside inputsignoreInputs defaults to smart detection; set false to force firing
Duplicate hotkey registrations without configSet conflictBehavior: 'replace' to override, or 'error' to catch
Forgetting preventDefault is auto-enabledModifier combos auto-prevent; set preventDefault: false to allow default
Using keyup without requireResetCombine eventType: 'keyup' with requireReset: true to fire once

Delegation

If the tanstack-pacer skill is available, delegate throttling and debouncing tasks to it. TanStack Pacer is useful for rate-limiting hotkey callbacks. Otherwise, recommend: pnpm dlx skills add oakoss/agent-skills -s tanstack-pacer -a claude-code -y

If the tanstack-devtools skill is available, delegate devtools setup to it. Otherwise, recommend: pnpm dlx skills add oakoss/agent-skills -s tanstack-devtools -a claude-code -y

  • Keyboard shortcuts and hotkeys: Use this skill
  • Throttling/debouncing hotkey callbacks: Delegate to tanstack-pacer
  • DevTools integration: Delegate to tanstack-devtools

References

发现
标签

此技能尚未发布标签。

版本
最新版本元数据

版本

v2026.09.24

发布时间

2026年9月24日

分类

未分类

许可证

未指定

源路径

skills/tanstack-hotkeys

默认分支

main

最新提交

85e3a39

Tree SHA

a4c9e7b