虚拟键盘

虚拟键盘

我正在尝试在我的 Linux 机器上创建一个虚拟键盘。该机器只有一个 CLI。我想填充/dev/input另一个设备(类似的东西/dev/input/event20)。我想出了如何做到这一点,mknod但不幸的是,主要和次要数字需要链接到实际设备(使得通过 C++ 无法读取和写入该设备)。如果不编写自己的键盘驱动程序,我怎样才能完成我想要做的事情呢?

答案1

您可以使用它/dev/uhid来创建自己的高压气体放电管设备。这使得不仅可以轻松地从用户空间提供键盘,还可以轻松提供鼠标、操纵杆等。新创建的 HID 设备将自动获取关联的/dev/input设备。内核源代码中有一个示例程序,samples/uhid/uhid-example.c.我认为这是最便携的方式,HID设备是高度标准化的。基本上所有 USB 键盘和鼠标都是 HID 设备。

您还可以使用/dev/uinput/dev/input/uinput(取决于您的发行版)直接创建输入层设备。参见例如这里了解详情。这需要uinput内核模块。

相关内容