【问题标题】:Controlling mouse pointer from kernel module in linux从 linux 内核模块控制鼠标指针
【发布时间】:2011-10-31 18:47:10
【问题描述】:

好的,问题来了:我必须编写一个控制鼠标光标的 linux 内核模块。例如,将光标在屏幕上移动到给定的 x/y 坐标,发送随机鼠标点击等。

之所以要写这个,是因为我正在写一个使用手机作为触控板的应用程序。因为它是我 uni 的一个项目,所以计算机端控制器必须是 linux 内核模块。所以,问题是,如何从内核模块控制鼠标行为?我已经用谷歌搜索了一段时间,但遗憾的是,我在“网络”的深处没有找到任何结论性的东西:(

【问题讨论】:

  • 如果是为了你的学校,你应该做研究。查看内核中输入驱动程序的来源。查看内核中的文档目录。调查,尝试。 (但要小心,使用虚拟机 - 内核空间中的东西很快就会变坏。)

标签: c linux kernel kernel-module


【解决方案1】:

内核是一个错误的地方——内核完全没有意识到任何像“鼠标光标”这样具体的东西的存在。输入层尽可能接近,并且仅传输相对的鼠标运动事件(例如,“有人将鼠标向左移动了一英寸”)。

查看 XTEST X11 扩展程序。它有许多与您正在尝试做的事情直接相关的功能。

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

【讨论】:

    【解决方案2】:

    在设备子系统中四处查看以查看 /dev/input/mouse0 呈现的内容。

    kernel input documentation 有什么帮助吗?

    请注意,在典型应用程序和鼠标之间有大量的库。但是,由于您明确提到了内核驱动程序,因此排除包含 X11 堆栈和基于它构建的其他项目似乎是安全的。

    【讨论】:

      【解决方案3】:

      破解 Linux 输入子系统。您可以使用 input_handler 创建一个输入模块,然后在 /sys 中创建输入文件。然后在 /sys 中编写一个用户程序来读取/写入该文件

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-07-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-04-11
        • 2013-12-17
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多