2010-03-26 75 views
1

我其实只是有一个相当小的问题,但我有最艰难的时间找到关于它的信息。从USB操纵杆格式化游戏杆轴信息的方式如何?

对于我正在编程的应用程序,将会有一个3轴操纵杆通过USB连接到Windows XP计算机,并由directx处理。这些信息将会在其他地方发送给嵌入式控制器。我不需要知道directx如何处理它的复杂性,但我想知道,轴的数据格式化的过程如何?

最近我可以告诉大多数游戏杆现在有12位分辨率,数据输出也是12位2的恭维数字?之后,从directx捕获它时,它是否表示为一个有符号的16位整数?

我想知道这个,所以我知道我将如何处理嵌入式平台端的数据,比如如何格式化发送数据到嵌入端的数据包,以及如何使用信息在嵌入式方面。

回答

2

驱动程序的一个大问题是,它意味着设备可以向您提供数据,不过它喜欢。例如,没有什么能够阻止它沿着USB发送数字的字符串表示(虽然我承认它不太可能)。只要驱动程序将数据重新解释为窗体(或任何OS)可以理解的数据,就没有问题。

您最好选择设备的一个子集,然后看看数据是如何通过原始数据并在设备和系统之间编写自己的抽象。如果它是一个未知的设备,你可以“猜测”数据是以什么格式出现的,并试图让它起作用,但是我怀疑你会管理一个全部系统,因为某个地方的某个bug将会以奇怪的方式处理即以他们自己的方式)。