gpt4 book ai didi

linux - 使用 Linux 虚拟鼠标驱动程序

转载 作者:IT王子 更新时间:2023-10-29 01:05:18 27 4
gpt4 key购买 nike

我正在尝试根据 Essential Linux device Drivers 一书实现虚拟鼠标驱动程序。有一个用户空间应用程序,它生成坐标和内核模块。

参见:Virtual mouse driver and userspace application code还有一个step by step关于如何使用此驱动程序。

1.) 我编译用户空间应用程序和驱动程序的代码。

2.) 接下来我检查了 dmesg 的输出,

input: Unspecified device as /class/input/input32
Virtual Mouse Driver Initialized

3.) sysfs 节点在初始化期间正确创建(在 /sys/devices/platform/vms/coordinates 中找到)

4.) 通过检查以下内容,我知道虚拟鼠标驱动程序 (input32 ) 已链接到 event5:

$ cat /proc/bus/input/devices
I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name=""
P: Phys=
S: Sysfs=/devices/virtual/input/input32
U: Uniq=
H: Handlers=event5
B: EV=5
B: REL=3

5.) 接下来我将 GPM 服务器附加到事件接口(interface):gpm -m/dev/input/event5 -t evdev

6.) 运行用户空间应用程序为虚拟鼠标生成随机坐标并使用od -x/dev/input/event5观察生成的坐标。

什么也没有发生。为什么?还有 here作者提到 gdm 应该停止,使用 /etc/init.d/gdm stop,但是停止时我得到“没有这样的服务” gdm.

这是我构建和运行虚拟鼠标的完整脚本:

make -C /usr/src/kernel/2.6.35.6-45.fc14.i686/ SUBDIRS=$PWD modules
gcc -o app_userspace app_userspace.c
insmod app.ko
gpm -m /dev/input-event5 -t evdev
./app_userspace

生成文件:

obj-m+=app.o

内核版本:2.6.35.6


正如我之前所说,我可以通过 od 收到结果,但我是通过您的程序收到的echo 9 19 >/sys/devices/platform/virmouse/vmevent

给出:

time 1368284298.207654 type 2 code 0 value 9

时间1368284298.207657类型2码1值19

时间1368284298.207662类型0码0值0

那么现在的问题是:X11 有什么问题?我想强调的是,我在两个不同的发行版 Ubuntu 11.04 和 Fedora 14 下尝试了这段代码。


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

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

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

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

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

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

最佳答案

我花了很多时间解决这个问题,我想帮助遇到这个问题的其他人。我认为某些外部 X11 功能干扰了我的模块工作。 禁用 GDM 后,它现在工作正常(运行级别 3)。您可以在这里找到工作代码 http://fred-zone.blogspot.ru/2010/01/mouse-linux-kernel-driver.html工作发行版 ubuntu 11.04(禁用 gdm)

关于linux - 使用 Linux 虚拟鼠标驱动程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16482260/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com