将 XYZ 值传递到 MS Flight Sim 2004
Pass XYZ values into MS Flight Sim 2004
我计划使用我的 Android 设备的陀螺仪读数,并使用这些读数在模拟飞行中控制您的飞机。使用 Python,我目前正在使用 UDP 将来自陀螺仪的 XYZ 读数的连续流传递到我的 PC。我想知道是否有一种方法可以与 Flight Sim 接口以使用这些值来控制飞机。
Microsoft 有一个名为 SimConnect, but I am not sure if you can pass values into flight sim. Also, I have heard of FSUIPC 的 API,但我不知道从哪里开始。
是否可以将 XYZ 值传递到 MS Flight Sim 中,也许作为某种虚拟控制器?
您应该实施虚拟人机接口设备 (VHID)。在 Windows 10 中执行此操作的文档位于:https://msdn.microsoft.com/en-us/library/windows/hardware/dn925056(v=vs.85).aspx
如果您需要支持旧版本的 Windows,您可能需要使用不同的 API、UMDF. I think one useful example for that might be this one: https://github.com/Microsoft/Windows-driver-samples/tree/master/hid/vhidmini2,但请注意它是针对 "V2" API 用于 Windows 8 及更高版本。如果你写入 UMDF V1,你可以一直回到 Windows XP。
还有一个第三方库 vJoy,它似乎是为您要执行的操作而设计的:http://vjoystick.sourceforge.net/site/
我计划使用我的 Android 设备的陀螺仪读数,并使用这些读数在模拟飞行中控制您的飞机。使用 Python,我目前正在使用 UDP 将来自陀螺仪的 XYZ 读数的连续流传递到我的 PC。我想知道是否有一种方法可以与 Flight Sim 接口以使用这些值来控制飞机。
Microsoft 有一个名为 SimConnect, but I am not sure if you can pass values into flight sim. Also, I have heard of FSUIPC 的 API,但我不知道从哪里开始。
是否可以将 XYZ 值传递到 MS Flight Sim 中,也许作为某种虚拟控制器?
您应该实施虚拟人机接口设备 (VHID)。在 Windows 10 中执行此操作的文档位于:https://msdn.microsoft.com/en-us/library/windows/hardware/dn925056(v=vs.85).aspx
如果您需要支持旧版本的 Windows,您可能需要使用不同的 API、UMDF. I think one useful example for that might be this one: https://github.com/Microsoft/Windows-driver-samples/tree/master/hid/vhidmini2,但请注意它是针对 "V2" API 用于 Windows 8 及更高版本。如果你写入 UMDF V1,你可以一直回到 Windows XP。
还有一个第三方库 vJoy,它似乎是为您要执行的操作而设计的:http://vjoystick.sourceforge.net/site/