GameInput 发行说明

版本 2.0

  • 添加了对音频驱动设备(包括 PlayStation®5 DualSense® 控制器)的高级触觉的支持。
  • 添加了对 Windows 传感器堆栈支持的传感器的支持。
  • 添加了对 DirectInput 驱动程序 DirectInputEscape 调用的支持。
  • 添加了对在基于 Linux 的系统上的 WINE 环境中运行 GameInput 的支持。
  • 添加了对跨游戏板驱动程序的可选后台游戏板输入的支持。
  • 向 添加了 revisionNumberhardwareVersionfirmwareVersioncontainerIdGameInputDeviceInfo
  • 向 WinGet 添加了 GameInput 可再发行组件安装程序。
  • 修复了 在 中报告不正确的 PNP 路径的 GameInputDeviceInfoGIP 设备。
  • 修复了 GIP 设备在旧版 API 中不报告原始读数的问题。
  • 将 API 版本增加到 2。

“PlayStation”是索尼互动娱乐公司的注册商标或商标。

“DualSense”是索尼互动娱乐公司的注册商标或商标。

版本 1.2

  • 修复多个控制器上的倒坐标轴映射。
  • 修复泄露 IGameInput 实例的游戏进程关闭时 2 秒超时的问题。
  • GameInput 现在会在升级后自动重新连接到 GameInput 服务。
  • 增加回调积压工作,为游戏提供更多时间来处理 GameInput 通知。

版本 1.1

  • 应用程序不再需要调用 CoInitialize
  • 修复了缺少设备断开连接通知的修复问题。
  • 修复了 FindDeviceFromId 不返回所请求设备的方法。
  • 修复了标头中的编译器兼容性问题。
  • 稳定性和性能改进。

版本 1.0

  • 添加了对读取回调的支持。
  • 添加了对触控板的支持。
  • 添加了对绝对鼠标坐标的支持。
  • 添加了对远程会话的支持。
  • 公开了其他设备信息,包括 PnP 路径和显示名称。
  • 删除了已弃用的 API、字段和常量。

虽然此版本的 GameInput 仅适用于电脑,但如果您在电脑上使用早期版本的 GameInput,或使用 GDK 与 Xbox 上的 GameInput 共享代码,请注意,已删除许多未实现的函数以及相应的枚举和常量。 此外,API 已放置在 命名空间中, GameInput::v1 以方便版本控制。 由于这些更改,使用此 (和将来) 版本生成代码时,可能会遇到编译错误。 值得注意的更改包括:

  1. IGameInputDevice::GetDeviceInfo 以前将生成的 IGameInputDeviceInfo 结构作为函数的返回值返回。 此结构现在作为 out 参数在函数上返回,并且函数的返回值现在 HRESULT为 。

  2. IGameInput::UnregisterCallback 以前使用超时值作为其第二个参数,但此参数已被删除。 在这两种情况下,与主机上用于 XCloud 的触摸 API 一起,使用 GAMEINPUT_API_VERSION 定义在电脑和主机之间有条件地编译 (或排除) 代码。

  3. IGameInputReading::GetSequenceNumber 已删除。 请改为使用 IGameInputReading::GetTimestamp

示例:

#include <GameInput.h>
#ifndef GAMEINPUT_API_VERSION
#define GAMEINPUT_API_VERSION 0
#endif

#if GAMEINPUT_API_VERSION == 1
using namespace GameInput::v1;
#endif

// ...

#if GAMEINPUT_API_VERSION >= 1
    device->GetDeviceInfo(&deviceInfo);
#else
    deviceInfo = device->GetDeviceInfo();
#endif

另请参阅

GameInput API 版本控制