Я пытаюсь использовать PyUSB для захвата данных, изменения их, а затем отправки их на P C, как если бы они пришли прямо с рассматриваемого устройства. Устройство, к которому я пытаюсь подключиться, - это планшет Wacom One.
До сих пор я мог извлекать данные с планшета, используя код ниже:
import usb.core
import usb.util
import usb.backend.libusb1
# find our device
dev = usb.core.find(idVendor=0x056A, idProduct=0x037A)
# was it found?
if dev is None:
raise ValueError('Device not found')
print(dev)
# set the active configuration. With no arguments, the first
# configuration will be the active one
dev.set_configuration()
# get an endpoint instance
cfg = dev.get_active_configuration()
intf = cfg[(0,0)]
# first endpoint
endpoint = dev[0][(0,0)][0]
# read a data packet
data = None
while True:
try:
data = dev.read(endpoint.bEndpointAddress,
endpoint.wMaxPacketSize)
print(data)
except usb.core.USBError as e:
data = None
if e.args == ('Operation timed out',):
continue
Но в настоящее время планшет отсоединен от ядра, движения курсора нет. Это нормально, как и должно быть, но я могу только найти способы отправки данных обратно на планшет Wacom, мне нужно просеять, отредактировать данные планшета (что я сделал в отдельной программе) и, наконец, отправить его на P C, поэтому он может быть прочитан драйвером Wacom. Причина, по которой я хочу, чтобы данные отправлялись так, как будто они не были отредактированы, заключается в том, что я не хочу переписывать весь драйвер для планшета, так как драйвер Wacom хорош, просто отсутствуют некоторые функции, которые будут добавлены манипулирование данными.