少见问题:Xbox One 手柄的 Impulse Trigger(震动板机)在 PC 上能不能工作?

简单答案:

稍微复杂的答案:

只在某些游戏和应用中可以

完整答案:

刚发布的时候,Xbox One 手柄并没有提供 Windows PC 的支持。Xbox One 手柄可以通过无线或者 USB 连接主机,但是插到 PC 上只能充电。随后在玩家的千呼万唤之下,微软终于发布了该手柄在 Windows 下的驱动(参考这篇旧文章),让玩家可以用 Xbox One 手柄玩任何支持 Xbox 360 手柄的游戏。

没错,让玩家可以用 Xbox One 手柄,连接 PC,玩任何支持 Xbox 360 手柄的游戏。

在 Xbox 360 时代里的一段时间,微软强推 Games for Windows Live 标签,此时微软拿出了 Xinput API 来让 PC 游戏兼容 Xbox 360 手柄。Xinput API 可以提供比 Direct Input API 更丰富的功能(比如震动),这也导致了一段时间之内,好多游戏不买个手柄都不能好好玩。

到了 Xbox One 时代,微软并没有选择更新 Xinput API,而是让 Xbox One 手柄向下兼容 Xinput API 来保持对 PC 游戏手柄操作的最大兼容性。

问题就出在这里:由于 Xbox 360 手柄没有震动板机,所以 Xinput API 里面没有震动板机的接口,所以即使是 Xbox One 手柄也不能平白无故给驱动添加一个接口。

但是有人要问了:Xbox One 本身运行的不也是 Windows 10 吗?Xbox One 用的是什么 API 呢?

首先,可以确定的是,肯定没用 Xinput API。

因为最一开始 Xbox One 并不打算向下兼容 Xbox 360 游戏,所以微软为 Xbox One 手柄专门开发了新的 API,这些 API 包含在 Windows RT 系统框架内。

所以在 PC 上,软件可以调用 Windows RT 框架内的新 API 来调用震动板机喽?

正是如此。

事实上现在从 Windows 应用商店下载的某些游戏和应用已经支持震动板机了,无论手柄的连接方式是无线还是有线。这些应用和游戏包括:

  • 古墓丽影:崛起(中区未上架)
  • 量子破碎
  • 极限竞速:巅峰(免费)
  • Xbox 附件(配置精英手柄用的)

另外,通过 Windows 10 内置的 Xbox 应用串流 Xbox One 上的游戏时,震动板机也是完美工作的。

只有 Windows 应用商店上架的游戏支持震动板机吗?

是的。

可能是 Windows 应用商店的签名机制阻止普通 Win32 软件调用 Windows RT API,即使是同一个游戏,在 Steam 上架的版本也是不支持震动板机的(比如《古墓丽影:崛起》)。

但是 Steam 版本的游戏也是有它的优点的,包括但不限于:

  • 可以关闭垂直同步
  • 支持 SLI/交火
  • 支持 G-Sync/FreeSync
  • 可以独占显示器

发布者:王跃琨

Digital Asshat

留下评论

发表评论

%d 博主赞过: