我想为我的 Web 应用程序提供游戏手柄支持。此应用程序是一个套接字客户端(使用 socket.io),它还应该能够处理游戏手柄输入。
因此,当通过 USB 或蓝牙插入游戏手柄时,我想触发一个事件,与输入相同。我希望Gamepad API能解决它。不幸的是,它没有。
我创建了这个例子
$(document).ready(() => {
window.addEventListener("gamepadconnected", e => {
console.log("connected gamepad");
});
window.addEventListener("gamepaddisconnected", e => {
console.log("disconnected gamepad");
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
我插入了我的 Xbox360 控制器,但不幸的是没有触发任何事件。我错过了什么吗?
我在 Manjaro Linux(64 位)上使用 Chrome 版本 76.0.3809.132(官方构建)
navigator.getGamepads()
在控制台中运行时,我得到了这个结果GamepadList {0: null, 1: null, 2: null, 3: null, length: 4}
顺便说一句。当然,我的控制器正在开发其他应用程序,例如游戏 :)
更新
我安装了 Firefox 68.0.1(64 位)并且它工作正常......但 Chromium 似乎在挣扎