# @bigbinary/neeto-hotkeys 中文文档

规范地址：https://npmcn.com/package/%40bigbinary/neeto-hotkeys/

版本：1\.0\.9
npm 元数据更新时间：2024-11-21T18:05:43.990Z
中文译文更新时间：2026-11-08T01:57:32.579Z
软件包许可：ISC

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40bigbinary/neeto-hotkeys
原文对照：https://npmcn.com/package/%40bigbinary/neeto-hotkeys/?lang=original
项目主页：https://github.com/bigbinary/neeto-hotkeys#readme
源码仓库：https://github.com/bigbinary/neeto-hotkeys

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：489 kB，8 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- Node.js 要求：\>=18\.12
- 运行依赖：0 个
- peer 依赖：@bigbinary/neeto-cist latest，@bigbinary/neeto-commons-frontend latest，ramda ^0\.29\.1，react ^18\.2\.0
- 首次发布：2023-12-05T12:55:08.348Z
- 最新版本发布：2024-11-21T18:05:43.793Z
- 近 30 天下载量：37561（2026-10-08 至 2026-11-06，npm 官方下载统计）
- 已发布版本数：9（近 12 个月 0 个）

## 中文简介

处理键盘快捷键的回放钩子,提供自定义和平台意识的解决方案,支持全局和范围模式.

## 安装

```sh
npm install @bigbinary/neeto-hotkeys
```

也可以使用：`pnpm add @bigbinary/neeto-hotkeys`、`yarn add @bigbinary/neeto-hotkeys`、`bun add @bigbinary/neeto-hotkeys`

## README

# @ bigbinary/ neto- hotkeys (英语)

这个 `neeto-hotkeys` 软件包提供 `useHotKeys` 钩子,多功能工具 用于管理应用程序中的热键。 此勾钩允许您定义特定 hotkey组合并与之关联到相应的处理器功能. 这个 按下所配置的热键时会引用相关处理器, 启用 来执行响应键盘输入的动作.

## 安装

```zsh
yarn add @bigbinary/neeto-hotkeys
```

### 认为 `useHotKeys` 钩子接受 :

-   `hotkey`: 指定要收听的热键的字符串 。 热键可以是 以三种格式定义: `sequential`, (中文(简体) ), `simultaneous` 打开 `single`。 。 。 .
    
    1.  序列:由空格分隔出的任何密钥都被认为是相继的. 这个 当用户按顺序按下密钥时,会引用处理器。 对于 实例, `s r` 表示当用户按 `s` 随后是 `r` 页:1 相应 `handler` 将被援引.
    2.  同时:同步热键要求所有指定的键是 同时按下以触发处理器. 譬如说, `command+shift+r` 意思是当 `command`, (中文(简体) ), `shift`, (中文(简体) ), `r` 正在按下时间 同时,将援引处理器.
    3.  单身: 如名称所示,这意味着单键,如 `r` , (中文(简体) ), `k`, (中文(简体) ), `return` 包括: 无论何时 `r` 按下它相应的处理器 电话.
    
    热键应该使用 MacOS 格式, 钩子会处理转换 到用户平台(例如:命令 - > ctrl for windows).
    
    如果我们想把多把热键绑在同一个处理器上 我们可以用一个 像这样的阵列 `useHotkeys(['a', 'b'], handler)`。 。 。 .
    
-   `handler`:按下热键时应当引用的函数.
    
    Handler 会收到原始密钥 `event`。这可以用来阻止 这样的默认浏览器动作 `event.preventDefault()`。 。 。 .
    
-   `config`: 具有3个属性的配置对象 `mode`, (中文(简体) ), `unbindOnUnmount` 打开 `enabled`。 。 。 .
    
    1.  模式 : 模式可用值为 `default`, (中文(简体) ), `global` 打开 `scoped`。 。 。 .
        -   默认: 这是默认模式 。 只有在 用户在文本区域、输入或选择元素之外.
        -   环球: 即使用户在内部形式元素中, 处理器也会被发射 像文本区.
        -   范围:用于范围化热键到DOM元素。 你用得着 如果您想要引用处理器, 只有在用户是 聚焦于特定 `div`, (中文(简体) ), `button`, (中文(简体) ), `textarea` 诸如来. 当这个 模式将设置钩子返回 a `ref`,你需要附加这个 `ref` 以到您需要瞄准热键的元素.
    2.  取消对 UnbidOnUnmount : 默认值为 `true`。如果你不想要一个 当某个组件被卸载时, 处理器将未注册, 然后设置 值为 `false`。 。 。 .
    3.  启用:默认其值为 `true`。设定为 `false` 将 不注册热键.
    4.  文档:这是可选属性。 如果你想听热闹 在外部文档(例如iframe)上,通过该引用 文档使用 `document` 属性 `config` 对象。 如果你这样做 不提供此属性, 钩子会听取当前热键 默认文档.

### 返回值:

-   `inputRef`页:1 `ref` 需要附加在输入元素上的 听从.

### 用法 :

以下说明使用 `useHotKeys` 连接执行快捷键 为侧边栏打开.

```jsx
import useHotKeys from "@bigbinary/neeto-hotkeys";

// openSidebar function will only be called if the user is focused inside the textarea and performs the key combination.
const ref = useHotKeys("command+shift+r", openSidebar, {
  mode: "scoped",
});

return (
  <div>
    <div>Hello world</div>
    <textarea ref={ref}></textarea>
  </div>
);
```

Hotkey是许多应用程序的一个基本方面,提高了用户效率 和互动。 用HotKeys钩简化了这些工具的执行 通过允许您指定不同格式的热键组合, 相关处理器,和配置选项.

## 常见问题

### @bigbinary/neeto-hotkeys 是什么？

处理键盘快捷键的回放钩子,提供自定义和平台意识的解决方案,支持全局和范围模式\.

### 如何安装 @bigbinary/neeto-hotkeys？

在项目目录运行 npm install @bigbinary/neeto-hotkeys，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：@bigbinary/neeto-cist（latest）、@bigbinary/neeto-commons-frontend（latest）、ramda（^0\.29\.1）、react（^18\.2\.0）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @bigbinary/neeto-hotkeys 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @bigbinary/neeto-hotkeys 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @bigbinary/neeto-hotkeys 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=18\.12。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @bigbinary/neeto-hotkeys 可以商用吗？

@bigbinary/neeto-hotkeys 使用 ISC 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @bigbinary/neeto-hotkeys 的下载量有多少？

根据 npm 官方下载统计，@bigbinary/neeto-hotkeys 在 2026/10/08 – 2026/11/06 这 30 天内被下载 37,561 次，日均约 1,252 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @bigbinary/neeto-hotkeys 还在维护吗？

最新版本 1\.0\.9 发布于 2024/11/22（2 年前）；至今共发布 9 个版本，其中过去 12 个月发布了 0 个；首次发布于 2023/12/05。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

