我想在 xbox one 控制器上收听按钮按下事件,但似乎对此的许多解决方案都是实验性的并且正在开发中。我发现的大多数显示如何从游戏手柄接收输入的示例都使用轮询方法来重复检查游戏手柄的事件,但对于我的应用程序来说,我可以记录按钮按下的确切时间是至关重要的,而我没有想要在扫描游戏手柄之间错过按钮按下。
我可以使用 Firefox 或 Chrome,但我还没有在这两种浏览器中使用以下解决方案:
Firefox:根据此页面https://www.chromestatus.com/feature/5989275208253440#,“游戏手柄按钮和轴事件在 Firefox 中实现在 flag 后面dom.gamepad.non_standard_events.enabled
”。我已在 Firefox 中启用此功能,但收听状态更改事件(如https://www.smashingmagazine.com/2015/11/gamepad-api-in-web-games/所述)仍然无效。
Chrome:这个 github 页面https://github.com/MozillaReality/gamepad-plus/blob/master/README.md看起来它可以扩展 Gamepad API,所以我也可以在 Chrome 中监听按钮按下事件,但是当我尝试使用npm run build
我得到错误node_modules_missing
并且构建失败将JavaScript编译为独立模块。
我很感激有关如何启用.addEventListener('gamepadbuttondown'
... 在这些浏览器中的任何一个中工作的建议。