浏览器 API 游戏手柄未在 Windows 中检测到
Posted
技术标签:
【中文标题】浏览器 API 游戏手柄未在 Windows 中检测到【英文标题】:browser api gamepad not detecting in windows 【发布时间】:2013-10-22 09:33:41 【问题描述】:我遇到了一个奇怪的问题。我有一个古老的 microsoft sidewinder version 1 游戏手柄,因为我正在学习 javascript/html5,所以我想让我们在浏览器中尝试一下游戏手柄。
我在 linux(我的笔记本电脑,ubuntu 13.04)上尝试过:navigator.webkitGetGamepads()[0]
在我的 chrome 浏览器(版本 28.0.1500.71)的控制台中并立即检测到游戏手柄。
我在运行版本 30.0.1599.101 m 的 windows 7 64 位桌面上尝试了同样的事情
做了:navigator.webkitGetGamepads()[0]
在控制台中,但这里没有运气,它一直告诉我undefined
。当我在 Windows 中转到“我的设备”时,游戏手柄就在那里。
(https://www.dropbox.com/s/yam4fj5zqiogyjh/gamepad.png)
我在运行 Windows 8、64 位的笔记本电脑上遇到了同样的问题。
我不知道出了什么问题,也不知道如何解决。 (我希望它可以修复) 请帮忙
【问题讨论】:
如果你只做navigator.webkitGetGamepads()
,你会看到什么?因为它可能在不同的数组键下。
所有元素都是未定义的:(。会不会是游戏手柄在windows下不工作,因为它不支持XInput?
不只是你。我有 Windows 8.1 和通用 USB 游戏手柄,但 Gamepad API 没有运气。似乎其他人也有这个问题:code.google.com/p/chromium/issues/detail?id=144843 所以你能做的最好的就是给这个问题加星标并等待修复。
【参考方案1】:
您可能想先尝试最知名的游戏手柄测试脚本。
铬:http://www.html5rocks.com/en/tutorials/doodles/gamepad/gamepad-tester/tester.html
Firefox(28,使用 Aurora):http://luser.github.io/gamepadtest/
如果您的游戏手柄使用的是 DirectInput 而不是 XInput,您可能会在 Chrome 上遇到一些问题,但它可以在 Firefox 上正常工作。例如,我在 PS4 游戏手柄上遇到了同样的问题。
【讨论】:
【参考方案2】:规范尚未完成,但这个存储库是一个很好的开始。试试看:
https://github.com/luser/gamepadtest
它试图解释未完成规范的实现以及 Chrome 的前缀实现的差异。
【讨论】:
以上是关于浏览器 API 游戏手柄未在 Windows 中检测到的主要内容,如果未能解决你的问题,请参考以下文章