Directx 如何从USB操纵杆格式化操纵杆轴信息?

Directx 如何从USB操纵杆格式化操纵杆轴信息?,directx,bit-manipulation,joystick,Directx,Bit Manipulation,Joystick,我实际上只是有一个很小的问题,但我最难找到关于它的信息 对于我正在为之编程的应用程序,将有一个3轴操纵杆通过USB连接到Windows XP计算机,它由directx处理。然后,这些信息将被发送到其他地方的嵌入式控制器。我不需要知道太多关于directx如何处理它的复杂问题,但我想知道,轴的数据是如何格式化的 我能说的最近的是,现在大多数操纵手柄都有12位的分辨率,所以数据输出是作为12位2的补充数吗?然后,当它从directx捕获时,是否表示为有符号16位整数 我想知道这一点,因此我知道如何在

我实际上只是有一个很小的问题,但我最难找到关于它的信息

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

我能说的最近的是,现在大多数操纵手柄都有12位的分辨率,所以数据输出是作为12位2的补充数吗?然后,当它从directx捕获时,是否表示为有符号16位整数


我想知道这一点,因此我知道如何在嵌入式平台端处理数据,例如如何格式化发送数据到嵌入式端的数据包,以及如何在信息进入嵌入式端后使用这些信息。

驱动程序的一个大问题是,这意味着设备可以随心所欲地向您提供数据。例如,没有什么能阻止它沿着USB发送数字的字符串表示(尽管我承认这不太可能)。只要驱动程序将数据重新解释为windows(或任何操作系统)能够理解的格式,就没有问题

您最好选择设备的子集,然后看看数据是如何通过原始数据获得的,并在设备和系统之间编写自己的抽象。如果它是一个未知的设备,你可以“猜测”数据的格式,并尝试让它工作,但我怀疑你能否管理一个包罗万象的系统,因为某个地方的某个窃听者将以一种奇怪的方式(即以他们自己的方式)做事