1

我正在尝试使用 Python 脚本与游戏控制器人机接口设备 (HID) 通信,但我无法从控制器接收数据。我正在使用 pywinusb 0.3.2 和 Python 3.3。游戏控制器是 Logitech Gamepad F310.Link Here to 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); 罗技;Logitech Dual Action,路径:\(此处为长序列中的数字和字母)

我不确定这里的方法是否适用于控制器,或者是否有另一个库比 pywinusb 更可取。如果我必须切换库,我宁愿切换到跨平台的库。示例部分中包含的少量文档不足以让我弄清楚这一点。

我的问题是:我如何从控制器接收数据?有命令吗?我曾与 Arduino 一起工作过,将它连接到 Wii Nunchuk 是一个类似的过程。我是否必须发送初始化序列,类似于 Arduino?我需要知道控制器上两个摇杆的 x 和 y 值以及按钮是否被按下。

如果这很明显或已经得到回答,我深表歉意。我以前从未在 python 中使用过 HID。

4

1 回答 1

0

看看 HID 的使用是如何工作的(google around)。

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

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

于 2015-03-21T01:30:12.250 回答