【发布时间】:2020-06-16 22:43:41
【问题描述】:
我想在 xbox one 控制器上收听按钮按下事件,但似乎对此的许多解决方案都是实验性的并且正在开发中。我发现的大多数显示如何从游戏手柄接收输入的示例都使用轮询方法来重复检查游戏手柄的事件,但对于我的应用程序来说,我可以记录按钮按下的确切时间是至关重要的,而我没有想要在扫描游戏手柄之间错过按键操作。
我可以使用 Firefox 或 Chrome,但我还没有在这两种浏览器中使用以下解决方案:
Firefox:根据此页面https://www.chromestatus.com/feature/5989275208253440#,“游戏手柄按钮和轴事件在标志dom.gamepad.non_standard_events.enabled 后面的Firefox 中实现”。我已在 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 中监听按钮按下事件,但是当我尝试将 JavaScript 编译为独立模块时使用npm run build 我得到错误node_modules_missing 并且构建失败。
不胜感激有关如何启用 .addEventListener('gamepadbuttondown'... 在这两种浏览器中工作的建议。
【问题讨论】:
标签: google-chrome firefox gamepad xbox-one gamepad-api