OSError: [Errno 19] Не удалось открыть устройство ввода: нет такого устройства

Я довольно новичок в малине и Linux. Я пытаюсь запустить базовый пример uinput из библиотеки Python на Raspbian (r Pi 3 B) с помощью следующего кода:

import uinput

device = uinput.Device([
        uinput.BTN_LEFT,
        uinput.BTN_RIGHT,
        uinput.REL_X,
        uinput.REL_Y,
        ])

for i in range(20):
    device.emit(uinput.REL_X, 5)
    device.emit(uinput.REL_Y, 5)

Я получаю ошибку:

Traceback (последний вызов был последним):

Файл "/home/pi/Desktop/t1.py", строка 7, в файле uinput.REL_Y, файл "/home/pi/.local/lib/python3.5/site-packages/uinput/ init.py", строка 178, в начальном я. Файл uinput_fd = fd или fdopen() "/home/pi/.local/lib/python3.5/site-packages/uinput/__init.py", строка 84, в fdopen возвращает _libsuinput.suinput_open() файл "/ home / pi /.local / lib / python3.5 / site-packages / uinput / init.py ", строка 70, в _open_error_handler вызывает OSError(код, msg)

OSError: [Errno 19] Не удалось открыть устройство ввода: нет такого устройства Что не так? Что мне нужно изменить и где?

1 ответ

Решение

Это uinput модуль драйвера загружен?

Пытаться:

$ lsmod | grep uinput

Вероятно, это ничего не будет отображать, что означает, что драйвер не загружен. Попробуйте загрузить его:

$ modprobe uinput

Тогда попробуйте свой код Python. Если вы не запускаете свой код с привилегиями root, вы, вероятно, получите PermissionError из-за прав доступа на /dev/uinput файл устройства.

Другие вопросы по тегам