0

我对覆盆子和 Linux 很陌生。我正在尝试使用以下代码在 Raspbian(r Pi 3 B)上运行 python 库uinput的基本示例:

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)

我得到错误:

回溯(最近一次通话最后):

文件“/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(code, msg)

OSError: [Errno 19] Failed to open the uinput device: No such device 怎么回事?我需要更改什么以及在哪里更改?

4

1 回答 1

5

uinput是否加载了驱动模块?

尝试:

$ lsmod | grep uinput

可能这不会显示任何内容,这意味着未加载驱动程序。尝试加载它:

$ modprobe uinput

然后尝试您的 Python 代码。如果你没有以 root 权限运行你的代码,你可能会因为设备文件PermissionError的访问权限而得到一个。/dev/uinput

于 2018-02-06T10:59:12.650 回答