我正在尝试使用Python脚本与游戏控制器人机接口设备(HID)通信,但从控制器接收数据时遇到问题。我使用的是pywinusb 0.3.2和Python 3.3。游戏控制器是罗技公司的Gamepad F310。将Here链接到pywinusb。
我已经能够让python识别HID,但我被困在了从哪里开始的问题上。我识别控制器的代码是:
import pywinusb.hid as hid
target = hid.HidDeviceFilter(vendor_id = target_vendor_id, product_id = target_product_id)
allitems = target.get_devices()
device = allitems[0]
print(device)此代码返回如下内容: HID设备(vID=0x00a、pID=0xa000、v=0x0000);罗技;罗技双动作,路径:(此处为长序列中的数字和字母)
我不确定方法here是否可以与控制器一起工作,或者是否有比pywinusb更可取的其他库。如果我必须转换库,我更喜欢切换到跨平台的库。示例部分中包含的少量文档不足以让我弄清楚这一点。
我的问题是:如何从控制器接收数据?有命令吗?我曾经使用过Arduino,将它连接到Wii Nunchuk上也是一个类似的过程。我是否必须发送初始化序列,类似于Arduino?我需要知道控制器上两个杆的x和y值,以及按钮是否被按下。
如果这是显而易见的或者已经被回答了,我很抱歉。我以前从来没有在python中使用过HID。
发布于 2015-03-21 09:30:12
看看HID的用法是如何工作的(谷歌搜索)。
使用show_hids.py示例脚本检查设备是否公开标准用法。
如果没有,您唯一的希望就是使用原始报表处理程序(请查看源代码中的示例文件夹,我建议您使用github的代码)。
https://stackoverflow.com/questions/18709253
复制相似问题