绕过 Electron 中 navigator.getGamepads 的交互要求

问题描述 投票:0回答:1

我将 Electron 用于机器人应用程序,其中我们有一个自定义操纵杆控制器。该操纵杆有几个按钮和旋钮,它们具有我们在应用程序中显示的状态(例如快速拨号 0-100%)。

出于安全(指纹识别)原因,游戏手柄 API 在用户与其交互之前不会将游戏手柄显示为已连接。

但这会导致启动时显示这些按钮的状态出现问题。作为我们控制用户计算机、电子应用程序和操纵杆编程的产品,这不是安全问题。

是否可以设置任何其他标志来忽略此行为并在启动时查看所有游戏手柄,无论用户是否按下了按钮?或者 Electron 有没有找到一种方法来绕过这个?我没有运气找到任何东西。

我的另一个选择是更改我们的 USB 操纵杆代码,只切换一个我们不使用的随机按钮,模拟它被按下,但这感觉很hacky。

electron chromium gamepad-api
1个回答
0
投票

这对于 Gamepad API 来说是不可能的。 游戏手柄用户手势要求是游戏手柄 API 规范的一部分,不应被禁用或绕过。

尝试使用 HID Explorer 连接到您的自定义操纵杆。如果有效,请考虑使用 WebHID API 作为替代方案。使用 WebHID,您可以将输入报告读入缓冲区,然后解析缓冲区以提取每个控件的值。

© www.soinside.com 2019 - 2024. All rights reserved.