Цикл Python evdev не реагирует на нажатия клавиш

Я пытаюсь работать с модулем python evdev (интерпретатор Python3/Linuxmint 20.1). Я попытался запустить пример кода документации (https://python-evdev.readthedocs.io/en/latest/tutorial.html#reading-events):

>>> from evdev import InputDevice, categorize, ecodes
>>> dev = InputDevice('/dev/input/event1')

>>> print(dev)
device /dev/input/event1, name "Dell Dell USB Keyboard", phys "usb-0000:00:12.1-2/input0"

>>> for event in dev.read_loop():
...     if event.type == ecodes.EV_KEY:
...         print(categorize(event))
... # pressing 'a' and holding 'space'
key event at 1337016188.396030, 30 (KEY_A), down
key event at 1337016188.492033, 30 (KEY_A), up
key event at 1337016189.772129, 57 (KEY_SPACE), down
key event at 1337016190.275396, 57 (KEY_SPACE), hold
key event at 1337016190.284160, 57 (KEY_SPACE), up

Но в моем терминале никакие ключевые события не распечатываются. Ошибки тоже нет. Он просто зависает в цикле, и буква клавиши печатается в консоли, когда я ее нажимаю. Я проверил с помощью evtest в VT, прежде чем убедиться, что код ссылается на правильный файл событий - все должно быть в порядке. Печатное устройство также правильное.

Кто-нибудь знает, как это исправить или где может быть проблема? (Может ли это быть связано с вмешательством в процессы ядра? Я проверил с помощью fuser и увидел, что в файле событий запущены те же корневые процессы)


person neo    schedule 23.02.2021    source источник


Ответы (1)


Хорошо, решение заключалось в том, что с подключенным устройством было связано более одного файла событий. Сейчас получил другой, все работает.

person neo    schedule 24.02.2021