我试图从Xbox One控制器的键中读取响应。我已经使用
找到了它的IdVendor和IdProductdev = 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的回复,但我从未收到任何回复。
任何帮助?
提前致谢!