# ldesign-hotkey **Repository Path**: ldesign-v1/ldesign-hotkey ## Basic Information - **Project Name**: ldesign-hotkey - **Description**: LDesign ????? - Hotkey/shortcut management - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-13 - **Last Updated**: 2026-04-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # @ldesign/hotkey > 快捷键管理系统 — 注册、管理和分发键盘快捷键,支持作用域、组合键和冲突检测。 ## ✨ 特性 - **作用域管理** — 支持多作用域快捷键,自动过滤非当前作用域的绑定 - **组合键** — 支持 `ctrl+s`、`shift+alt+d` 等组合键格式 - **冲突检测** — 注册时自动检测同一作用域内的快捷键冲突 - **Vue 集成** — 提供 `useHotkey` / `useHotkeyScope` 组合式函数 - **指令支持** — Vue 指令 `v-hotkey` 快速绑定 - **帮助面板** — 内置快捷键帮助面板生成 ## 📦 安装 ```bash # 核心 pnpm add @ldesign/hotkey # Vue 适配器 pnpm add @ldesign/hotkey @ldesign/hotkey-vue ``` ## 🚀 快速开始 ### 原生 JavaScript ```ts import { HotkeyManager } from '@ldesign/hotkey' const hotkey = new HotkeyManager({ scope: 'global' }) // 注册快捷键 const unregister = hotkey.register({ key: 'ctrl+s', handler: (e) => { e.preventDefault() console.log('保存') }, description: '保存文档', }) // 切换作用域 hotkey.setScope('editor') // 查看冲突 const conflicts = hotkey.detectConflicts(binding) // 销毁 hotkey.destroy() ``` ### Vue 3 ```vue ``` ### Vue 指令 ```vue ``` ## 📖 API 文档 ### HotkeyManager | 方法 | 说明 | |------|------| | `register(binding)` | 注册快捷键,返回取消注册函数 | | `unregister(key, scope?)` | 取消注册 | | `setScope(scope)` | 切换当前作用域 | | `getScope()` | 获取当前作用域 | | `getBindings()` | 获取所有已注册快捷键 | | `getBindingsByScope(scope?)` | 获取指定作用域的快捷键 | | `detectConflicts(binding)` | 检测冲突 | | `destroy()` | 销毁管理器 | ### 快捷键格式 支持的修饰键:`ctrl` / `control`、`alt`、`shift` / `meta` / `cmd` / `command` / `win` 示例:`ctrl+s`、`shift+alt+d`、`meta+enter` ## 📄 License MIT © LDesign Team