如何在linux内核模块中为虚拟输入设备(/dev/input/js3)创建事件设备?

如何在linux内核模块中为虚拟输入设备(/dev/input/js3)创建事件设备?,linux,input,linux-kernel,kernel-module,joystick,Linux,Input,Linux Kernel,Kernel Module,Joystick,我正在编写一个linux内核模块,它接受N个real/dev/input/js#设备,并将它们作为单个/dev/input/js3设备进行代理。目前,我的模块正在创建/dev/input/js3,这很好,jstest对它很满意,但对真正的应用程序不满意。我猜(strace'd)之所以如此,是因为我的虚拟js3设备没有匹配的/dev/input/event对。如何从模块中创建一个 这是我的模块的源代码,它可能有很多问题,但大部分是有效的:这是一个示例,您可以使用 1. class_create t

我正在编写一个linux内核模块,它接受N个real/dev/input/js#设备,并将它们作为单个/dev/input/js3设备进行代理。目前,我的模块正在创建/dev/input/js3,这很好,
jstest
对它很满意,但对真正的应用程序不满意。我猜(strace'd)之所以如此,是因为我的虚拟js3设备没有匹配的/dev/input/event对。如何从模块中创建一个


这是我的模块的源代码,它可能有很多问题,但大部分是有效的:

这是一个示例,您可以使用

1. class_create to create the class specified for the device,
2. device_create to create the device node
3. cdev_init to initialize and 
4. cdev_add to add the device to the /dev list
例如,您可以参考以下链接:

您也可以参考此链接以了解更多信息