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