1

我正在尝试从 Xbox One 控制器的键中读取响应。我已经找到了它的 IdVendor 和 IdProduct 使用

dev = usb.core.find(find_all=True)

这个控制器在 Ubuntu 上运行良好,因为我在 Steam 中使用它,所以驱动程序没有问题。

当我得到设备对象并尝试从中读取时,我只得到 0:

dev = usb.core.find(idVendor=XXX, idProduct=XXX)
interface = 0
endpoint = dev[0][(0,0)][0]
if dev.is_kernel_driver_active(interface) is True: 
  dev.detach_kernel_driver(interface)
  usb.util.claim_interface(dev, interface)
collected = 0
attempts = 50
while collected < attempts :
    try:
        data = dev.read(endpoint.bEndpointAddress,endpoint.wMaxPacketSize)
        collected += 1
        print data

array('B', [0, 0, 0, ...]
array('B', [0, 0, 0, ...]
array('B', [0, 0, 0, ...]
etc

我试图用全 0 过滤响应,但我从来没有收到任何东西。

有什么帮助吗?

提前致谢!

4

0 回答 0