在Python中从HID游戏控制器接收数据

时间:2013-09-10 01:01:12

标签: python python-3.x hid pywinusb

我正在尝试使用Python脚本与游戏控制器人机接口设备(HID)进行通信,但是我无法从控制器接收数据。我使用的是pywinusb 0.3.2和Python 3.3。游戏控制器是罗技游戏手柄F310.Link 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。

1 个答案:

答案 0 :(得分:0)

了解HID如何使用(google)。

使用show_hids.py示例脚本来检查设备是否公开标准用法。

如果没有,您唯一的希望是使用原始报告处理程序(检查源代码中的示例文件夹,我建议您使用github的代码)。