我为 Linux 编写了一些软件,它使用 libevdev 进行输入处理。
令我惊讶的是,我发现所有虚拟屏幕键盘都模拟高级 X Window Server 事件。因此,它们不会被 udev 识别,不会出现在/dev/input 文件夹中,也不会被 evtest 看到。
有没有足够低级的软件键盘?或者可能有一些技巧?
最佳答案
这样做是有充分理由的。/dev/input 设备是具有某种物理(电气、光学和/或机械)输入的设备。这些由 linux 内核驱动器转换成生成 EV_EVENTS 的东西。这些事件由 xf86_input_evdev 驱动程序处理成 X11 输入,服务器可以理解这些事件。由于您可以从 X11 程序生成 X11 输入,因此创建一个从 X11 应用程序的一侧接受输入并在另一侧生成输入的设备驱动程序需要大量工作。因此,虽然并非不可能,但为此目的创建一两个驱动程序是徒劳的。
关于Linux虚拟键盘和evdev,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39270679/