张大妈

Dinput和Xinput是什么,如何选择合适的手柄协议

源自UP主:Sankta_Lumo

02-14 10:20

选择游戏手柄时,常会遇到Dinput与Xinput两种协议。它们决定了手柄游戏的兼容方式。Dinput灵活但配置繁琐,Xinput标准但即插即用。了解二者差异,不仅能解决手柄失灵、按键错乱等问题,更能根据游戏类型选择最佳方案,提升游玩体验。

Dinput和Xinput是什么,如何选择合适的手柄协议智能速览

  • Dinput协议历史悠久,支持高度自定义按键与轴。

  • Dinput的灵活性导致玩家需要手动绑定按键,体验不佳。

  • Xinput协议为Xbox手柄设计,统一了按键布局和功能。

  • Xinput实现即插即用,已成为现代游戏主流标准。

  • 赛车方向盘等复杂外设,至今仍依赖Dinput的扩展性。

Dinput和Xinput是什么,如何选择合适的手柄协议精华内容

两种协议的设计哲学截然不同,一个追求极致灵活,一个强调统一标准。正是这种差异,塑造了我们今天使用游戏手柄的习惯。

灵活的Dinput

Dinput协议全称DirectInput,诞生于1996年。其最大的特点是极高的灵活性,开发者可以自由定义手柄的轴、按键和方向键数量。例如,一个手柄可以设置4个轴和8个按键,另一个则可以是3个轴和10个按键,功能完全可选配。

然而,这种灵活性对开发者和玩家都构成了困扰。游戏开发者需要适配市面上五花八门的手柄,开发难度巨大。玩家则大概率需要在游戏开始前,手动将手柄的每一个按键与游戏内的动作进行绑定,过程繁琐且体验割裂。对于游戏手柄而言,统一的标准远胜于无序的灵活。

统一的Xinput

微软意识到Dinput的问题后,随Xbox手柄推出了Xinput协议。该协议彻底统一了手柄的功能规格:固定的摇杆、扳机、按键数量,并强制标配振动功能。游戏开发者无需再考虑不同硬件的兼容性问题,可以直接调用标准API获取手柄状态和设置振动。

对于玩家而言,这意味着真正的“即插即用”。游戏已预设好合理的键位映射,无需任何手动配置即可开始游戏。这种便利性使Xinput迅速成为主流,基本上完胜了Dinput协议,绝大多数现代游戏都优先支持Xinput。

Dinput的坚守阵地

尽管Xinput已是绝对主流,但Dinput并未完全消失。在一些特殊领域,它依然发挥着不可替代的作用。最典型的例子是赛车模拟游戏,例如《欧洲卡车模拟2》。这类游戏需要映射数十个按键,一个手排挡就相当于7个按键,这远超Xinput协议所能支持的按键数量。

此外,部分发布年代较早的老游戏,也仅支持Dinput协议。因此,对于专业的赛车玩家和复古游戏爱好者来说,支持Dinput的设备仍然是刚需。

DIY的现实挑战

对于想自己动手(DIY)制作手柄的玩家,两种协议的实现难度截然不同。Dinput基于公开的USB-HID标准,有大量公开资料可供参考,实现相对容易。而Xinput的USB协议是微软自用的,从未公开。

这意味着,市场上任何没有微软官方授权却支持Xinput的第三方手柄,其本质都是通过逆向工程(抓包)仿造Xbox手柄的数据通信方式实现的。虽然微软对此并未严格追究,但这种做法处于灰色地带。因此,对DIY玩家来说,制作一个功能完整的Xinput手柄,技术门槛要高得多。

Dinput与Xinput的更替,是游戏外设从混乱走向标准的缩影。如今,微软已推出能原生兼容PS5、NS手柄的新一代API,或许未来的手柄体验将不再受协议束缚。你最期待手柄的哪项新功能呢?

Dinput和Xinput是什么,如何选择合适的手柄协议关键评论

  • 微软已发布新API,可原生兼容PS5、NS及Xbox手柄,并支持高级功能如触觉反馈。

  • DIY爱好者可通过参考GitHub上的开源项目或特定教程,学习制作手柄。

  • 使用树莓派派PICO配合GP2040-CE固件,也能实现Xinput协议手柄的制作。

  • Dinput与Xinput主要为Windows系统设计,其他系统通常有自己的一套输入方案。

内容由AI生成
1
扫一下,分享更方便,购买更轻松
0评论

当前文章无评论,是时候发表评论了
提示信息

取消
确认
评论举报

最新文章 热门文章