我正在尝试根据Essential Linux device Drivers一书实现虚拟鼠标驱动程序。有一个用户空间应用程序,它生成坐标以及一个内核模块。
请参阅:虚拟鼠标驱动程序和用户空间应用程序代码以及如何使用此驱动程序的分步说明。
1.) 我编译用户空间应用程序和驱动程序的代码。
2.)接下来我检查了dmesg输出并得到了,
输入:未指定的设备为 /class/input/input32
虚拟鼠标驱动程序已初始化
3.) sysfs节点在初始化期间正确创建(参见/sys/devices/platform/vms/coordinates)
4.)通过检查以下内容,我知道虚拟鼠标驱动程序 ( input32 ) 已链接到event5 :
$ cat /proc/bus/input/devices
I: 总线=0000 供应商=0000 产品=0000 版本=0000
N: 名称=""
P: Phys=
S: Sysfs=/devices/virtual/input/input32
U: Uniq=
H:处理程序=事件5
B:EV=5
B:REL=3
5.) 接下来我将GPM服务器附加到事件接口:gpm -m /dev/input/event5 -t evdev
6.) 运行用户空间应用程序以生成虚拟鼠标的随机坐标并使用 观察生成的坐标od -x /dev/input/event5。
但什么也没发生。为什么?另外,作者在这里提到gdm应该使用/etc/init.d/gdm stop来停止,但是在停止时我得到 …