我很快就会得到一个用于坎巴拉太空计划的飞行杆,并希望将它进行 AHK 化,就像我在计算机上使用的所有其他外围设备一样。我知道如何重新映射操纵杆按钮,以及如何获取飞行杆和 throttle Axis 的读数,但我不确定如何使用 AutoHotkey 虚拟控制 Axis 。我见过一些与 vJoy 和其他程序集成的库的提及,但那些看起来很复杂,我还没有弄清楚如何使用它们。是否可以在纯 AHK v1.1 中操纵操纵杆 Axis ?
最佳答案
不,不可能使用任何第三方软件来改变物理操纵杆的报告方式,更不用说 AutoHotkey 了。
但是,X360CE 可以改变游戏如何看待 XBox handle ,因为它会在游戏文件夹中插入一个假的 XInput DLL,因此当游戏进行 XInput 调用时,它会拦截它们。
显然,如果操纵杆附带驱动程序,则该软件可以改变操纵杆的报告方式。
但是,有一个解决方法:
安装Shaul's vJoy ,然后你就可以创建一个假的“虚拟”棒。
然后,您从物理摇杆读取输入,并将(更改的)状态写入虚拟 vJoy 摇杆。
我编写了一个名为 CvJoyInterface 的库这使得从 AHK 访问 vJoy 变得非常简单。
这种方法的问题是物理摇杆对游戏仍然可见,因此您需要强制游戏从虚拟摇杆而不是物理摇杆获取输入。这可能很难,因为在游戏的绑定(bind)屏幕中,当您移动物理棒时,游戏会在虚拟棒之前看到该移动,并绑定(bind)到它。
如果您希望能够进行这种重新映射而不必求助于编码,我会编写一个基于 AutoHotkey 的应用程序,名为 UCR它可以为您完成这一切。
UCR还包括一个“GameBind”功能,它允许您在所有重新映射中插入延迟,以便您可以移动摇杆,然后在游戏中单击绑定(bind),并等待UCR在延迟后移动摇杆,这样游戏中只能看到虚拟摇杆移动。
在游戏中完成所有绑定(bind)后,关闭 GameBind。
正在编写一套名为 ViGEm 的新应用程序,其中一个组件称为 HidGuardian。完成后,这应该允许我们对除 UCR 等重新映射应用程序之外的所有内容隐藏物理棒,使我们能够进行正确的重新映射,而不必诉诸延迟输入等。
关于autohotkey - 使用 AutoHotkey 控制操纵杆 Axis ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30560507/