版本 2.0
- 添加了对音频驱动设备(包括 PlayStation®5 DualSense® 控制器)的高级触觉的支持。
- 添加了对 Windows 传感器堆栈支持的传感器的支持。
- 添加了对 DirectInput 驱动程序
DirectInputEscape调用的支持。 - 添加了对在基于 Linux 的系统上的 WINE 环境中运行 GameInput 的支持。
- 添加了对跨游戏板驱动程序的可选后台游戏板输入的支持。
- 向 添加了
revisionNumber、hardwareVersion、firmwareVersion和containerIdGameInputDeviceInfo。 - 向 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 以方便版本控制。 由于这些更改,使用此 (和将来) 版本生成代码时,可能会遇到编译错误。 值得注意的更改包括:
IGameInputDevice::GetDeviceInfo以前将生成的IGameInputDeviceInfo结构作为函数的返回值返回。 此结构现在作为 out 参数在函数上返回,并且函数的返回值现在HRESULT为 。IGameInput::UnregisterCallback以前使用超时值作为其第二个参数,但此参数已被删除。 在这两种情况下,与主机上用于 XCloud 的触摸 API 一起,使用GAMEINPUT_API_VERSION定义在电脑和主机之间有条件地编译 (或排除) 代码。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