Я пытаюсь прочитать информацию с джойстика, такую как кнопки и другие. Мой код выдает сообщение «Ошибка 13: доступ запрещен»
Traceback (most recent call last):
File "./JOYSTICK.py", line 17, in <module>
ep.wMaxPacketSize)
File "/usr/local/lib/python3.6/site-packages/usb/core.py", line 975, in read
intf, ep = self._ctx.setup_request(self, endpoint)
File "/usr/local/lib/python3.6/site-packages/usb/core.py", line 102, in wrapper
return f(self, *args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/usb/core.py", line 216, in setup_request
self.managed_claim_interface(device, intf)
File "/usr/local/lib/python3.6/site-packages/usb/core.py", line 102, in wrapper
return f(self, *args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/usb/core.py", line 167, in managed_claim_interface
self.backend.claim_interface(self.handle, i)
File "/usr/local/lib/python3.6/site-packages/usb/backend/libusb1.py", line 811, in claim_interface
_check(self.lib.libusb_claim_interface(dev_handle.handle, intf))
File "/usr/local/lib/python3.6/site-packages/usb/backend/libusb1.py", line 595, in _check
raise USBError(_strerror(ret), ret, _libusb_errno[ret])
usb.core.USBError: [Errno 13] Access denied (insufficient permissions)
Я пытался запустить его в режиме sudo, используя sudo python3 JOYSTICK.py
(с правильным shebang), но он не работает. Я также пытался активировать свою виртуальную среду как sudo, но при запуске с правами root он не распознает команду source
.
#!/usr/bin/env python3
import usb.core
dev = usb.core.find(idVendor=0x044f, idProduct=0xb108)
dev.set_configuration(1) # from print usb.core.find()
cfg = dev.get_active_configuration()
intf = cfg[(0,0)]
ep = intf[0]
print(ep)
while (True):
data = dev.read(ep.bEndpointAddress,
ep.wMaxPacketSize)
print(data)
Я хочу, чтобы мой код отображал новую строку при нажатии кнопки на джойстике или изменении оси.
Спасибо.