在Linux内核模块中控制鼠标指针

3
好的,问题是这样的:我需要编写一个Linux内核模块来控制鼠标光标。例如,将光标移动到给定的x/y坐标,并发送随机鼠标点击等操作。
我之所以要编写这个模块,是因为我正在开发一个使用手机作为触摸板的应用程序。由于这是我的大学项目,因此计算机端的控制器必须是一个Linux内核模块。那么,问题是,我如何从内核模块控制鼠标行为?我已经在谷歌上搜索了一段时间,但很遗憾在网络深处没有找到任何确切的答案 :(

如果这是为了你的学校,你应该自己进行研究。查看内核中输入驱动程序的源代码。同时查看你的内核中的文档目录。进行调查,尝试一些东西。(但要小心,使用虚拟机 - 内核空间的问题会很快变得糟糕。) - Mat
3个回答

3
内核不是正确的位置——内核完全不知道任何具体的东西,比如“鼠标指针”。输入层是最接近的地方,它只传输相对鼠标运动事件(例如,“有人将鼠标向左移动一英寸”)。
请查看XTEST X11扩展。它有许多与您尝试做的事情直接相关的功能。

http://www.xfree86.org/current/xtestlib.pdf


3
在设备子系统中查看是哪个设备呈现了/dev/input/mouse0。
内核输入文档中的任何内容对您有帮助吗?
请注意,典型应用程序和鼠标之间有大量库。 但是,由于您明确提到内核驱动程序,因此排除了包含X11堆栈和其他基于其上构建的项目的可能性。

0

在Linux输入子系统中黑客。您可以创建一个带有input_handler的输入模块,然后输入文件将在/sys中创建。然后编写用户程序以从/sys中的该文件读取/写入。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接