# @alwith/module-gamepad 中文文档

规范地址：https://npmcn.com/package/%40alwith/module-gamepad/

版本：0\.6\.1
npm 元数据更新时间：2026-11-08T20:22:19.273Z
中文译文更新时间：2026-11-09T20:26:07.105Z
软件包许可：SEE LICENSE IN LICENSE

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

原始 npm 页面：https://www.npmjs.com/package/%40alwith/module-gamepad
原文对照：https://npmcn.com/package/%40alwith/module-gamepad/?lang=original
项目主页：https://github.com/ALwith-ai/alwith-modules#readme
源码仓库：https://github.com/ALwith-ai/alwith-modules

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

- 包体积（解压后）：14.5 MB，456 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：5 个
- peer 依赖：react ^19\.3\.1，i18next ^27\.0\.0，react-dom ^19\.3\.1，react-i18next ^18\.0\.0，@tauri-apps/api ^3\.0\.0-alpha\.3，@alwith/module-installed-apps ^0\.6\.0
- 首次发布：2026-10-22T10:34:58.239Z
- 最新版本发布：2026-11-08T20:22:18.898Z
- 近 30 天下载量：1748（2026-10-06 至 2026-11-04，npm 官方下载统计）
- 已发布版本数：9（近 12 个月 9 个）

## 中文简介

可重用控制器映射引擎和React接口. 这是个人释放候选人.

## 安装

```sh
npm install @alwith/module-gamepad
```

也可以使用：`pnpm add @alwith/module-gamepad`、`yarn add @alwith/module-gamepad`、`bun add @alwith/module-gamepad`

## README

# Gamepad 模块

可重用控制器映射引擎和React接口. 这是个人释放候选人.

导出:核心客户端、反应面板/提供者、Tauri主机和运输、生成的插件命令(`./commands`),生成了本地合同,地籍和资产. Tauri 插件为 `alwith-gamepad` 这个包装有本地图书馆。 导入 `styles.css` 一次并明确登记 `gamepadResources` 在主机i18n实例。 环绕 `GamepadPanel` 内 `GamepadProvider` 与本地交通,权限,捕获生命周期,以及错误报告.

货物消费者依赖 `alwith-gamepad` by version; 应用程序的舞台机从此包中取取出本地文库.

本地服务拥有概况、修订、启动/压缩和输入注入。 选择控制器会自动激活其保存的配置 。 所有控制器都保留共享映射策略. 系统注入所有权是执行共享锁的主机中独有的. 未修改的桌面尚未参与此锁定 .

建造和测试使用 Bun and Cargo. 运行 `bun run build`, (中文(简体) ), `bun run test`,以及 `bun run test:rust` 从此目录。 标有被忽略的原生烟雾检测需要明确执行. 物理设备覆盖和Windows验证在稳定发布前仍需要. 此软件包尚未发布 .

## 东道国一体化

```ts
import { createGamepadClient } from "@alwith/module-gamepad"
import { createTauriGamepadHost } from "@alwith/module-gamepad/tauri"
import { GamepadPanel, GamepadProvider } from "@alwith/module-gamepad/react"
import { gamepadResources } from "@alwith/module-gamepad/locales"
import "@alwith/module-gamepad/styles.css"
```

根条目没有React,DOM或Tauri导入,也不开始本地服务. `createTauriGamepadHost({ platform, onError, applications, generateConfig })` 构建完整 主机来自插件命令; 供应 `applications` 从 `@alwith/module-installed-apps` 与 `createInstalledApplications(onError)` 从 `@alwith/module-gamepad/installed-apps` (该包) 是一个可选的对等点,仅此条目需要 :

```ts
import { createTauriGamepadHost } from "@alwith/module-gamepad/tauri"
import { createInstalledApplications } from "@alwith/module-gamepad/installed-apps"

const host = createTauriGamepadHost({ platform, onError, applications: createInstalledApplications(onError) })
```

无头消费者可以提供 `GamepadTransport` 直接说. 登记想要从 `gamepadResources` 下划线 `gamepad` 命名空间(13种语言). 面板使用主机的语义色彩变量. 门户网站带有自己的风格范围.

```toml
[dependencies]
alwith-gamepad = "0.6"
```

```rust
.plugin(alwith_gamepad::init(Config { development_directory, ..Default::default() }))
// in the application's ordered shutdown
alwith_gamepad::shutdown(app)?;
```

`Config` 选择调试构建 `development_directory` 本地库并覆盖配置路径(默认) `gamepad/profiles.json` 应用数据)和 共享每个用户的注射锁定路径. `legacy_profile_path` 名称 AL 带有桌面 `gamepad-devices.json` (单位:千美元)`{ "<device name>": Config }`抓紧 `color` 在每个配置内: 配置文件存储尚未存在, 每个设备都被导入, 作为该名称在修订版 1 的配置文件 带有颜色, 无活动; 遗留文件未被更改, 无效的条目失败启动 及其设备名称。 外面的灰尘主机 `init` 使用情况 `GamepadService::with_legacy_profiles`AL与 U 关系 总是在此格式的默认路径上存储配置文件, 因此它不会通过遗留路径 。 默认权限集 `alwith-gamepad:default` 覆盖面板; 仅授予应用程序能力中信任的应用程序窗口 . 配置保存需要预期的修订. `savedRevision` 财务报告和审定财务报表 `appliedRevision` 分别是: 停止时的持久性并不意味着注射活动。 自动选择设备 装入并激活其配置文件;随后的编辑会立即被保存和应用. 主计长分享这种绘图,但拥有单独的地层、轴线、控件和重复状态.

插件拥有密钥抓取策略: 它暂停注入, 删除应用程序菜单 ,并在停止、故障、焦点丢失、窗口被破坏和 `shutdown`。对于焦点损失,将取消待定的启动。 引擎事件和抓取的密钥只到达 通过他们的渠道订阅的网页视图。 一个被销毁的窗口的虚拟控制器是 本地分离;停止应用程序拥有的AI任务留在主机. 对 macOS 和 Windows 执行原生全局捕获;其他主机使用 DOM 捕获方式 注射暂停。 AI 生成是可选的, 接收中止符号, 绝不导入 模型提供者。 这个 `./ai` 输入提供了快速构建和验证的全/递增 JSON分析.

面板保留了320px设备列和固定大小的控制器图. 使用专用 窗口 750 像素。 语义主机颜色主题界面及其出入口.

## 审定和释放状况

macOS arm64 核查包括单元测试、剖面持续/冲突测试、客户端 订阅比赛,一个React stale-save测试,以及明确的本地虚拟控制器测试 ,系统输出被禁用。 物理控制器,朗布尔硬件,许可UI, 全球密钥截取,而Windows执行仍然需要手动验证. 该套件仍为私用,不得作为本证据的稳定发布而发表.

## 常见问题

### @alwith/module-gamepad 是什么？

可重用控制器映射引擎和React接口\. 这是个人释放候选人\.

### 如何安装 @alwith/module-gamepad？

在项目目录运行 npm install @alwith/module-gamepad，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：react-i18next（^18\.0\.0）、@tauri-apps/api（^3\.0\.0-alpha\.3）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @alwith/module-gamepad 支持 TypeScript 吗？

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

### @alwith/module-gamepad 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @alwith/module-gamepad 可以商用吗？

@alwith/module-gamepad 使用 SEE LICENSE IN LICENSE 许可。许可条款写在包内的独立文件中，请阅读该文件确认可否商用。以上为概括，不构成法律意见，请以许可原文为准。

### @alwith/module-gamepad 的下载量有多少？

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

### @alwith/module-gamepad 还在维护吗？

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

