Python evdev не находит устройства - PullRequest
0 голосов
/ 26 февраля 2019

Я пишу игру, используя python, и мне нужно отслеживать события клавиатуры, используя evdev .Я новичок в этой библиотеке, поэтому я следовал за учебником онлайн.Ниже приведен сценарий, упомянутый в руководстве:

>>> import evdev

>>> devices = [evdev.InputDevice(path) for path in evdev.list_devices()]
>>> for device in devices:
>>>     print(device.path, device.name, device.phys)

Однако после выполнения кода выходные данные list_devices () равны None, что указывает на то, что на моем компьютере нет устройств ввода (ноутбук Dell).) .Why

1 Ответ

0 голосов
/ 26 февраля 2019

Проверено на моей системе debian Buster, я думаю, она должна быть такой же для вас - вам нужен специальный доступ для чтения и записи на устройства.Например, sudo должно работать, попробуйте:

bash>sudo python3
>>>import evdev; evdev.list_devices()

Найден соответствующий документ :

Если вы не видите никаких устройств, убедитесь, чтоВаш пользователь находится в правильной группе (обычно вход) для доступа на чтение / запись.

Поэтому добавьте своего пользователя в группу input - возможно, безопаснее, чем sudo.

...