Repolode
jamiebuilds

jamiebuilds/tinykeys

一个轻量的浏览器快捷键库,可将单键、组合键及多键序列绑定到处理函数。

Star
4,104
Fork
89
未关闭 Issue
7
最近提交
上个月

这是什么?

tinykeys 是一个用于 Web 应用的小型快捷键库。传入 window 等目标对象,以及把 "Shift+D"、"$mod+b" 等按键模式映射到回调函数的对象,它就会监听键盘事件并调用匹配的处理函数。调用返回的 unsubscribe 函数即可取消绑定,适合在组件卸载时清理。

语法支持修饰键、用方括号标记的可选修饰键,以及跨平台的 $mod(Mac 上为 Meta,其他系统为 Control)。还支持用括号书写的正则分组来匹配一组按键,以及 "g i" 这类多键序列,并可配置按键之间的超时时间。绑定既可匹配 KeyboardEvent.key,也可匹配 KeyboardEvent.code。库中提供 parseKeybinding 辅助函数,方便在界面中展示快捷键。

可通过 npm 安装,也可通过 CDN 引入,项目使用 TypeScript 编写。

核心功能

  • 01支持单键、组合键和多键序列的绑定。
  • 02$mod 别名在 Mac 上对应 Meta,在其他系统上对应 Control。
  • 03支持用正则分组用一条绑定匹配多个按键。
  • 04返回 unsubscribe 函数,便于清理监听器。
  • 05可按 key 或 code 匹配,并处理 AltGraph 等键盘布局差异。
  • 06提供 parseKeybinding 函数,便于在界面中展示快捷键。

适用场景

  • 在网页文本编辑器中添加 Cmd+B 加粗等快捷键。
  • 在 Web 应用中实现 "g i" 这类多键导航序列。
  • 在 React 组件中注册快捷键,并在卸载时自动清理。

快速上手

  1. 1

    使用 npm 安装该包

    npm install --save tinykeys
  2. 2

    导入 tinykeys 并将快捷键绑定到 window

收录于专题

标签

常见问题

tinykeys 是什么?
一个轻量的浏览器快捷键库,可将单键、组合键及多键序列绑定到处理函数。 tinykeys 是一个用于 Web 应用的小型快捷键库。传入 window 等目标对象,以及把 "Shift+D"、"$mod+b" 等按键模式映射到回调函数的对象,它就会监听键盘事件并调用匹配的处理函数。调用返回的 unsubscribe 函数即可取消绑定,适合在组件卸载时清理。
tinykeys 可以免费使用吗?用的什么许可证?
tinykeys 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
tinykeys 还在维护吗?
半年内有更新。tinykeys 最近一次提交是在 2026年9月25日。
tinykeys 适合用来做什么?
在网页文本编辑器中添加 Cmd+B 加粗等快捷键。 在 Web 应用中实现 "g i" 这类多键导航序列。 在 React 组件中注册快捷键,并在卸载时自动清理。
tinykeys 怎么安装和运行?
使用 npm 安装该包: npm install --save tinykeys 导入 tinykeys 并将快捷键绑定到 window
在哪里获取 tinykeys?
源代码和安装说明在 GitHub 上:https://github.com/jamiebuilds/tinykeys

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目