我正在尝试从 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 过滤响应,但我从来没有收到任何东西。
有什么帮助吗?
提前致谢!