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验证在稳定发布前仍需要. 此软件包尚未发布 .
东道国一体化
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 (该包)
是一个可选的对等点,仅此条目需要 :
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种语言).
面板使用主机的语义色彩变量. 门户网站带有自己的风格范围.
[dependencies]
alwith-gamepad = "0.6"
.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_profilesAL与 U 关系
总是在此格式的默认路径上存储配置文件, 因此它不会通过遗留路径 。 默认权限集 alwith-gamepad:default
覆盖面板; 仅授予应用程序能力中信任的应用程序窗口 .
配置保存需要预期的修订. savedRevision 财务报告和审定财务报表 appliedRevision 分别是:
停止时的持久性并不意味着注射活动。 自动选择设备
装入并激活其配置文件;随后的编辑会立即被保存和应用.
主计长分享这种绘图,但拥有单独的地层、轴线、控件和重复状态.
插件拥有密钥抓取策略: 它暂停注入, 删除应用程序菜单
,并在停止、故障、焦点丢失、窗口被破坏和
shutdown。对于焦点损失,将取消待定的启动。 引擎事件和抓取的密钥只到达
通过他们的渠道订阅的网页视图。 一个被销毁的窗口的虚拟控制器是
本地分离;停止应用程序拥有的AI任务留在主机.
对 macOS 和 Windows 执行原生全局捕获;其他主机使用 DOM 捕获方式
注射暂停。 AI 生成是可选的, 接收中止符号, 绝不导入
模型提供者。 这个 ./ai 输入提供了快速构建和验证的全/递增
JSON分析.
面板保留了320px设备列和固定大小的控制器图. 使用专用 窗口 750 像素。 语义主机颜色主题界面及其出入口.
审定和释放状况
macOS arm64 核查包括单元测试、剖面持续/冲突测试、客户端 订阅比赛,一个React stale-save测试,以及明确的本地虚拟控制器测试 ,系统输出被禁用。 物理控制器,朗布尔硬件,许可UI, 全球密钥截取,而Windows执行仍然需要手动验证. 该套件仍为私用,不得作为本证据的稳定发布而发表.