虚拟鼠标驱动程序,X11 可能存在问题

虚拟鼠标驱动程序,X11 可能存在问题

我根据创建了虚拟鼠标驱动程序基本 Linux 设备驱动程序书。在我写下坐标之后echo xy > /sys/.../坐标进入 sysfs 节点,我的程序通过事件接口生成事件包/dev/input/event5(我检查过了)。此事件接口已附加到 GPMgpm -m /dev/input/event5 -t evdev。但是老鼠不动。 我在 stackoverflow 上问了这个问题 并发现 X11 配置可能存在问题。可能吗?在这种情况下什么会干扰我的驱动程序工作?我在虚拟机上使用 ubuntu 11.04。谢谢。


也许这会有所帮助:在 Xorg.0.log 中我看到以下内容:

[ 21.022] (II) 未指定输入驱动程序/标识符(忽略)

[ 272.987] (II) config/udev: 添加输入设备 (/dev/input/event5)

[ 272.987] (II) 未指定输入驱动程序/标识符(忽略)

[ 666.521](II)config/udev:添加输入设备(/dev/input/event5)

[ 666.521] (II) 未指定输入驱动程序/标识符(忽略)

答案1

通过初始化设备的名称字段并启用键位事件(BTN_MOUSE),我可以让鼠标移动。我仍在尝试找出相关事件不起作用的原因,而无需启用按键事件。

在输入设备驱动程序(即虚拟鼠标驱动程序初始化模块函数)中,我在注册输入设备之前添加了以下代码行。其余代码与书中的相同

// 设备名称

vms_input_dev->name = "虚拟鼠标";

// 启用相对事件和按钮事件

设置位(EV_REL,vms_input_dev->evbit);

设置位(EV_KEY,vms_input_dev->evbit);

设置位(BTN_LEFT,vms_input_dev->keybit);

设置位(REL_X,vms_input_dev->relbit);

设置位(REL_Y,vms_input_dev->relbit);

该代码在 ubuntu 12.04 上对我有用

相关内容