#tauri-plugin #gamepad #tauri #web-api #polyfill #joystick #gilrs

sys tauri-plugin-gamepad

为Tauri提供Gamepad Web API填充程序的插件,在大多数常见平台上工作

3个版本

新版本 0.0.4 2024年8月20日
0.0.3 2024年7月13日
0.0.2 2023年12月13日

#525 in Web编程

每月 33 次下载

自定义许可

485KB
435

Tauri Plugin Gamepad

Tauri提供的插件,为Gamepad Web API提供填充程序,在大多数常见平台上工作。

demo

它基于gilrs库。

此插件支持Tauri 2.x 测试版。对于v1版本,请查看v1分支

为什么

默认情况下,WebKit不支持所有游戏手柄和控制器,尤其是在Safari(macOS和iOS)上。它对Chrome的WebKit版本支持更多,但Tauri不使用这个版本。

因此,创建此插件是为了弥合这一差距,并通过统一的Gamepad API提供相同的访问权限,该API已在大多数浏览器中可用。

教程

YouTube youtube tutorial

使用方法

在JavaScript侧,只需调用 import 'tauri-plugin-gamepad-api'

在Rust侧,将 .plugin(tauri_plugin_gamepad::init()) 添加到主Tauri构建器调用中。

有关更多信息,请参阅示例

已知问题

  • 触觉功能不可用(因为gilrs不支持,尽管sdl2支持)。
  • 某些设备将获得双倍的ongamepadconnected(一个来自本地实现,另一个来自此插件)。

软件包

  • tauri-plugin-gamepadcrates
  • tauri-plugin-gamepad-apinpm

支持的平台(来自 gilrs

输入 热插拔 力反馈
Linux/BSD (evdev)
Windows (XInput)
macOS
iOS
Android

开发

运行 npm run watch 以转换 TypeScript API 层。

使用以下命令运行示例演示

cd examples/tauri-app
npm run tauri dev

权限

请确保包含适当的权限以启用插件与网页共享事件。

{
  "$schema": "../gen/schemas/desktop-schema.json",
  "identifier": "default",
  "description": "Capability for the main window",
  "windows": ["main"],
  "permissions": [
    "core:app:default",
    "core:event:allow-listen",
    "gamepad:default"
  ]
}

Tauri 版本支持

Tauri 版本 git
1.x 0.0.2
2.0.0-beta 0.0.3
2.0.0-rc 0.0.4

贡献

在向此存储库贡献力量之前,请通过问题、电子邮件或其他方式与存储库所有者讨论您希望进行的更改。

许可证

MIT

版权(c)2023-2024 Eugene Hauptmann

依赖项

~18–61MB
~898K SLoC